xref: /haiku/src/tests/apps/miniterminal/Arguments.h (revision 42244cf30eecf46a9e9e45953b0cc05870f765c1)
1*42244cf3SIngo Weinhold /*
2*42244cf3SIngo Weinhold  * Copyright 2005, Ingo Weinhold, bonefish@users.sf.net.
3*42244cf3SIngo Weinhold  * Distributed under the terms of the MIT License.
4*42244cf3SIngo Weinhold  */
5*42244cf3SIngo Weinhold 
6*42244cf3SIngo Weinhold #ifndef ARGUMENTS_H
7*42244cf3SIngo Weinhold #define ARGUMENTS_H
8*42244cf3SIngo Weinhold 
9*42244cf3SIngo Weinhold #include <Rect.h>
10*42244cf3SIngo Weinhold 
11*42244cf3SIngo Weinhold class Arguments {
12*42244cf3SIngo Weinhold public:
13*42244cf3SIngo Weinhold 	Arguments();
14*42244cf3SIngo Weinhold 	~Arguments();
15*42244cf3SIngo Weinhold 
16*42244cf3SIngo Weinhold 	void Parse(int argc, const char *const *argv);
17*42244cf3SIngo Weinhold 
18*42244cf3SIngo Weinhold 	BRect Bounds() const		{ return fBounds; }
19*42244cf3SIngo Weinhold 	bool StandardShell() const	{ return fStandardShell; }
20*42244cf3SIngo Weinhold 	void GetShellArguments(int &argc, const char *const *&argv) const;
21*42244cf3SIngo Weinhold 
22*42244cf3SIngo Weinhold private:
23*42244cf3SIngo Weinhold 	void _SetShellArguments(int argc, const char *const *argv);
24*42244cf3SIngo Weinhold 
25*42244cf3SIngo Weinhold 	BRect		fBounds;
26*42244cf3SIngo Weinhold 	bool		fStandardShell;
27*42244cf3SIngo Weinhold 	int			fShellArgumentCount;
28*42244cf3SIngo Weinhold 	const char	**fShellArguments;
29*42244cf3SIngo Weinhold };
30*42244cf3SIngo Weinhold 
31*42244cf3SIngo Weinhold 
32*42244cf3SIngo Weinhold #endif	// ARGUMENTS_H
33