#ifndef PARADOX_OBJECT_H #define PARADOX_OBJECT_H #include #include @interface PXObject { void* dummy; // it doesn't work without this so don't touch it } /* init and lifecycle */ + (instancetype)alloc; + (instancetype)new; - (instancetype)retain; - (instancetype)init; - (void)dealloc; - (void)release; - (instancetype)autorelease; /* object introspection */ - (Class)class; - (Class)superclass; + (Class)class; + (Class)superclass; + (const char *)className; // CHANGE TO (PXString *) WHEN IMPLEMENTED - (const char *)className; // CHANGE TO (PXString *) WHEN IMPLEMENTED - (BOOL)isKindOfClass:(Class)class; - (BOOL)isMemberOfClass:(Class)class; /* selector stuff */ - (BOOL)respondsToSelector:(SEL)selector; #ifdef PARADOX_DEBUG_FEATURES + (instancetype)allocDebug; - (void)healthCheck; #endif @end #endif