25 #ifndef PLUMA_HOST_HPP
26 #define PLUMA_HOST_HPP
31 #include <Pluma/Config.hpp>
32 #include <Pluma/Provider.hpp>
91 bool knows(
const std::string& type)
const;
101 unsigned int getVersion(
const std::string& type)
const;
111 unsigned int getLowestVersion(
const std::string& type)
const;
121 void registerType(
const std::string& type,
unsigned int version,
unsigned int lowestVersion);
132 const std::list<Provider*>* getProviders(
const std::string& type)
const;
138 void clearProviders();
146 bool validateProvider(
Provider* provider)
const;
160 bool registerProvider(
Provider* provider);
170 void cancelAddictions();
182 bool confirmAddictions();
197 unsigned int version;
198 unsigned int lowestVersion;
199 std::list<Provider*> providers;
202 typedef std::map<std::string, ProviderInfo > ProvidersMap;
203 typedef std::map<std::string, std::list<Provider*> > TempProvidersMap;
205 ProvidersMap knownTypes;
206 TempProvidersMap addRequests;
212 #endif // PLUMA_HOST_HPP
Interface to provide applications with objects from plugins.