3 #ifndef __ARC_BROKERPLUGIN_H__ 4 #define __ARC_BROKERPLUGIN_H__ 10 #include <arc/loader/Loader.h> 11 #include <arc/loader/Plugin.h> 14 class ExecutionTarget;
29 operator const UserConfig&()
const {
return uc; }
84 std::list<BrokerPlugin*> plugins;
89 #endif // __ARC_BROKERPLUGIN_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
BrokerPlugin * copy(const BrokerPlugin *p, bool keep_ownerskip=true)
Copy a BrokerPlugin.
User configuration class
Definition: UserConfig.h:196
~BrokerPluginLoader()
If keep_ownership in load() is true then BrokerPlugin objects are deleted.
Base class for BrokerPlugins implementing different brokering algorithms.
Definition: BrokerPlugin.h:46
A logger class.
Definition: Logger.h:493
BrokerPlugin * load(const UserConfig &uc, const std::string &name="", bool keep_ownerskip=true)
Load the BrokerPlugin with the given name.
Definition: JobDescription.h:842
Handles loading of the required BrokerPlugin plugin.
Definition: BrokerPlugin.h:68
ExecutionTarget.
Definition: ExecutionTarget.h:494
BrokerPluginLoader()
Load the base configuration of plugin locations etc.
virtual bool match(const ExecutionTarget &et) const
Returns true if the target is acceptable for the BrokerPlugin.
virtual bool operator()(const ExecutionTarget &lhs, const ExecutionTarget &rhs) const
Sorting operator - returns true if lhs a better target than rhs.
Internal class representing arguments passed to BrokerPlugin.
Definition: BrokerPlugin.h:25
BrokerPlugin(BrokerPluginArgument *arg)
Should never be called directly - instead use BrokerPluginLoader.load().
Definition: BrokerPlugin.h:49