diff options
Diffstat (limited to 'core/sys/darwin/Foundation/NSNotification.odin')
| -rw-r--r-- | core/sys/darwin/Foundation/NSNotification.odin | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/core/sys/darwin/Foundation/NSNotification.odin b/core/sys/darwin/Foundation/NSNotification.odin new file mode 100644 index 000000000..f766d0cab --- /dev/null +++ b/core/sys/darwin/Foundation/NSNotification.odin @@ -0,0 +1,60 @@ +package objc_Foundation + +@(objc_class="NSNotification") +Notification :: struct{using _: Object} + + +@(objc_type=Notification, objc_name="alloc", objc_is_class_method=true) +Notification_alloc :: proc "c" () -> ^Notification { + return msgSend(^Notification, Notification, "alloc") +} + +@(objc_type=Notification, objc_name="init") +Notification_init :: proc "c" (self: ^Notification) -> ^Notification { + return msgSend(^Notification, self, "init") +} + +@(objc_type=Notification, objc_name="name") +Notification_name :: proc "c" (self: ^Notification) -> ^String { + return msgSend(^String, self, "name") +} + +@(objc_type=Notification, objc_name="object") +Notification_object :: proc "c" (self: ^Notification) -> ^Object { + return msgSend(^Object, self, "object") +} + +@(objc_type=Notification, objc_name="userInfo") +Notification_userInfo :: proc "c" (self: ^Notification) -> ^Dictionary { + return msgSend(^Dictionary, self, "userInfo") +} + +NotificationName :: ^String + +@(objc_class="NSNotificationCenter") +NotificationCenter :: struct{using _: Object} + + +@(objc_type=NotificationCenter, objc_name="alloc", objc_is_class_method=true) +NotificationCenter_alloc :: proc "c" () -> ^NotificationCenter { + return msgSend(^NotificationCenter, NotificationCenter, "alloc") +} + +@(objc_type=NotificationCenter, objc_name="init") +NotificationCenter_init :: proc "c" (self: ^NotificationCenter) -> ^NotificationCenter { + return msgSend(^NotificationCenter, self, "init") +} + +@(objc_type=NotificationCenter, objc_name="defaultCenter", objc_is_class_method=true) +NotificationCenter_defaultCenter :: proc "c" () -> ^NotificationCenter { + return msgSend(^NotificationCenter, NotificationCenter, "defaultCenter") +} + +@(objc_type=NotificationCenter, objc_name="addObserver") +NotificationCenter_addObserverName :: proc "c" (self: ^NotificationCenter, name: NotificationName, pObj: ^Object, pQueue: rawptr, block: ^Block) -> ^Object { + return msgSend(^Object, self, "addObserverName:object:queue:block:", name, pObj, pQueue, block) +} +@(objc_type=NotificationCenter, objc_name="removeObserver") +NotificationCenter_removeObserver :: proc "c" (self: ^NotificationCenter, pObserver: ^Object) { + msgSend(nil, self, "removeObserver:", pObserver) +}
\ No newline at end of file |