diff options
author | Christian Linke <christian.linke@bmw.de> | 2015-04-15 19:05:53 +0200 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2015-04-15 19:05:53 +0200 |
commit | 64944e1fa72f346f1161da60c033de2e10513bea (patch) | |
tree | 12f668bf4024365311dd46bd3dc904f57e00f8fa /tclap-1.2.1/include/tclap/HelpVisitor.h | |
parent | a0b06e2a9b466cfcc6f6810a66d9522a56872cbb (diff) | |
download | audiomanager-64944e1fa72f346f1161da60c033de2e10513bea.tar.gz |
* implemend command line options for plugins. rework of command line
* add tclap as template library
* implement bug 344
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'tclap-1.2.1/include/tclap/HelpVisitor.h')
-rw-r--r-- | tclap-1.2.1/include/tclap/HelpVisitor.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/tclap-1.2.1/include/tclap/HelpVisitor.h b/tclap-1.2.1/include/tclap/HelpVisitor.h new file mode 100644 index 0000000..cc3bd07 --- /dev/null +++ b/tclap-1.2.1/include/tclap/HelpVisitor.h @@ -0,0 +1,76 @@ + +/****************************************************************************** + * + * file: HelpVisitor.h + * + * Copyright (c) 2003, Michael E. Smoot . + * All rights reverved. + * + * See the file COPYING in the top directory of this distribution for + * more information. + * + * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + *****************************************************************************/ + +#ifndef TCLAP_HELP_VISITOR_H +#define TCLAP_HELP_VISITOR_H + +#include <tclap/CmdLineInterface.h> +#include <tclap/CmdLineOutput.h> +#include <tclap/Visitor.h> + +namespace TCLAP { + +/** + * A Visitor object that calls the usage method of the given CmdLineOutput + * object for the specified CmdLine object. + */ +class HelpVisitor: public Visitor +{ + private: + /** + * Prevent accidental copying. + */ + HelpVisitor(const HelpVisitor& rhs); + HelpVisitor& operator=(const HelpVisitor& rhs); + + protected: + + /** + * The CmdLine the output will be generated for. + */ + CmdLineInterface* _cmd; + + /** + * The output object. + */ + CmdLineOutput** _out; + + public: + + /** + * Constructor. + * \param cmd - The CmdLine the output will be generated for. + * \param out - The type of output. + */ + HelpVisitor(CmdLineInterface* cmd, CmdLineOutput** out) + : Visitor(), _cmd( cmd ), _out( out ) { } + + /** + * Calls the usage method of the CmdLineOutput for the + * specified CmdLine. + */ + void visit() { (*_out)->usage(*_cmd); throw ExitException(0); } + +}; + +} + +#endif |