Add NSApplicationTerminateReply and registerClassPair to objc stdlib

The missing registerClassPair function is required to register a class and make it active with objc after allocating with the existing allocateClassPair function.
This commit is contained in:
Glenn
2025-11-26 01:36:58 +00:00
committed by Christoffer Lerno
parent 4f3b6f922d
commit ab1efdda73
3 changed files with 21 additions and 1 deletions

View File

@@ -70,6 +70,7 @@ extern fn bool class_addMethod(ObjcClass cls, ObjcSelector name, void* imp, ZStr
extern fn ObjcIvar getInstanceVariable(ObjcId id, ZString name, void* outValue) @cname("object_getInstanceVariable");
extern fn ObjcIvar setInstanceVariable(ObjcId id, ZString name, void* value) @cname("object_setInstanceVariable");
extern fn ObjcClass allocateClassPair(ObjcClass cls, ZString name, uint extraBytes) @cname("objc_allocateClassPair");
extern fn void registerClassPair(ObjcClass cls) @cname("objc_registerClassPair");
module std::os::macos::objc::ns @if(env::DARWIN) @link(env::DARWIN, "CoreFoundation.framework");
import std::os::macos::cf;
@@ -407,3 +408,9 @@ enum NSStatusItemLength : const inline CGFloat
SQUARE = -2.0
}
enum NSApplicationTerminateReply : const inline NSUInteger
{
CANCEL = 0,
NOW = 1,
LATER = 2,
}