16#ifndef __IceGrid_PluginFacade_h__
17#define __IceGrid_PluginFacade_h__
44#ifndef ICE_IGNORE_VERSION
45# if ICE_INT_VERSION / 100 != 307
46# error Ice version mismatch!
48# if ICE_INT_VERSION % 100 >= 50
49# error Beta header file detected
51# if ICE_INT_VERSION % 100 < 11
52# error Ice patch level mismatch!
57# if defined(ICE_STATIC_LIBS)
59# elif defined(ICEGRID_API_EXPORTS)
60# define ICEGRID_API ICE_DECLSPEC_EXPORT
62# define ICEGRID_API ICE_DECLSPEC_IMPORT
66#ifdef ICE_CPP11_MAPPING
71class ReplicaGroupFilter;
73class RegistryPluginFacade;
105 virtual ::Ice::StringSeq
filter(const ::std::string& replicaGroupId, const ::Ice::StringSeq& adapterIds, const ::std::shared_ptr<::Ice::Connection>& con, const ::Ice::Context& ctx) = 0;
134 virtual ::Ice::ObjectProxySeq
filter(const ::std::string& type, const ::Ice::ObjectProxySeq& proxies, const ::std::shared_ptr<::Ice::Connection>& con, const ::Ice::Context& ctx) = 0;
165 virtual ::IceGrid::ServerInfo
getServerInfo(const ::std::string&
id)
const = 0;
212 virtual ::IceGrid::AdapterInfoSeq
getAdapterInfo(const ::std::string&
id)
const = 0;
221 virtual ::IceGrid::ObjectInfo
getObjectInfo(const ::Ice::Identity&
id)
const = 0;
231 virtual ::IceGrid::NodeInfo
getNodeInfo(const ::std::string& name)
const = 0;
241 virtual ::IceGrid::LoadInfo
getNodeLoad(const ::std::string& name)
const = 0;
262 virtual void addReplicaGroupFilter(const ::std::string&
id, const ::std::shared_ptr<ReplicaGroupFilter>& filter)
noexcept = 0;
277 virtual void addTypeFilter(const ::std::string& type, const ::std::shared_ptr<TypeFilter>& filter)
noexcept = 0;
285 virtual bool removeTypeFilter(const ::std::string& type, const ::std::shared_ptr<TypeFilter>& filter)
noexcept = 0;
301using ReplicaGroupFilterPtr = ::std::shared_ptr<ReplicaGroupFilter>;
303using TypeFilterPtr = ::std::shared_ptr<TypeFilter>;
305using RegistryPluginFacadePtr = ::std::shared_ptr<RegistryPluginFacade>;
320class ReplicaGroupFilter;
322ICEGRID_API ::Ice::LocalObject* upCast(ReplicaGroupFilter*);
324typedef ::IceInternal::Handle< ReplicaGroupFilter> ReplicaGroupFilterPtr;
328ICEGRID_API ::Ice::LocalObject* upCast(TypeFilter*);
330typedef ::IceInternal::Handle< TypeFilter> TypeFilterPtr;
332class RegistryPluginFacade;
334ICEGRID_API ::Ice::LocalObject* upCast(RegistryPluginFacade*);
336typedef ::IceInternal::Handle< RegistryPluginFacade> RegistryPluginFacadePtr;
364class ICEGRID_API ReplicaGroupFilter :
public virtual ::Ice::LocalObject
368 typedef ReplicaGroupFilterPtr PointerType;
370 virtual ~ReplicaGroupFilter();
372#ifdef ICE_CPP11_COMPILER
373 ReplicaGroupFilter() =
default;
374 ReplicaGroupFilter(
const ReplicaGroupFilter&) =
default;
375 ReplicaGroupFilter& operator=(
const ReplicaGroupFilter&) =
default;
388 virtual ::Ice::StringSeq filter(const ::std::string& replicaGroupId, const ::Ice::StringSeq& adapterIds, const ::Ice::ConnectionPtr& con, const ::Ice::Context& ctx) = 0;
392inline bool operator==(
const ReplicaGroupFilter& lhs,
const ReplicaGroupFilter& rhs)
394 return static_cast<const ::Ice::LocalObject&
>(lhs) ==
static_cast<const ::Ice::LocalObject&
>(rhs);
397inline bool operator<(
const ReplicaGroupFilter& lhs,
const ReplicaGroupFilter& rhs)
399 return static_cast<const ::Ice::LocalObject&
>(lhs) <
static_cast<const ::Ice::LocalObject&
>(rhs);
413class ICEGRID_API TypeFilter :
public virtual ::Ice::LocalObject
417 typedef TypeFilterPtr PointerType;
419 virtual ~TypeFilter();
421#ifdef ICE_CPP11_COMPILER
422 TypeFilter() =
default;
423 TypeFilter(
const TypeFilter&) =
default;
424 TypeFilter& operator=(
const TypeFilter&) =
default;
437 virtual ::Ice::ObjectProxySeq filter(const ::std::string& type, const ::Ice::ObjectProxySeq& proxies, const ::Ice::ConnectionPtr& con, const ::Ice::Context& ctx) = 0;
441inline bool operator==(
const TypeFilter& lhs,
const TypeFilter& rhs)
443 return static_cast<const ::Ice::LocalObject&
>(lhs) ==
static_cast<const ::Ice::LocalObject&
>(rhs);
446inline bool operator<(
const TypeFilter& lhs,
const TypeFilter& rhs)
448 return static_cast<const ::Ice::LocalObject&
>(lhs) <
static_cast<const ::Ice::LocalObject&
>(rhs);
459class ICEGRID_API RegistryPluginFacade :
public virtual ::Ice::LocalObject
463 typedef RegistryPluginFacadePtr PointerType;
465 virtual ~RegistryPluginFacade();
467#ifdef ICE_CPP11_COMPILER
468 RegistryPluginFacade() =
default;
469 RegistryPluginFacade(
const RegistryPluginFacade&) =
default;
470 RegistryPluginFacade& operator=(
const RegistryPluginFacade&) =
default;
480 virtual ApplicationInfo getApplicationInfo(const ::std::string& name)
const = 0;
488 virtual ServerInfo getServerInfo(const ::std::string&
id)
const = 0;
499 virtual ::std::string getAdapterServer(const ::std::string& adapterId)
const = 0;
510 virtual ::std::string getAdapterApplication(const ::std::string& adapterId)
const = 0;
521 virtual ::std::string getAdapterNode(const ::std::string& adapterId)
const = 0;
535 virtual AdapterInfoSeq getAdapterInfo(const ::std::string&
id)
const = 0;
544 virtual ObjectInfo getObjectInfo(const ::Ice::Identity&
id)
const = 0;
554 virtual NodeInfo getNodeInfo(const ::std::string& name)
const = 0;
564 virtual LoadInfo getNodeLoad(const ::std::string& name)
const = 0;
575 virtual ::std::string getPropertyForAdapter(const ::std::string& adapterId, const ::std::string& name)
const = 0;
585 virtual void addReplicaGroupFilter(const ::std::string&
id,
const ReplicaGroupFilterPtr& filter)
ICE_NOEXCEPT = 0;
593 virtual bool removeReplicaGroupFilter(const ::std::string&
id,
const ReplicaGroupFilterPtr& filter)
ICE_NOEXCEPT = 0;
600 virtual void addTypeFilter(const ::std::string& type,
const TypeFilterPtr& filter)
ICE_NOEXCEPT = 0;
608 virtual bool removeTypeFilter(const ::std::string& type,
const TypeFilterPtr& filter)
ICE_NOEXCEPT = 0;
612inline bool operator==(
const RegistryPluginFacade& lhs,
const RegistryPluginFacade& rhs)
614 return static_cast<const ::Ice::LocalObject&
>(lhs) ==
static_cast<const ::Ice::LocalObject&
>(rhs);
617inline bool operator<(
const RegistryPluginFacade& lhs,
const RegistryPluginFacade& rhs)
619 return static_cast<const ::Ice::LocalObject&
>(lhs) <
static_cast<const ::Ice::LocalObject&
>(rhs);
#define ICEGRID_API
Definition Descriptor.h:58
#define ICE_NOEXCEPT
Definition Config.h:128
#define ICE_MEMBER(API)
Definition Config.h:177
The RegistryPluginFacade is implemented by IceGrid and can be used by plugins and filter implementati...
Definition PluginFacade.h:145
virtual::IceGrid::NodeInfo getNodeInfo(const ::std::string &name) const =0
Get the node information for the node with the given name.
virtual::IceGrid::ApplicationInfo getApplicationInfo(const ::std::string &name) const =0
Get an application descriptor.
virtual::std::string getAdapterApplication(const ::std::string &adapterId) const =0
Get the name of the application to which the given adapter belongs.
virtual bool removeTypeFilter(const ::std::string &type, const ::std::shared_ptr< TypeFilter > &filter) noexcept=0
Remove a type filter.
virtual bool removeReplicaGroupFilter(const ::std::string &id, const ::std::shared_ptr< ReplicaGroupFilter > &filter) noexcept=0
Remove a replica group filter.
virtual::std::string getPropertyForAdapter(const ::std::string &adapterId, const ::std::string &name) const =0
Get the property value for the given property and adapter.
virtual void addTypeFilter(const ::std::string &type, const ::std::shared_ptr< TypeFilter > &filter) noexcept=0
Add a type filter.
virtual::IceGrid::ServerInfo getServerInfo(const ::std::string &id) const =0
Get the server information for the server with the given id.
virtual void addReplicaGroupFilter(const ::std::string &id, const ::std::shared_ptr< ReplicaGroupFilter > &filter) noexcept=0
Add a replica group filter.
virtual::IceGrid::ObjectInfo getObjectInfo(const ::Ice::Identity &id) const =0
Get the object info for the object with the given identity.
virtual::IceGrid::LoadInfo getNodeLoad(const ::std::string &name) const =0
Get the load averages of the node.
virtual::std::string getAdapterNode(const ::std::string &adapterId) const =0
Get the name of the node to which the given adapter belongs.
virtual ~RegistryPluginFacade()
virtual::std::string getAdapterServer(const ::std::string &adapterId) const =0
Get the ID of the server to which the given adapter belongs.
virtual::IceGrid::AdapterInfoSeq getAdapterInfo(const ::std::string &id) const =0
Get the adapter information for the replica group or adapter with the given id.
The ReplicaGroupFilter is used by IceGrid to filter adapters returned to the client when it resolves ...
Definition PluginFacade.h:90
virtual ~ReplicaGroupFilter()
virtual::Ice::StringSeq filter(const ::std::string &replicaGroupId, const ::Ice::StringSeq &adapterIds, const ::std::shared_ptr<::Ice::Connection > &con, const ::Ice::Context &ctx)=0
Filter the given set of adapters.
The TypeFilter is used by IceGrid to filter well-known proxies returned to the client when it searche...
Definition PluginFacade.h:119
virtual::Ice::ObjectProxySeq filter(const ::std::string &type, const ::Ice::ObjectProxySeq &proxies, const ::std::shared_ptr<::Ice::Connection > &con, const ::Ice::Context &ctx)=0
Filter the given set of proxies.
::std::vector< AdapterInfo > AdapterInfoSeq
A sequence of adapter information structures.
Definition Admin.h:204
Definition BuiltinSequences.h:56
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184