LibMusicXML  3.18
xml2brlOah.h
1 /*
2  MusicXML Library
3  Copyright (C) Grame 2006-2013
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 */
12 
13 #ifndef ___xml2brlOah___
14 #define ___xml2brlOah___
15 
16 //#include "exports.h"
17 
18 //#include "xml2lyManPageOah.h"
19 
20 #include "xml2brlOah2ManPageGenerator.h"
21 
22 
23 namespace MusicXML2
24 {
25 
26 //_______________________________________________________________________________
27 class EXP xml2brlOahHandler : public oahHandler
28 {
29  public:
30 
31  // creation
32  // ------------------------------------------------------
33 
34  static SMARTP<xml2brlOahHandler> create (
35  string executableName,
36  indentedOstream& ios);
37 
38  protected:
39 
40  // constructors/destructor
41  // ------------------------------------------------------
42 
44  string executableName,
45  indentedOstream& ios);
46 
47  virtual ~xml2brlOahHandler ();
48 
49  private:
50 
51  // initialization
52  // ------------------------------------------------------
53 
54  void initializeXml2brlOptionsHandler (
55  string executableName,
57  theOah2ManPageGenerator);
58 
59  public:
60 
61  // quiet mode
62  // ------------------------------------------------------
63 
64  void enforceOahHandlerQuietness ();
65 
66  public:
67 
68  // services
69  // ------------------------------------------------------
70 
71  void checkOptionsAndArguments ();
72 
73  public:
74 
75  // visitors
76  // ------------------------------------------------------
77 
78  virtual void acceptIn (basevisitor* v);
79  virtual void acceptOut (basevisitor* v);
80 
81  virtual void browseData (basevisitor* v);
82 
83  public:
84 
85  // print
86  // ------------------------------------------------------
87 
88  void print (ostream& os) const;
89 
90  private:
91 
92  // fields
93  // ------------------------------------------------------
94 };
96 EXP ostream& operator<< (ostream& os, const S_xml2brlOahHandler& elt);
97 
98 //______________________________________________________________________________
99 class xml2brlOah : public oahGroup
100 {
101  public:
102 
103  static SMARTP<xml2brlOah> create (
104  S_oahHandler handlerUpLink);
105 
106  public:
107 
108  // initialisation
109  // ------------------------------------------------------
110 
111  void initializeXml2brlOah ();
112 
113  protected:
114 
115  // constructors/destructor
116  // ------------------------------------------------------
117 
118  xml2brlOah (
119  S_oahHandler handlerUpLink);
120 
121  virtual ~xml2brlOah ();
122 
123  public:
124 
125  // quiet mode
126  // ------------------------------------------------------
127 
128  void enforceQuietness ();
129 
130  public:
131 
132  // consistency check
133  // ------------------------------------------------------
134 
135  void checkOptionsConsistency ();
136 
137  public:
138 
139  // services
140  // ------------------------------------------------------
141 
142  public:
143 
144  // visitors
145  // ------------------------------------------------------
146 
147  virtual void acceptIn (basevisitor* v);
148  virtual void acceptOut (basevisitor* v);
149 
150  virtual void browseData (basevisitor* v);
151 
152  public:
153 
154  // print
155  // ------------------------------------------------------
156 
157  void printXml2brlOahHelp ();
158 
159  void printXml2brlOahValues (int fieldWidth);
160 
161  public:
162 
163  // input
164  // --------------------------------------
165 
166  // output file
167  // --------------------------------------
168 
169  string fOutputFileName;
170  bool fAutoOutputFile;
171 };
173 EXP ostream& operator<< (ostream& os, const S_xml2brlOah& elt);
174 
175 EXP extern S_xml2brlOah gXml2brlOah;
176 
177 //______________________________________________________________________________
178 void initializeXml2brlOah (
179  S_oahHandler handler);
180 
181 
182 }
183 
184 
185 #endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: utilities.h:213
Definition: oahBasicTypes.h:2854
Definition: oahBasicTypes.h:2979
Definition: xml2brlOah.h:28
Definition: xml2brlOah.h:100