2004-11-11 00:34:00 +00:00
|
|
|
#ifndef __ruamoko_Protocol_h
|
|
|
|
#define __ruamoko_Protocol_h
|
|
|
|
|
|
|
|
#include "Object.h"
|
|
|
|
|
|
|
|
struct obj_method_description {
|
|
|
|
string name;
|
|
|
|
string types;
|
|
|
|
};
|
|
|
|
|
|
|
|
@interface Protocol : Object
|
|
|
|
{
|
|
|
|
@private
|
|
|
|
string protocol_name;
|
2011-02-07 13:16:16 +00:00
|
|
|
struct obj_protocol_list *protocol_list;
|
|
|
|
struct obj_method_description_list *instance_methods, *class_methods;
|
2004-11-11 00:34:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
- (string) name;
|
2011-02-07 13:16:16 +00:00
|
|
|
- (BOOL) conformsTo: (Protocol *)aProtocolObject;
|
|
|
|
- (struct obj_method_description *) descriptionForInstanceMethod: (SEL)aSel;
|
|
|
|
- (struct obj_method_description *) descriptionForClassMethod: (SEL)aSel;
|
2004-11-11 00:34:00 +00:00
|
|
|
@end
|
|
|
|
|
|
|
|
#endif//__ruamoko_Protocol_h
|