mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-22 01:18:36 +03:00
32 lines
726 B
Zig
32 lines
726 B
Zig
const std = @import("std");
|
|
const foundation = @import("../foundation.zig");
|
|
const c = @import("c.zig").c;
|
|
|
|
pub const Data = opaque {
|
|
pub const DESTRUCTOR_DEFAULT = c.DISPATCH_DATA_DESTRUCTOR_DEFAULT;
|
|
|
|
pub fn create(
|
|
data: []const u8,
|
|
queue: ?*anyopaque,
|
|
destructor: ?*anyopaque,
|
|
) !*Data {
|
|
return dispatch_data_create(
|
|
data.ptr,
|
|
data.len,
|
|
queue,
|
|
destructor,
|
|
) orelse return error.OutOfMemory;
|
|
}
|
|
|
|
pub fn release(data: *Data) void {
|
|
foundation.c.CFRelease(data);
|
|
}
|
|
};
|
|
|
|
extern "c" fn dispatch_data_create(
|
|
data: [*]const u8,
|
|
len: usize,
|
|
queue: ?*anyopaque,
|
|
destructor: ?*anyopaque,
|
|
) ?*Data;
|