! Copyright (C) 2006, 2007 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: alien.syntax ;
+USING: alien.c-types alien.syntax classes.struct ;
IN: cocoa.runtime
TYPEDEF: void* SEL
TYPEDEF: void* id
-FUNCTION: char* sel_getName ( SEL aSelector ) ;
+FUNCTION: c-string sel_getName ( SEL aSelector ) ;
FUNCTION: char sel_isMapped ( SEL aSelector ) ;
-FUNCTION: SEL sel_registerName ( char* str ) ;
+FUNCTION: SEL sel_registerName ( c-string str ) ;
TYPEDEF: void* Class
TYPEDEF: void* Method
TYPEDEF: void* Protocol
-C-STRUCT: objc-super
- { "id" "receiver" }
- { "Class" "class" } ;
+STRUCT: objc-super
+ { receiver id }
+ { class Class } ;
-: CLS_CLASS HEX: 1 ;
-: CLS_META HEX: 2 ;
-: CLS_INITIALIZED HEX: 4 ;
-: CLS_POSING HEX: 8 ;
-: CLS_MAPPED HEX: 10 ;
-: CLS_FLUSH_CACHE HEX: 20 ;
-: CLS_GROW_CACHE HEX: 40 ;
-: CLS_NEED_BIND HEX: 80 ;
-: CLS_METHOD_ARRAY HEX: 100 ;
+CONSTANT: CLS_CLASS 0x1
+CONSTANT: CLS_META 0x2
+CONSTANT: CLS_INITIALIZED 0x4
+CONSTANT: CLS_POSING 0x8
+CONSTANT: CLS_MAPPED 0x10
+CONSTANT: CLS_FLUSH_CACHE 0x20
+CONSTANT: CLS_GROW_CACHE 0x40
+CONSTANT: CLS_NEED_BIND 0x80
+CONSTANT: CLS_METHOD_ARRAY 0x100
FUNCTION: int objc_getClassList ( void* buffer, int bufferLen ) ;
-FUNCTION: Class objc_getClass ( char* class ) ;
+FUNCTION: Class objc_getClass ( c-string class ) ;
-FUNCTION: Class objc_getMetaClass ( char* class ) ;
+FUNCTION: Class objc_getMetaClass ( c-string class ) ;
-FUNCTION: Protocol objc_getProtocol ( char* class ) ;
+FUNCTION: Protocol objc_getProtocol ( c-string class ) ;
-FUNCTION: Class objc_allocateClassPair ( Class superclass, char* name, size_t extraBytes ) ;
+FUNCTION: Class objc_allocateClassPair ( Class superclass, c-string name, size_t extraBytes ) ;
FUNCTION: void objc_registerClassPair ( Class cls ) ;
FUNCTION: id class_createInstance ( Class class, uint additionalByteCount ) ;
FUNCTION: Class class_getSuperclass ( Class cls ) ;
-FUNCTION: char* class_getName ( Class cls ) ;
+FUNCTION: c-string class_getName ( Class cls ) ;
FUNCTION: char class_addMethod ( Class class, SEL name, void* imp, void* types ) ;
FUNCTION: uint method_getNumberOfArguments ( Method method ) ;
-FUNCTION: uint method_getSizeOfArguments ( Method method ) ;
-
-FUNCTION: uint method_getArgumentInfo ( Method method, int argIndex, char** type, int* offset ) ;
-
FUNCTION: void* method_copyReturnType ( Method method ) ;
FUNCTION: void* method_copyArgumentType ( Method method, uint index ) ;