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
23namespace MusicXML2
24{
25
26//_______________________________________________________________________________
27class 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};
96EXP ostream& operator<< (ostream& os, const S_xml2brlOahHandler& elt);
97
98//______________________________________________________________________________
99class 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};
173EXP ostream& operator<< (ostream& os, const S_xml2brlOah& elt);
174
175EXP extern S_xml2brlOah gXml2brlOah;
176
177//______________________________________________________________________________
178void 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