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__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
User configuration class
Definition: UserConfig.h:196
Class representing a database query.
Definition: DBInterface.h:54
Represents the status in the EntityRetriever of the query process of an Endpoint (service registry...
Definition: EndpointQueryingStatus.h:19
Configuration for client interface.
Definition: ArcConfig.h:104
EndpointQueryOptions(bool recursive=false, const std::list< std::string > &capabilityFilter=std::list< std::string >(), const std::list< std::string > &rejectedServices=std::list< std::string >(), const std::set< std::string > &preferredInterfaceNames=std::set< std::string >())
Options for recursivity, filtering of capabilities and rejecting services.
Definition: EntityRetrieverPlugin.h:53
Definition: EntityRetrieverPlugin.h:96
A logger class.
Definition: Logger.h:493
Represents an endpoint of a service with a given interface type and capabilities. ...
Definition: Endpoint.h:68
Options controlling the query process.
Definition: EntityRetrieverPlugin.h:24
Configuration element - represents (sub)tree of ARC XML configuration.
Definition: ArcConfig.h:26
Definition: EntityRetrieverPlugin.h:135
Definition: EntityRetrieverPlugin.h:115
EndpointQueryOptions(const std::set< std::string > &preferredInterfaceNames=std::set< std::string >())
Options for querying Endpoint objects.
Definition: EntityRetrieverPlugin.h:32
Definition: EntityRetrieverPlugin.h:77