1bb4632f1SStefano Ceccherini /* 2bb4632f1SStefano Ceccherini * Copyright 2005, Ingo Weinhold, bonefish@users.sf.net. 3bb4632f1SStefano Ceccherini * Distributed under the terms of the MIT License. 4bb4632f1SStefano Ceccherini */ 5bb4632f1SStefano Ceccherini 6bb4632f1SStefano Ceccherini #ifndef ARGUMENTS_H 7bb4632f1SStefano Ceccherini #define ARGUMENTS_H 8bb4632f1SStefano Ceccherini 9bb4632f1SStefano Ceccherini #include <Rect.h> 10bb4632f1SStefano Ceccherini 11bb4632f1SStefano Ceccherini class Arguments { 12bb4632f1SStefano Ceccherini public: 13*f7c51167SStefano Ceccherini Arguments(int defaultArgcNum, const char *const *defaultArgv); 14bb4632f1SStefano Ceccherini ~Arguments(); 15bb4632f1SStefano Ceccherini 16bb4632f1SStefano Ceccherini void Parse(int argc, const char *const *argv); 17bb4632f1SStefano Ceccherini 18bb4632f1SStefano Ceccherini BRect Bounds() const { return fBounds; } 19bb4632f1SStefano Ceccherini const char *Title() const { return fTitle; } 20bb4632f1SStefano Ceccherini bool StandardShell() const { return fStandardShell; } 21bb4632f1SStefano Ceccherini bool FullScreen() const { return fFullScreen; } 22bb4632f1SStefano Ceccherini bool UsageRequested() const { return fUsageRequested; } 23bb4632f1SStefano Ceccherini void GetShellArguments(int &argc, const char *const *&argv) const; 24bb4632f1SStefano Ceccherini 25bb4632f1SStefano Ceccherini private: 26bb4632f1SStefano Ceccherini void _SetShellArguments(int argc, const char *const *argv); 27bb4632f1SStefano Ceccherini 28bb4632f1SStefano Ceccherini bool fUsageRequested; 29bb4632f1SStefano Ceccherini BRect fBounds; 30bb4632f1SStefano Ceccherini bool fStandardShell; 31bb4632f1SStefano Ceccherini bool fFullScreen; 32bb4632f1SStefano Ceccherini int fShellArgumentCount; 33bb4632f1SStefano Ceccherini const char **fShellArguments; 34bb4632f1SStefano Ceccherini const char *fTitle; 35bb4632f1SStefano Ceccherini }; 36bb4632f1SStefano Ceccherini 37bb4632f1SStefano Ceccherini 38bb4632f1SStefano Ceccherini #endif // ARGUMENTS_H 39