packaging: Initial packaging
[platform/upstream/cmake.git] / Source / cmDocumentationFormatterMan.h
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #ifndef _cmDocumentationFormatterMan_h
13 #define _cmDocumentationFormatterMan_h
14
15 #include "cmStandardIncludes.h"
16
17 #include "cmDocumentationFormatter.h"
18
19 /** Class to print the documentation as man page.  */
20 class cmDocumentationFormatterMan : public cmDocumentationFormatter
21 {
22 public:
23   cmDocumentationFormatterMan();
24
25   void SetManSection(int manSection);
26
27   virtual cmDocumentationEnums::Form GetForm() const
28                                       { return cmDocumentationEnums::ManForm;}
29
30   virtual void PrintHeader(const char* docname, const char* appname,
31                            std::ostream& os);
32   virtual void PrintSection(std::ostream& os,
33                     const cmDocumentationSection& section,
34                     const char* name);
35   virtual void PrintPreformatted(std::ostream& os, const char* text);
36   virtual void PrintParagraph(std::ostream& os, const char* text);
37
38 private:
39   void EscapeText(std::string& man_text);
40   int ManSection;
41 };
42
43 #endif