PhoenixPresentation  2.0.0
Set of cmake function to automate presentation generation
main.cpp File Reference
#include "phoenix_assert.h"
#include "phoenix_check.h"
#include "OptionParser.h"
+ Include dependency graph for main.cpp:

Go to the source code of this file.

Functions

OptionParser createOptionParser ()
 Create the OptionParser of this program. More...
 
int main (int argc, char **argv)
 

Function Documentation

◆ createOptionParser()

OptionParser createOptionParser ( )

Create the OptionParser of this program.

Returns
OptionParser of this program

Definition at line 15 of file main.cpp.

15  {
16  OptionParser parser(true, "1.0.0");
17  parser.addMode("class");
18  parser.addOption("name", "n", OptionType::STRING, true, "base name of the file to be created");
19  std::string templateDef("");
20  parser.addOption("template", "t", templateDef, "template definition of the class (ex: 'typename T' or 'typename T, typename U', etc)");
21  parser.addOption("config", "c", OptionType::FILENAME, false, "base name of the file to be created");
22  parser.closeMode();
23 
24  parser.addMode("source");
25  parser.addOption("name", "n", OptionType::STRING, true, "base name of the file to be created");
26  parser.closeMode();
27  return parser;
28 }
Parse the options passed to a program.
Definition: OptionParser.h:15

References OptionParser::addMode(), OptionParser::addOption(), OptionParser::closeMode(), OptionType::FILENAME, and OptionType::STRING.

+ Here is the call graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 30 of file main.cpp.

30  {
32 // parser.print();
33  parser.parseArgument(argc, argv);
34 
35  const OptionMode & classMode = parser.getMode("class");
36  const OptionMode & sourceMode = parser.getMode("source");
37  if(classMode.isParsed()){ //We are using the class mode
38 // std::cout << "Class mode activated" << std::endl;
39  std::string className(""), templateDef("");
40  classMode.getValue(className, "name");
41  classMode.getValue(templateDef, "template");
42 // std::cout << "name of the class to be generated : '" << className << "', templateDef = '"<<templateDef<<"'" << std::endl;
43 
44  phoenix_assert(phoenix_check("Check class name", className, "classname"));
45  phoenix_assert(phoenix_check("Check type name", templateDef, "typename T"));
46  }
47 
48  if(sourceMode.isParsed()){ //We are using the source mode
49 // std::cout << "Source mode activated" << std::endl;
50  std::string fileName("");
51  sourceMode.getValue(fileName, "name");
52 // std::cout << "name of the header/source files to be generated : " << fileName << "'" << std::endl;
53 
54  phoenix_assert(phoenix_check("Check source name", fileName, "sourcename"));
55  }
56  return 0;
57 }
OptionParser createOptionParser()
Create the OptionParser of this program.
Definition: main.cpp:17
Describe a mode in the program arguments.
Definition: OptionMode.h:13
bool isParsed() const
Say if the OptionMode contains option which are parsed.
Definition: OptionMode.cpp:195
bool getValue(T &value, const PString &optionName) const
Get the value of the option.
void parseArgument(int argc, char **argv)
Parse the arguments passed to the program.
const OptionMode & getMode(const PString &name) const
Get mode by name.
#define phoenix_assert(isOk)
bool phoenix_check(const std::string &testName, const std::string &val, const std::string &reference)
Check two string.

References createOptionParser(), OptionParser::getMode(), OptionMode::getValue(), OptionMode::isParsed(), OptionParser::parseArgument(), phoenix_assert, and phoenix_check().

+ Here is the call graph for this function: