LibMusicXML  3.18
xml2lyManPageOah.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 ___xml2lyManPageOah___
14 #define ___xml2lyManPageOah___
15 
16 #include "oahVisitor.h"
17 
18 #include "xml2lyOah2ManPageGenerator.h"
19 
20 
21 namespace MusicXML2
22 {
23 
24 //______________________________________________________________________________
26 {
27  public:
28 
29  // creation
30  // ------------------------------------------------------
31 
32  static SMARTP<xml2lyManPageGenerateAtom> create (
33  string shortName,
34  string longName,
35  string description,
36  S_oahVisitor theOahVisitor);
37 
38  protected:
39 
40  // constructors/destructor
41  // ------------------------------------------------------
42 
44  string shortName,
45  string longName,
46  string description,
47  S_oahVisitor theOahVisitor);
48 
49  virtual ~xml2lyManPageGenerateAtom ();
50 
51  public:
52 
53  // set and get
54  // ------------------------------------------------------
55 
56  public:
57 
58  // public services
59  // ------------------------------------------------------
60 
61  S_oahValuedAtom handleOptionUnderName (
62  string optionName,
63  ostream& os);
64 
65  public:
66 
67  // visitors
68  // ------------------------------------------------------
69 
70  virtual void acceptIn (basevisitor* v);
71  virtual void acceptOut (basevisitor* v);
72 
73  virtual void browseData (basevisitor* v);
74 
75  public:
76 
77  // print
78  // ------------------------------------------------------
79 
80  void print (ostream& os) const;
81 
82  void printAtomOptionsValues (
83  ostream& os,
84  int valueFieldWidth) const;
85 
86  private:
87 
88  // private services
89  // ------------------------------------------------------
90 
91  void generateManPageData (ostream& os) const;
92 
93  private:
94 
95  // fields
96  // --------------------------------------
97 
98  S_oahVisitor fOahVisitor;
99 };
101 EXP ostream& operator<< (ostream& os, const S_xml2lyManPageGenerateAtom& elt);
102 
103 //______________________________________________________________________________
105 {
106  public:
107 
108  // creation
109  // ------------------------------------------------------
110 
111  static SMARTP<xml2lyManPageOah> create (
112  S_oahHandler handlerUpLink,
113  S_oahVisitor theOah2ManPageGenerator);
114 
115  SMARTP<xml2lyManPageOah> createCloneWithDetailedTrace ();
116 
117  public:
118 
119  // initialisation
120  // ------------------------------------------------------
121 
122  void initializeXml2lyManPageOah (
123  bool boolOptionsInitialValue,
125  theOah2ManPageGenerator);
126 
127  public:
128 
129  // constructors/destructor
130  // ------------------------------------------------------
131 
133  S_oahHandler handlerUpLink,
134  S_oahVisitor theOah2ManPageGenerator);
135 
136  virtual ~xml2lyManPageOah ();
137 
138  public:
139 
140  // set and get
141  // ------------------------------------------------------
142 
143  public:
144 
145  // quiet mode
146  // ------------------------------------------------------
147 
148  void enforceQuietness ();
149 
150  public:
151 
152  // consistency check
153  // ------------------------------------------------------
154 
155  virtual void checkOptionsConsistency ();
156 
157  public:
158 
159  // public services
160  // ------------------------------------------------------
161 
162  private:
163 
164  // private services
165  // ------------------------------------------------------
166 
167  void initializeManPageGenerateOptions (
168  bool boolOptionsInitialValue,
170  theOah2ManPageGenerator);
171 
172 #ifdef TRACE_OAH
173  void initializeManPageTraceOah (
174  bool boolOptionsInitialValue);
175 #endif
176 
177  public:
178 
179  // visitors
180  // ------------------------------------------------------
181 
182  virtual void acceptIn (basevisitor* v);
183  virtual void acceptOut (basevisitor* v);
184 
185  virtual void browseData (basevisitor* v);
186 
187  public:
188 
189  // print
190  // ------------------------------------------------------
191 
192  void printManPageOahHelp ();
193 
194  void printManPageOahValues (int fieldWidth);
195 
196  private:
197 
198  // fields
199  // --------------------------------------
200 
201  S_oahVisitor fOahVisitor;
202 };
204 EXP ostream& operator<< (ostream& os, const S_xml2lyManPageOah& elt);
205 
206 EXP extern S_xml2lyManPageOah gxml2lyManPageOah;
207 EXP extern S_xml2lyManPageOah gxml2lyManPageOahUserChoices;
208 EXP extern S_xml2lyManPageOah gxml2lyManPageOahWithDetailedTrace;
209 
210 //______________________________________________________________________________
211 EXP void initializeXml2lyManPageOahHandling (
212  S_oahHandler handler,
213  S_oahVisitor theOah2ManPageGenerator);
214 
215 
216 }
217 
218 
219 #endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: oahBasicTypes.h:59
Definition: oahBasicTypes.h:2854
Definition: xml2lyManPageOah.h:26
Definition: xml2lyManPageOah.h:105