1 #import <ObjFW/ObjFW.h>
5 @protocol JubCLICommand
6 @property (readonly) OFString *command;
7 @property (readonly) OFString *params;
8 @property (readonly) OFString *help;
10 - initWithCLIUI: (JubCLIUI*)ui;
11 - (void)callWithParameters: (OFArray*)parameters;
14 #define BEGINCLICOMMAND(name, com, paramsString, helpString) \
15 @interface name: OFObject<JubCLICommand> \
20 @implementation name \
21 - initWithCLIUI: (JubCLIUI*)ui \
23 self = [super init]; \
32 - (OFString*)command { return com; } \
33 - (OFString*)params { return paramsString; } \
34 - (OFString*)help { return helpString; } \
35 - (void)callWithParameters: (OFArray*)parameters
37 #define ENDCLICOMMAND @end