3#ifndef ICEGRID_PLUGIN_FACADE_H
4#define ICEGRID_PLUGIN_FACADE_H
7#include "IceGrid/Admin.h"
28 const std::string& replicaGroupId,
50 const std::string& type,
82 [[nodiscard]]
virtual std::string
getAdapterServer(
const std::string& adapterId)
const = 0;
96 [[nodiscard]]
virtual std::string
getAdapterNode(
const std::string& adapterId)
const = 0;
132 [[nodiscard]]
virtual std::string
153 virtual void addTypeFilter(
const std::string& type,
const std::shared_ptr<TypeFilter>& filter)
noexcept = 0;
159 virtual bool removeTypeFilter(
const std::string& type,
const std::shared_ptr<TypeFilter>& filter)
noexcept = 0;
virtual AdapterInfoSeq getAdapterInfo(const std::string &id) const =0
Gets the adapter information for the replica group or adapter with the given id.
virtual NodeInfo getNodeInfo(const std::string &name) const =0
Gets the node information for the node with the given name.
virtual std::string getAdapterApplication(const std::string &adapterId) const =0
Gets the name of the application to which the given adapter belongs.
virtual bool removeReplicaGroupFilter(const std::string &id, const std::shared_ptr< ReplicaGroupFilter > &filter) noexcept=0
Removes a replica group filter.
virtual void addTypeFilter(const std::string &type, const std::shared_ptr< TypeFilter > &filter) noexcept=0
Adds a type filter.
virtual bool removeTypeFilter(const std::string &type, const std::shared_ptr< TypeFilter > &filter) noexcept=0
Removes a type filter.
virtual ServerInfo getServerInfo(const std::string &id) const =0
Gets the server information for the server with the given id.
virtual std::string getPropertyForAdapter(const std::string &adapterId, const std::string &name) const =0
Gets the property value for the given property and adapter.
virtual std::string getAdapterNode(const std::string &adapterId) const =0
Gets the name of the node to which the given adapter belongs.
virtual LoadInfo getNodeLoad(const std::string &name) const =0
Gets the load averages of the node.
virtual ObjectInfo getObjectInfo(const Ice::Identity &id) const =0
Gets the object info for the object with the given identity.
virtual void addReplicaGroupFilter(const std::string &id, const std::shared_ptr< ReplicaGroupFilter > &filter) noexcept=0
Adds a replica group filter.
virtual std::string getAdapterServer(const std::string &adapterId) const =0
Gets the ID of the server to which the given adapter belongs.
virtual ApplicationInfo getApplicationInfo(const std::string &name) const =0
Gets an application descriptor.
The RegistryPluginFacade is implemented by IceGrid and can be used by plugins and filter implementati...
virtual Ice::StringSeq filter(const std::string &replicaGroupId, const Ice::StringSeq &adapterIds, const Ice::ConnectionPtr &con, const Ice::Context &ctx)=0
Filters adapter IDs.
The ReplicaGroupFilter is used by IceGrid to filter adapters returned to the client when it resolves ...
virtual Ice::ObjectProxySeq filter(const std::string &type, const Ice::ObjectProxySeq &proxies, const Ice::ConnectionPtr &con, const Ice::Context &ctx)=0
Filters the given set of proxies.
The TypeFilter is used by IceGrid to filter well-known proxies returned to the client when it searche...
std::shared_ptr< ReplicaGroupFilter > ReplicaGroupFilterPtr
A shared pointer to a ReplicaGroupFilter.
std::vector< AdapterInfo > AdapterInfoSeq
A sequence of AdapterInfo.
std::shared_ptr< RegistryPluginFacade > RegistryPluginFacadePtr
A shared pointer to a RegistryPluginFacade.
std::shared_ptr< TypeFilter > TypeFilterPtr
A shared pointer to a TypeFilter.
ICEGRID_API RegistryPluginFacadePtr getRegistryPluginFacade()
Gets the plug-in facade for the IceGrid registry.
Deploy and manage Ice servers.
std::vector< std::optional< Ice::ObjectPrx > > ObjectProxySeq
A sequence of object proxies.
std::vector< std::string > StringSeq
A sequence of strings.
std::shared_ptr< Connection > ConnectionPtr
A shared pointer to a Connection.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Information about an IceGrid application.
Information about the load of a node.
Information about an IceGrid node.
Information about an Ice well-known object.
Information about a server managed by an IceGrid node.
Represents the identity of an Ice object.