#ifndef _OBJC_PROTOCOL_H_
#define _OBJC_PROTOCOL_H_
#if !__OBJC__
#include <objc/runtime.h>
#elif __OBJC2__
#include <objc/NSObject.h>
OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0)
@interface Protocol : NSObject
@end
#else
#include <objc/Object.h>
OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0)
@interface Protocol : Object
{
@private
char *protocol_name OBJC2_UNAVAILABLE;
struct objc_protocol_list *protocol_list OBJC2_UNAVAILABLE;
struct objc_method_description_list *instance_methods OBJC2_UNAVAILABLE;
struct objc_method_description_list *class_methods OBJC2_UNAVAILABLE;
}
- (const char *)name OBJC2_UNAVAILABLE;
- (BOOL) conformsTo: (Protocol *)aProtocolObject OBJC2_UNAVAILABLE;
- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel
__OSX_DEPRECATED(10.0, 10.5, "use protocol_getMethodDescription instead")
__IOS_DEPRECATED(2.0, 2.0, "use protocol_getMethodDescription instead")
__TVOS_DEPRECATED(9.0, 9.0, "use protocol_getMethodDescription instead")
__WATCHOS_DEPRECATED(1.0, 1.0, "use protocol_getMethodDescription instead")
#ifndef __APPLE_BLEACH_SDK__
__BRIDGEOS_DEPRECATED(2.0, 2.0, "use protocol_getMethodDescription instead")
#endif
;
- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel
__OSX_DEPRECATED(10.0, 10.5, "use protocol_getMethodDescription instead")
__IOS_DEPRECATED(2.0, 2.0, "use protocol_getMethodDescription instead")
__TVOS_DEPRECATED(9.0, 9.0, "use protocol_getMethodDescription instead")
__WATCHOS_DEPRECATED(1.0, 1.0, "use protocol_getMethodDescription instead")
#ifndef __APPLE_BLEACH_SDK__
__BRIDGEOS_DEPRECATED(2.0, 2.0, "use protocol_getMethodDescription instead")
#endif
;
@end
#endif
#endif