OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimApplicationUsage.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 //
3 // This code was taken from Open Scene Graph and incorporated from into
4 // OSSIM.
5 //
6 //-------------------------------------------------------------------------
7 // $Id: ossimApplicationUsage.h 19692 2011-05-31 16:55:47Z dburken $
8 #ifndef ossimApplicationUsage_HEADER
9 #define ossimApplicationUsage_HEADER 1
10 
12 #include <ossim/base/ossimString.h>
13 #include <map>
14 
16 {
17  public:
18 
19  static ossimApplicationUsage* instance();
20 
22 
23  ossimApplicationUsage(const ossimString& commandLineUsage);
24 
25  typedef std::map<ossimString,ossimString,ossimStringLtstr> UsageMap;
26 
27  void setApplicationName(const ossimString& name);
28  const ossimString& getApplicationName() const;
29 
30  void setDescription(const ossimString& desc);
31  const ossimString& getDescription() const;
32 
33  enum Type
34  {
35  OSSIM_COMMAND_LINE_OPTION = 0x1,
36  OSSIM_ENVIRONMENTAL_VARIABLE = 0x2
37  };
38 
39  void addUsageExplanation(Type type,const ossimString& option,const ossimString& explanation);
40 
41  void setCommandLineUsage(const ossimString& explanation);
42 
43  const ossimString& getCommandLineUsage() const;
44 
45 
46  void addCommandLineOption(const ossimString& option,const ossimString& explanation);
47 
48  const UsageMap& getCommandLineOptions() const;
49 
50 
51  void addEnvironmentalVariable(const ossimString& option,const ossimString& explanation);
52 
53  const UsageMap& getEnvironmentalVariables() const;
54 
55  void getFormatedString(ossimString& str, const UsageMap& um,unsigned int widthOfOutput=80);
56 
57  void write(std::ostream& output,const UsageMap& um,unsigned int widthOfOutput=80);
58 
59  void write(std::ostream& output,unsigned int type=OSSIM_COMMAND_LINE_OPTION|OSSIM_ENVIRONMENTAL_VARIABLE, unsigned int widthOfOutput=80);
60 
61  protected:
62 
68 };
69 
71 {
72  public:
73 
76  {
77  ossimApplicationUsage::instance()->addUsageExplanation(type,option,explanation);
78  }
79 };
80 
81 
82 #endif
#define OSSIMDLLEXPORT
ApplicationUsageProxy(ossimApplicationUsage::Type type, const ossimString &option, const ossimString &explanation)
register an explanation of commandline/evironmentalvaraible/keyboard mouse usage. ...
static ossimApplicationUsage * instance()
void addUsageExplanation(Type type, const ossimString &option, const ossimString &explanation)
str write(os2.str().data(), os2.str().size())
std::map< ossimString, ossimString, ossimStringLtstr > UsageMap
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
const char * getDescription()