diff options
Diffstat (limited to 'vendor/libghostty-vt/pkg/macos/dispatch/data.zig')
| -rw-r--r-- | vendor/libghostty-vt/pkg/macos/dispatch/data.zig | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/pkg/macos/dispatch/data.zig b/vendor/libghostty-vt/pkg/macos/dispatch/data.zig new file mode 100644 index 00000000..28df24b7 --- /dev/null +++ b/vendor/libghostty-vt/pkg/macos/dispatch/data.zig @@ -0,0 +1,31 @@ +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; |
