scaffold
1.0.0
Generates files and directories based on templates and user input
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
project.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 __PROJECT_INC__
21
#define __PROJECT_INC__
22
//
23
//
24
//
25
//
26
/* INCLUDES ------------------------------------------------------------ */
27
28
#include <
scaffold/scaffold.h
>
29
#include <libbbb/list2d.h>
30
#include <libbbb/varmap.h>
31
#include <QString>
32
#include <QProcess>
33
#include <QVector>
34
35
/* INCLUDES ============================================================ */
36
//
37
//
38
//
39
//
40
/* DEFINITIONS --------------------------------------------------------- */
41
42
namespace
scaffold {
43
44
class
Generator;
45
46
/* DEFINITIONS ========================================================= */
47
//
48
//
49
//
50
//
51
/* CLASS --------------------------------------------------------------- */
52
67
class
Project
:
public
List2De,
public
bbb::VarMap,
public
MemTrack {
68
BBM_TRACK(
Project
);
69
70
//
71
//
72
//
73
//
74
/* DEFINITIONS ----------------------------------------------------- */
75
76
public
:
77
79
# define VPRJ_NAME "NAME"
80
81
# define VPRJ_UNIX_NAME "UNIXNAME"
82
83
# define VPRJ_CLASS_NAME "CLASS"
84
85
# define VPRJ_DESCR "DESCRIPTION"
86
87
# define VPRJ_OUTPATH "OUTPATH"
88
89
# define VPRJ_GENERATORS "GENERATORS"
90
91
/* DEFINITIONS ===================================================== */
92
//
93
//
94
//
95
//
96
/* DATA ------------------------------------------------------------ */
97
98
private
:
99
101
List2Dh gens_;
102
104
Generator * generator_crt_;
105
106
/* DATA ============================================================ */
107
//
108
//
109
//
110
//
111
/* FUNCTIONS ------------------------------------------------------- */
112
113
public
:
114
116
Project
(
117
const
QString & s_name
118
);
119
121
virtual
~Project
(
void
);
122
124
bool
generate
(
void
);
125
126
127
/* -------------------------------------------------------------------- */
131
132
134
QString
name
(
void
)
const
135
{
return
valueS(
VPRJ_NAME
); }
136
138
QString
unixName
(
void
)
const
139
{
return
valueS(
VPRJ_UNIX_NAME
); }
140
142
QString
description
(
void
)
const
143
{
return
valueS(
VPRJ_DESCR
); }
144
146
QString
outPath
(
void
)
const
147
{
return
valueS(
VPRJ_OUTPATH
); }
148
150
/* ==================================================================== */
151
152
153
/* -------------------------------------------------------------------- */
157
158
160
void
addGenerator
(
Generator
* g );
161
163
Generator
*
generator
(
const
QString & s_name );
164
166
Generator
*
generator
(
void
)
167
{
return
generator_crt_; }
168
170
void
setGenerator
(
Generator
* g )
171
{ generator_crt_ = g; }
172
174
/* ==================================================================== */
175
176
177
178
/* FUNCTIONS ======================================================= */
179
//
180
//
181
//
182
//
183
184
};
/* class Project */
185
186
/* CLASS =============================================================== */
187
//
188
//
189
//
190
//
191
192
}
// namespace scaffold
193
194
#endif // __PROJECT_INC__
195
/* ------------------------------------------------------------------------- */
196
/* ========================================================================= */
src3
scaffold
logic
project.h
Generated on Thu Aug 8 2013 20:06:55 for scaffold by
1.8.3.1