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;
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