CARMA C++
HtmlDoc.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_HTMLDOC_H
2 #define SZA_UTIL_HTMLDOC_H
3 
11 #include "carma/szaarrayutils/script.h"
12 
13 namespace sza {
14  namespace util {
15 
16  class HtmlDoc {
17  public:
18 
22  HtmlDoc();
23 
27  virtual ~HtmlDoc();
28 
29  static void generateAutoDocumentation(Script* sc, std::string dir);
30  static void createDirs(std::string& dir);
31  static void writeHtmlStyleSheet(Script* sc, std::string& dir);
32  static void writeHtmlCommandIndexFile(Script* sc, std::string& dir);
33  static void writeHtmlCommandList(Script* sc, std::string& dir);
34  static void writeHtmlHeader(std::ofstream& fout, std::string path);
35  static void writeHtmlFooter(std::ofstream& fout);
36  static void writeHtmlCommandSynopsisFile(Script* sc, std::string& dir, ScriptCmd& cmd);
37  static void writeHtmlCommandUsageFile(std::string& dir, ScriptCmd& cmd);
38  static void writeHtmlFunctionSynopsisFile(Script* sc, std::string& dir, ScriptCmd& cmd);
39  static void writeHtmlFunctionUsageFile(std::string& dir, ScriptCmd& cmd);
40  static void writeHtmlSymbolSynopsisFile(std::string& dir, ScriptCmd& cmd);
41  static void writeHtmlSymbolUsageFile(std::string& dir, ScriptCmd& cmd);
42  static void writeHtmlDataTypes(Script* sc, std::string& dir);
43  static void writeHtmlDataTypeFiles(std::string& dir, ScriptDataType& type);
44  static void writeDataType(std::ofstream& fout, ScriptDataType& type);
45 
46  static ScriptDataType* findDataType(Script* sc, std::string& name);
47  static void writeDataTypeExample(std::ofstream& fout, ScriptDataType* type);
48 
49  static void writeHtmlDataTypeSynopsisFile(std::string& dir, ScriptDataType& type);
50  static void writeHtmlDataTypeUsageFile(std::string& dir, ScriptDataType& type);
51  static void writeHtmlDataTypeIndexFile(std::string& dir, ScriptDataType& type);
52 
53  static void startFunctionWrapper(std::ofstream& fout, ScriptDataType* type);
54  static void endFunctionWrapper(std::ofstream& fout, ScriptDataType* type);
55 
56  private:
57  }; // End class HtmlDoc
58 
59  } // End namespace util
60 } // End namespace sza
61 
62 
63 
64 #endif // End #ifndef SZA_UTIL_HTMLDOC_H