]> git.saurik.com Git - apple/objc4.git/blobdiff - runtime/Protocol.h
objc4-646.tar.gz
[apple/objc4.git] / runtime / Protocol.h
index 1b133b8af1d893e94f95ff72193d4515c8f2bf6a..0e78850d1c81d33fba71f228f261f176aebb0e30 100644 (file)
 #ifndef _OBJC_PROTOCOL_H_
 #define _OBJC_PROTOCOL_H_
 
-#include <objc/Object.h>
+#if !__OBJC__
+
+// typedef Protocol is here:
+#include <objc/runtime.h>
+
+
+#elif __OBJC2__
+
+#include <objc/NSObject.h>
+
+// All methods of class Protocol are unavailable. 
+// Use the functions in objc/runtime.h instead.
 
-/* Warning: All of these methods will disappear in 64-bit. */
+__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0)
+@interface Protocol : NSObject
+@end
+
+
+#else
 
+#include <objc/Object.h>
+
+__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0)
 @interface Protocol : Object
 {
 @private
 
 /* Looking up information specific to a protocol */
 
-- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
-- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER;
+- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel
+    __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5, __IPHONE_2_0,__IPHONE_2_0);
+- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel 
+    __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5, __IPHONE_2_0,__IPHONE_2_0);
 
 @end
 
+#endif
+
 #endif /* _OBJC_PROTOCOL_H_ */