xref: /haiku/src/apps/terminal/Arguments.h (revision f7c51167566c93a4f41a525fcc2c06fa96677c29)
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