mirror of
				https://github.com/hyperion-project/hyperion.ng.git
				synced 2025-03-01 10:33:28 +00:00 
			
		
		
		
	* Replaced getoptplusplus with QCommandLineParser. Fixes #39 * enabling C++11 if possible * enabling C++11 if possible * fixed gcc compilation issues * fixed linux builds and improved os x build * trying to fix dispmanx * trying to fix dispmanx * simplified travis build script * fixed argumentparser default values * rewrote validator system and made sure default arguments are processed correctly * rewrote validator system and made sure default arguments are processed correctly * fixed bool vs. regular options * oops... removing debug code * reverted screenshot api change
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef HYPERION_OPTION_H
 | 
						|
#define HYPERION_OPTION_H
 | 
						|
 | 
						|
#include <QCommandLineOption>
 | 
						|
#include <QCommandLineParser>
 | 
						|
 | 
						|
namespace commandline
 | 
						|
{
 | 
						|
 | 
						|
class Parser;
 | 
						|
 | 
						|
/* Note, this class and all it's derivatives store the validated results for caching. This means that unlike the
 | 
						|
 * regular QCommandLineOption it is _not_ idempotent! */
 | 
						|
class Option: public QCommandLineOption
 | 
						|
{
 | 
						|
protected:
 | 
						|
    QString _error;
 | 
						|
public:
 | 
						|
    Option(const QString &name,
 | 
						|
           const QString &description = QString(),
 | 
						|
           const QString &valueName = QString::null,
 | 
						|
           const QString &defaultValue = QString()
 | 
						|
    )
 | 
						|
        : QCommandLineOption(name, description, valueName, defaultValue)
 | 
						|
    {}
 | 
						|
    Option(const QStringList &names,
 | 
						|
           const QString &description = QString(),
 | 
						|
           const QString &valueName = QString::null,
 | 
						|
           const QString &defaultValue = QString()
 | 
						|
    )
 | 
						|
        : QCommandLineOption(names, description, valueName, defaultValue)
 | 
						|
    {}
 | 
						|
    Option(const QCommandLineOption &other)
 | 
						|
        : QCommandLineOption(other)
 | 
						|
    {}
 | 
						|
 | 
						|
    virtual bool validate(Parser &parser, QString &value);
 | 
						|
    QString name()
 | 
						|
    { return this->names().last();}
 | 
						|
    QString getError()
 | 
						|
    { return this->_error; }
 | 
						|
    QString value(Parser &parser);
 | 
						|
    std::string getStdString(Parser &parser);
 | 
						|
    std::wstring getStdWString(Parser &parser);
 | 
						|
};
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
#endif //HYPERION_OPTION_H
 |