1/* Contributed by Nicola Pero - Fri Mar 9 21:35:47 CET 2001 */ 2#include <objc/objc.h> 3#include <objc/Object.h> 4 5/* Tests defining a protocol and a class adopting it */ 6 7@protocol Enabling 8- (BOOL) isEnabled; 9- (void) setEnabled: (BOOL)flag; 10@end 11 12@interface Feature : Object <Enabling> 13{ 14 const char *name; 15 BOOL isEnabled; 16} 17@end 18 19@implementation Feature 20- (BOOL) isEnabled 21{ 22 return isEnabled; 23} 24- (void) setEnabled: (BOOL)flag 25{ 26 isEnabled = flag; 27} 28@end 29 30int main (void) 31{ 32 Feature *object; 33 34 object = [Feature new]; 35 36 [object setEnabled: YES]; 37 if (![object isEnabled]) 38 { 39 abort (); 40 } 41 42 return 0; 43} 44 45