VR-Link API Documentation for HLA 1.3
cmdLineInterface.h
Go to the documentation of this file.
1 
2 /******************************************************************************
3  *
4  * file: CmdLineInterface.h
5  *
6  * Copyright (c) 2003, Michael E. Smoot .
7  * Copyright (c) 2004, Michael E. Smoot, Daniel Aarno.
8  * All rights reverved.
9  *
10  * See the file COPYING in the top directory of this distribution for
11  * more information.
12  *
13  * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
14  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19  * DEALINGS IN THE SOFTWARE.
20  *
21  *****************************************************************************/
22 
23 #ifndef DtCmdLine_COMMANDLINE_INTERFACE_H
24 #define DtCmdLine_COMMANDLINE_INTERFACE_H
25 
29 
30 #include <string>
31 #include <vector>
32 #include <list>
33 #include <iostream>
34 #include <algorithm>
35 
36 #ifdef DtUSE_UTILITIES_NAMESPACE
37 namespace DtUSE_UTILITIES_NAMESPACE
38 {
39 #endif
40 
41 namespace DtCmdLine {
42 
43  class Arg;
44  class CmdLineOutput;
45  class XorHandler;
46 
51 
53  {
54  public:
55 
59  virtual ~CmdLineInterface() {}
60 
65  virtual void add( Arg& a )=0;
66 
71  virtual void add( Arg* a )=0;
72 
80  virtual void xorAdd( Arg& a, Arg& b )=0;
81 
87  virtual void xorAdd( std::vector<Arg*>& xors )=0;
88 
94  virtual void parse(int argc, char** argv, bool printOnError = true )=0;
95 
99  virtual CmdLineOutput* getOutput()=0;
100 
104  virtual void setOutput(CmdLineOutput* co)=0;
105 
109  virtual std::string& getVersion()=0;
110 
114  virtual std::string& getProgramName()=0;
115 
119  virtual std::list<Arg*>& getArgList()=0;
120 
124  virtual XorHandler& getXorHandler()=0;
125 
129  virtual char getDelimiter()=0;
130 
134  virtual std::string& getMessage()=0;
135  };
136 
137 } //namespace
138 
139 #ifdef DtUSE_UTILITIES_NAMESPACE
140 }
141 #endif
142 
143 #endif

Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)