haiku/src/apps/terminal/Arguments.h

48 lines
1.2 KiB
C++

/*
* Copyright 2005-2018, Haiku, Inc. All rights reserved.
* Copyright 2005, Ingo Weinhold, <bonefish@users.sf.net>
*
* Distributed under the terms of the MIT License.
*
* Authors:
* Jeremiah Bailey, <jjbailey@gmail.com>
* Ingo Weinhold, <bonefish@users.sf.net>
*/
#ifndef ARGUMENTS_H
#define ARGUMENTS_H
#include <Rect.h>
class Arguments {
public:
Arguments(int defaultArgcNum, const char* const* defaultArgv);
~Arguments();
void Parse(int argc, const char* const* argv);
BRect Bounds() const { return fBounds; }
const char* Title() const { return fTitle; }
const char* WorkingDir() const { return fWorkingDirectory; }
bool StandardShell() const { return fStandardShell; }
bool FullScreen() const { return fFullScreen; }
bool UsageRequested() const { return fUsageRequested; }
void GetShellArguments(int& argc, const char* const*& argv) const;
private:
void _SetShellArguments(int argc, const char* const* argv);
bool fUsageRequested;
BRect fBounds;
bool fStandardShell;
bool fFullScreen;
int fShellArgumentCount;
const char** fShellArguments;
const char* fTitle;
const char* fWorkingDirectory;
};
#endif // ARGUMENTS_H