1 #ifndef __ARC_ENTITYRETRIEVERPLUGIN_H__
2 #define __ARC_ENTITYRETRIEVERPLUGIN_H__
13 #include <arc/UserConfig.h>
14 #include <arc/compute/Endpoint.h>
15 #include <arc/compute/EndpointQueryingStatus.h>
16 #include <arc/compute/ExecutionTarget.h>
17 #include <arc/loader/Loader.h>
18 #include <arc/loader/FinderLoader.h>
32 EndpointQueryOptions(
const std::set<std::string>& preferredInterfaceNames = std::set<std::string>()) : preferredInterfaceNames(preferredInterfaceNames) {}
34 const std::set<std::string>& getPreferredInterfaceNames()
const {
return preferredInterfaceNames; }
36 std::set<std::string> preferredInterfaceNames;
54 const std::list<std::string>& capabilityFilter = std::list<std::string>(),
55 const std::list<std::string>& rejectedServices = std::list<std::string>(),
56 const std::set<std::string>& preferredInterfaceNames = std::set<std::string>() )
57 : recursive(recursive), capabilityFilter(capabilityFilter), rejectedServices(rejectedServices),
58 preferredInterfaceNames(preferredInterfaceNames) {}
60 bool recursiveEnabled()
const {
return recursive; }
61 const std::list<std::string>& getCapabilityFilter()
const {
return capabilityFilter; }
62 const std::list<std::string>& getRejectedServices()
const {
return rejectedServices; }
63 const std::set<std::string>& getPreferredInterfaceNames()
const {
return preferredInterfaceNames; }
67 std::list<std::string> capabilityFilter;
68 std::list<std::string> rejectedServices;
69 std::set<std::string> preferredInterfaceNames;
81 virtual const std::list<std::string>& SupportedInterfaces()
const {
return supportedInterfaces; };
82 virtual bool isEndpointNotSupported(
const Endpoint&)
const = 0;
85 static const std::string kind;
88 std::list<std::string> supportedInterfaces;
102 static std::list<std::string> getListOfPlugins();
103 const std::map<std::string, EntityRetrieverPlugin<T> *>& GetTargetInformationRetrieverPlugins()
const {
return plugins; }
106 std::map<std::string, EntityRetrieverPlugin<T> *> plugins;
161 #endif // __ARC_ENTITYRETRIEVERPLUGIN_H__