libbbb  1.2.1
Groups common code used in some applications and libraries.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
markup.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
12 
13 
14  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15  Please read COPYING and README files in root folder
16  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 */
18 /* ------------------------------------------------------------------------- */
19 /* ========================================================================= */
20 #ifndef __MARKUP_INC__
21 #define __MARKUP_INC__
22 //
23 //
24 //
25 //
26 /* INCLUDES ------------------------------------------------------------ */
27 
28 #include <libbbb/libbbb.h>
29 #include <QMap>
30 #include <QString>
31 #include <QtScript/QtScript>
32 
33 /* INCLUDES ============================================================ */
34 //
35 //
36 //
37 //
38 /* DEFINITIONS --------------------------------------------------------- */
39 
40 namespace bbb {
41 
42 /* DEFINITIONS ========================================================= */
43 //
44 //
45 //
46 //
47 /* CLASS --------------------------------------------------------------- */
48 
53 class
54  BBBSHARED_EXPORT
55  Markup : public QScriptEngine {
56 
57  //
58  //
59  //
60  //
61  /* DEFINITIONS ----------------------------------------------------- */
62 
63 public:
64 
66  #define MARKUP_OPENING "{{"
67 
69  #define MARKUP_CLOSING "}}"
70 
71 
73  #define MARKUP_OPENING_PRINT "{%"
74 
76  #define MARKUP_CLOSING_PRINT "%}"
77 
78 
79  /* DEFINITIONS ===================================================== */
80  //
81  //
82  //
83  //
84  /* DATA ------------------------------------------------------------ */
85 
86 protected:
87 
89  QString s_temp_output_;
90 
91  /* DATA ============================================================ */
92  //
93  //
94  //
95  //
96  /* FUNCTIONS ------------------------------------------------------- */
97 
98 public:
99 
100 
102  Markup ( void );
103 
105  virtual ~Markup ( void );
106 
108  bool executeFile (
109  const QString & s_file_script,
110  QString & s_error
111  );
112 
114 
122  bool convertFile (
123  const QString & s_file_input,
124  const QString & s_file_output,
125  QString & s_error
126  );
127 
129 
138  bool convertString (
139  const QString & s_input,
140  QString & s_output,
141  QString & s_error
142  );
143 
145 
151  QString transform ( const QString & s_input );
152 
154  void appendToOutput ( const QString & s )
155  { s_temp_output_.append( s ); }
156 
158  const QString & output ( void ) const
159  { return s_temp_output_; }
160 
162  void clearOutput ( void )
163  { s_temp_output_.clear(); }
164 
165 
166  /* FUNCTIONS ======================================================= */
167  //
168  //
169  //
170  //
171 
172 }; /* class Markup */
173 
174 /* CLASS =============================================================== */
175 //
176 //
177 //
178 //
179 } // namespace bbb
180 
181 #endif // __MARKUP_INC__
182 /* ------------------------------------------------------------------------- */
183 /* ========================================================================= */