ELVE  1
ELVE Logic Visualization Explorer
/home/travis/build/stdgregwar/elve/Core/interfaces/Plugin.h
00001 #ifndef PLUGIN_H
00002 #define PLUGIN_H
00003 
00004 #include <boost/program_options.hpp>
00005 #include <string>
00006 #include <QString>
00007 
00008 namespace po = boost::program_options; //Find more elegant way
00009 
00010 namespace Elve {
00011 
00018 class Plugin
00019 {
00020 public:
00024     Plugin();
00025 
00033     po::options_description& opts();
00034 
00041     po::positional_options_description& pods();
00042 
00047     void configPath(const std::string& path);
00048 
00053     void basePath(const QString &path);
00054 
00059     const QString& basePath()const;
00060 
00065     const std::string& configPath() const;
00066 
00071     void set_vmap(const po::variables_map* map);
00072 
00078     bool is_set(const std::string& opt) const;
00079 private:
00080     std::string mConfigPath;
00081     QString mBasePath;
00082     po::options_description mOpts;
00083     po::positional_options_description mPods;
00084     const po::variables_map* mVMap;
00085 };
00086 
00087 }
00088 
00089 #endif // PLUGIN_H
 All Classes Functions