mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
36 lines
794 B
C++
36 lines
794 B
C++
#ifndef CLIB_PROGRAM_MAIN_H
|
|
#define CLIB_PROGRAM_MAIN_H
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace Pol
|
|
{
|
|
namespace Clib
|
|
{
|
|
class ProgramMain
|
|
{
|
|
public:
|
|
ProgramMain();
|
|
virtual ~ProgramMain();
|
|
|
|
void start( int argc, char* argv[] );
|
|
|
|
protected:
|
|
virtual int main() = 0;
|
|
virtual void showHelp() = 0;
|
|
|
|
const std::vector<std::string>& programArgs() const;
|
|
bool programArgsFind( const std::string& filter, std::string* rest = nullptr ) const;
|
|
std::string programArgsFindEquals( const std::string& filter, std::string defaultVal ) const;
|
|
int programArgsFindEquals( const std::string& filter, int defaultVal, bool hexVal ) const;
|
|
|
|
private:
|
|
std::vector<std::string> m_programArguments;
|
|
};
|
|
}
|
|
} // namespaces
|
|
|
|
#define PROG_MAIN Pol::Clib::ProgramMain
|
|
|
|
#endif // CLIB_PROGRAM_MAIN_H
|