cbp2make
Makefile generation tool for Code::Blocks IDE
stlgpm.h
Go to the documentation of this file.
1 /*
2  cbp2make : Makefile generation tool for the Code::Blocks IDE
3  Copyright (C) 2010-2013 Mirai Computing (mirai.computing@gmail.com)
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 //------------------------------------------------------------------------------
20 #ifndef STL_GPM_H
21 #define STL_GPM_H
22 //------------------------------------------------------------------------------
23 #include "stlconfig.h"
24 //------------------------------------------------------------------------------
25 
27 {
28  protected:
39  bool m_HelpMode;
40  protected:
41  virtual void Initialize(void);
42  public:
43  virtual void Initialize(int argc, char * argv[]);
44  virtual void Initialize(const CParameterString& Parameters);
45  virtual void DisplayHelpMessage(void);
46  virtual void CreateConfiguration(void);
48  virtual CString ConfigurationName(void);
49  virtual bool Configure(const CString& FileName);
50  int GetFileNameLength(void) const { return m_FileNameLength; }
51  int SetFileNameLength(const int FileNameLength);
52  int FileIndex(void) const { return m_FileIndex; }
53  virtual CString TargetName(const int FileIndex, const CString& SourceFileName);
54  virtual bool ProcessFile(const CString& SourceFileName, CString& TargetFileName);
55  virtual bool PreProcess(void);
56  virtual bool Run(void);
57  virtual bool PostProcess(void);
58  virtual void Finalize(void);
59  virtual void Print(std::ostream& out) { };
60  public:
61  bool& AliasesEnabled(void) { return m_AliasesEnabled; }
62  bool& BeVerbose(void) { return m_VerboseMode; }
63  bool& BeQuiet(void) { return m_QuietMode; }
64  bool& DoShowHelp(void) { return m_HelpMode; }
68  CStringList& ILST(void) { return m_InputFileList; };
69  CStringList& OLST(void) { return m_OutputFileList; };
70  public:
72  virtual ~CGenericProcessingMachine(void);
73 };
74 
75 const CString GPM_VAR_NAME_IN = "-in";
76 const CString GPM_VAR_NAME_OUT = "-out";
77 const CString GPM_VAR_NAME_LIST = "-list";
78 const CString GPM_VAR_NAME_CFG = "-cfg";
79 const CString GPM_VAR_NAME_INDIR = "-indir";
80 const CString GPM_VAR_NAME_OUTDIR = "-outdir";
81 const CString GPM_VAR_NAME_HELP = "--help";
82 const CString GPM_VAR_NAME_VERBOSE = "--verbose";
83 const CString GPM_VAR_NAME_QUIET = "--quiet";
87 
88 #endif
89 //------------------------------------------------------------------------------
virtual bool Run(void)
Definition: stlgpm.cpp:167
virtual CString TargetName(const int FileIndex, const CString &SourceFileName)
Definition: stlgpm.cpp:150
const CString GPM_VAR_NAME_VERBOSE_ALIAS
Definition: stlgpm.h:85
virtual bool PostProcess(void)
Definition: stlgpm.cpp:212
CParameterStringConfiguration m_ParameterStringConfiguration
Definition: stlgpm.h:30
virtual void DisplayHelpMessage(void)
Definition: stlgpm.cpp:65
Definition: stlconfig.h:67
Definition: stlconfig.h:88
bool & DoShowHelp(void)
Definition: stlgpm.h:64
CStringList m_OutputFileList
Definition: stlgpm.h:33
bool m_AliasesEnabled
Definition: stlgpm.h:35
const CString GPM_VAR_NAME_INDIR
Definition: stlgpm.h:79
virtual bool PreProcess(void)
Definition: stlgpm.cpp:161
Definition: stlstrings.h:98
const CString GPM_VAR_NAME_IN
Definition: stlgpm.h:75
CString DefaultConfigurationName(void)
Definition: stlgpm.cpp:89
virtual void Initialize(void)
Definition: stlgpm.cpp:45
CConfiguration m_FileConfiguration
Definition: stlgpm.h:29
bool m_VerboseMode
Definition: stlgpm.h:37
int SetFileNameLength(const int FileNameLength)
Definition: stlgpm.cpp:144
CConfiguration & CFG(void)
Definition: stlgpm.h:65
CParameterStringConfiguration & PSC(void)
Definition: stlgpm.h:66
Definition: stlstrings.h:32
virtual void Finalize(void)
Definition: stlgpm.cpp:218
CStringList m_InputFileList
Definition: stlgpm.h:32
virtual bool ProcessFile(const CString &SourceFileName, CString &TargetFileName)
Definition: stlgpm.cpp:155
CGenericProcessingMachine(void)
Definition: stlgpm.cpp:25
const CString GPM_VAR_NAME_VERBOSE
Definition: stlgpm.h:82
const CString GPM_VAR_NAME_CFG
Definition: stlgpm.h:78
CParameterString m_ParameterString
Definition: stlgpm.h:31
virtual bool Configure(const CString &FileName)
Definition: stlgpm.cpp:106
const CString GPM_VAR_NAME_HELP_ALIAS
Definition: stlgpm.h:84
int m_FileNameLength
Definition: stlgpm.h:36
CParameterString & PS(void)
Definition: stlgpm.h:67
bool m_QuietMode
Definition: stlgpm.h:38
bool & AliasesEnabled(void)
Definition: stlgpm.h:61
const CString GPM_VAR_NAME_OUTDIR
Definition: stlgpm.h:80
virtual void CreateConfiguration(void)
Definition: stlgpm.cpp:70
bool m_HelpMode
Definition: stlgpm.h:39
CStringList & OLST(void)
Definition: stlgpm.h:69
int FileIndex(void) const
Definition: stlgpm.h:52
bool & BeVerbose(void)
Definition: stlgpm.h:62
const CString GPM_VAR_NAME_HELP
Definition: stlgpm.h:81
virtual ~CGenericProcessingMachine(void)
Definition: stlgpm.cpp:40
const CString GPM_VAR_NAME_OUT
Definition: stlgpm.h:76
int GetFileNameLength(void) const
Definition: stlgpm.h:50
CStringList & ILST(void)
Definition: stlgpm.h:68
Definition: stlconfig.h:26
virtual CString ConfigurationName(void)
Definition: stlgpm.cpp:94
const CString GPM_VAR_NAME_LIST
Definition: stlgpm.h:77
bool & BeQuiet(void)
Definition: stlgpm.h:63
virtual void Print(std::ostream &out)
Definition: stlgpm.h:59
Definition: stlgpm.h:26
const CString GPM_VAR_NAME_QUIET
Definition: stlgpm.h:83
const CString GPM_VAR_NAME_QUIET_ALIAS
Definition: stlgpm.h:86
int m_FileIndex
Definition: stlgpm.h:34