Ice 3.7 C++11 API Reference
Loading...
Searching...
No Matches
IceGrid::Query Class Referenceabstract

The IceGrid query interface. More...

#include <IceGrid/IceGrid.h>

Inheritance diagram for IceGrid::Query:
Collaboration diagram for IceGrid::Query:

Public Types

using ProxyType = QueryPrx

Public Member Functions

virtual::Ice::ObjectProxySeq findAllObjectsByType (::std::string type, const ::Ice::Current &current) const =0
 Find all the well-known objects with the given type.
virtual::Ice::ObjectProxySeq findAllReplicas (::std::shared_ptr<::Ice::ObjectPrx > proxy, const ::Ice::Current &current) const =0
 Find all the object replicas associated with the given proxy.
virtual ::std::shared_ptr<::Ice::ObjectPrxfindObjectById (::Ice::Identity id, const ::Ice::Current &current) const =0
 Find a well-known object by identity.
virtual ::std::shared_ptr<::Ice::ObjectPrxfindObjectByType (::std::string type, const ::Ice::Current &current) const =0
 Find a well-known object by type.
virtual ::std::shared_ptr<::Ice::ObjectPrxfindObjectByTypeOnLeastLoadedNode (::std::string type, LoadSample sample, const ::Ice::Current &current) const =0
 Find a well-known object by type on the least-loaded node.
virtual::std::string ice_id (const ::Ice::Current &current) const override
 Obtains a Slice type ID representing the most-derived interface supported by this object.
virtual ::std::vector<::std::string > ice_ids (const ::Ice::Current &current) const override
 Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual bool ice_isA (::std::string id, const ::Ice::Current &current) const override
 Determines whether this object supports an interface with the given Slice type ID.
Public Member Functions inherited from Ice::Object
virtual bool ice_dispatch (Ice::Request &request, std::function< bool()> response=nullptr, std::function< bool(std::exception_ptr)> error=nullptr)
 Dispatches an invocation to a servant.
virtual std::string ice_id (const Current &current) const
 Returns the Slice type ID of the most-derived interface supported by this object.
virtual std::vector< std::string > ice_ids (const Current &current) const
 Returns the Slice type IDs of the interfaces supported by this object.
virtual bool ice_isA (std::string s, const Current &current) const
 Tests whether this object supports a specific Slice interface.
virtual void ice_ping (const Current &current) const
 Tests whether this object can be reached.
virtual ~Object ()=default

Static Public Member Functions

static const ::std::string & ice_staticId ()
 Obtains the Slice type ID corresponding to this class.
Static Public Member Functions inherited from Ice::Object
static const std::string & ice_staticId ()
 Obtains the Slice type ID of this type.

Detailed Description

The IceGrid query interface.

This interface is accessible to Ice clients who wish to look up well-known objects.

Member Typedef Documentation

◆ ProxyType

Member Function Documentation

◆ findAllObjectsByType()

virtual::Ice::ObjectProxySeq IceGrid::Query::findAllObjectsByType ( ::std::string type,
const ::Ice::Current & current ) const
pure virtual

Find all the well-known objects with the given type.

Parameters
typeThe object type.
currentThe Current object for the invocation.
Returns
The proxies or an empty sequence, if no such objects have been found.

◆ findAllReplicas()

virtual::Ice::ObjectProxySeq IceGrid::Query::findAllReplicas ( ::std::shared_ptr<::Ice::ObjectPrx > proxy,
const ::Ice::Current & current ) const
pure virtual

Find all the object replicas associated with the given proxy.

If the given proxy is not an indirect proxy from a replica group, an empty sequence is returned.

Parameters
proxyThe object proxy.
currentThe Current object for the invocation.
Returns
The proxies of each object replica or an empty sequence, if the given proxy is not from a replica group.

◆ findObjectById()

virtual ::std::shared_ptr<::Ice::ObjectPrx > IceGrid::Query::findObjectById ( ::Ice::Identity id,
const ::Ice::Current & current ) const
pure virtual

Find a well-known object by identity.

Parameters
idThe identity.
currentThe Current object for the invocation.
Returns
The proxy or null if no such object has been found.

◆ findObjectByType()

virtual ::std::shared_ptr<::Ice::ObjectPrx > IceGrid::Query::findObjectByType ( ::std::string type,
const ::Ice::Current & current ) const
pure virtual

Find a well-known object by type.

If there are several objects registered for the given type, the object is randomly selected.

Parameters
typeThe object type.
currentThe Current object for the invocation.
Returns
The proxy or null, if no such object has been found.

◆ findObjectByTypeOnLeastLoadedNode()

virtual ::std::shared_ptr<::Ice::ObjectPrx > IceGrid::Query::findObjectByTypeOnLeastLoadedNode ( ::std::string type,
LoadSample sample,
const ::Ice::Current & current ) const
pure virtual

Find a well-known object by type on the least-loaded node.

If the registry does not know which node hosts the object (for example, because the object was registered with a direct proxy), the registry assumes the object is hosted on a node that has a load average of 1.0.

Parameters
typeThe object type.
sampleThe sampling interval.
currentThe Current object for the invocation.
Returns
The proxy or null, if no such object has been found.

◆ ice_id()

virtual::std::string IceGrid::Query::ice_id ( const ::Ice::Current & current) const
override

Obtains a Slice type ID representing the most-derived interface supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A fully-scoped type ID.

◆ ice_ids()

virtual ::std::vector<::std::string > IceGrid::Query::ice_ids ( const ::Ice::Current & current) const
override

Obtains a list of the Slice type IDs representing the interfaces supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A list of fully-scoped type IDs.

◆ ice_isA()

virtual bool IceGrid::Query::ice_isA ( ::std::string id,
const ::Ice::Current & current ) const
overridevirtual

Determines whether this object supports an interface with the given Slice type ID.

Parameters
idThe fully-scoped Slice type ID.
currentThe Current object for the invocation.
Returns
True if this object supports the interface, false, otherwise.

◆ ice_staticId()

const ::std::string & IceGrid::Query::ice_staticId ( )
static

Obtains the Slice type ID corresponding to this class.

Returns
A fully-scoped type ID.

The documentation for this class was generated from the following file: