Documents > BPS V2 C++ API
bpscmdlineparser.h
Go to the documentation of this file.
00001 
00004 #ifndef BPSCMDLINEPARSER_H
00005 #define BPSCMDLINEPARSER_H
00006 
00007 #include "bpscore_global.h"
00008 #include <QObject>
00009 #include <QScriptable>
00010 #include <QString>
00011 #include <QStringList>
00012 
00095 class BPSCORE_EXPORT BpsCmdlineParser : public QObject, protected QScriptable
00096 {
00097     Q_OBJECT
00098     BPS_PRIVATE(BpsCmdlineParser)
00099 
00100 public:
00101 
00106     BpsCmdlineParser(QObject* aParent = 0);
00107 
00108     virtual ~BpsCmdlineParser();
00109 
00110 public slots:
00111 
00125     BpsCmdlineParser& setDescription(const QString& aDescription);
00126 
00132     BpsCmdlineParser& setProgram(const QString& aName);
00133 
00143     BpsCmdlineParser& addMandatory(const QString& aParam);
00144 
00155     BpsCmdlineParser& addOptional(const QString& aParam);
00156 
00166     BpsCmdlineParser& addOptionals(const QString& aParam);
00167 
00179     BpsCmdlineParser& addSwitch(QChar aKey, const QString& aName, const QString& aInfo);
00180 
00194     BpsCmdlineParser& addHelpSwitch(QChar aKey, const QString& aName, const QString& aInfo);
00195 
00208     BpsCmdlineParser& addOption(QChar aKey, const QString& aName, const QString& aParam, const QString& aInfo);
00209 
00216     BpsCmdlineParser& parse();
00217 
00222     QString program() const;
00223 
00229     QString mandatory(const QString& aParam) const;
00230 
00237     QString optional(const QString& aParam) const;
00238 
00244     QStringList optionals() const;
00245 
00252     bool switchState(QChar aKey, const QString& aName = QString()) const;
00253 
00261     QString option(QChar aKey, const QString& aName = QString()) const;
00262 
00300     QString help(int aWidth = 79) const;
00301 
00302 };
00303 
00304 #endif // BPSCMDLINEPARSER_H