os_darwin.m raw
1 // SPDX-License-Identifier: Unlicense OR MIT
2
3 @import Dispatch;
4 @import Foundation;
5
6 #include "_cgo_export.h"
7
8 void gio_wakeupMainThread(void) {
9 dispatch_async(dispatch_get_main_queue(), ^{
10 gio_dispatchMainFuncs();
11 });
12 }
13
14 bool gio_isMainThread() {
15 return [NSThread isMainThread];
16 }
17
18 NSUInteger gio_nsstringLength(CFTypeRef cstr) {
19 NSString *str = (__bridge NSString *)cstr;
20 return [str length];
21 }
22
23 void gio_nsstringGetCharacters(CFTypeRef cstr, unichar *chars, NSUInteger loc, NSUInteger length) {
24 NSString *str = (__bridge NSString *)cstr;
25 [str getCharacters:chars range:NSMakeRange(loc, length)];
26 }
27