Katana Plug-in APIs 0.1

FnConfig.h

00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FnConfig_H
00004 #define FnConfig_H
00005 
00006 #include <map>
00007 #include <string>
00008 
00009 #include <FnConfig/FnConfigAPI.h>
00010 #include <FnConfig/ns.h>
00011 #include <FnConfig/suite/FnConfigSuite.h>
00012 
00013 #include <FnPluginSystem/FnPluginSystem.h>
00014 
00015 FNCONFIG_NAMESPACE_ENTER
00016 {
00026     class FNCONFIG_API Config
00027     {
00028     public:
00029 
00030         virtual ~Config();
00031 
00037         static bool has(const std::string& key);
00038 
00045         static std::string get(const std::string& key);
00046 
00051         static void exportConfiguration(
00052             std::map<std::string, std::string>& exportedConfig);
00053 
00054         static const FnConfigHostSuite_v1* getSuite();
00055         static FnPluginStatus setHost(FnPluginHost* host);
00056 
00057     protected:
00058 
00059         Config();
00060 
00061         static const FnConfigHostSuite_v1 * _configSuite;
00062     };
00064 }
00065 FNCONFIG_NAMESPACE_EXIT
00066 
00067 #endif // FnConfig_H
 All Classes Functions Variables Typedefs Enumerations Enumerator