Slice Tools
  • Home
  • SourceForge Page


  • libFoundation
  • Home
  • Class Hierarchy
  • Class List
  • Class Members
  • Examples


  • SourceForge.net Logo
     

    Foundation.hh

    Go to the documentation of this file.
    00001 // $Id: Foundation.hh,v 1.1 2005/07/29 02:55:15 mschatz Exp $
    00002 
    00005 
    00006 #ifndef Foundation_HH
    00007 #define Foundation_HH 1
    00008 
    00009 #include <string>
    00010 #include "Options.hh"
    00011 #include "ConfigFile.hh"
    00012 #include "Logger.hh"
    00013 #include "FileSystem.hh"
    00014 
    00016 class Foundation
    00017 {
    00018 public:
    00019   Foundation(std::string version, 
    00020              std::string helptext,
    00021              std::string dependencies,
    00022              int argc,
    00023              char ** argv);
    00024   ~Foundation();
    00025 
    00026   void handleStandardOptions();
    00027   void printHelpText();
    00028 
    00029   std::string getVersion();
    00030   std::string getHelpText();
    00031 
    00032   Options * getOptions();
    00033   ConfigFile * getConfig();
    00034   Logger * getLogger();
    00035 
    00036   LogCategory log();
    00037 
    00038   void disableOptionHelp();
    00039 
    00040 private:
    00041   std::string m_version;
    00042   std::string m_helptext;
    00043   std::string m_dependencies;
    00044 
    00045   Options * m_options;
    00046   Logger * m_logger;
    00047   ConfigFile * m_config;
    00048 
    00049   bool m_doOptionHelp;
    00050 
    00051   // Command line option results
    00052   int m_doHelp;
    00053   int m_doVersion;
    00054   int m_doAppend;
    00055   int m_doDepend;
    00056 
    00057   std::string m_configFile;
    00058   std::string m_logfile;
    00059   std::string m_filterLevels;
    00060 };
    00061 
    00062 #endif