diff options
Diffstat (limited to 'Source/Library/Userland/App/ShellApp.proto.h')
-rw-r--r-- | Source/Library/Userland/App/ShellApp.proto.h | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/Source/Library/Userland/App/ShellApp.proto.h b/Source/Library/Userland/App/ShellApp.proto.h index 846f2b1..5575112 100644 --- a/Source/Library/Userland/App/ShellApp.proto.h +++ b/Source/Library/Userland/App/ShellApp.proto.h @@ -4,14 +4,35 @@ #include <App/Application.proto.h> #include <Binding/VirtualTerminal.class.h> +#define FT_BOOL 1 +#define FT_STR 2 +#define FT_INT 3 + +struct flag_t { + WChar sName; + String lName, desc; + int type; + String strVal; + int intVal; + bool boolVal; +}; + class ShellApp : public Application { public: VirtualTerminal invt, outvt; - - ShellApp() : Application(), invt(VirtualTerminal::getIn()), outvt(VirtualTerminal::getOut()) { - if (!invt.valid()) exit(1); - if (!outvt.valid()) exit(2); - } + Vector<String> args; + Vector<flag_t> flags; + String appName, appDesc; + ShellApp(String name, String desc); + + virtual void init(); + + //Flag handling + flag_t* getFlag(String name); + void addFlag(WChar sName, String lName, String desc, int type = FT_BOOL, String deflt = ""); + String sFlag(String name); + int iFlag(String name); + bool bFlag(String name); }; #endif |