Ice 3.7 C++11 API Reference
Public Types | Public Member Functions | Static Public Member Functions | List of all members
IceGrid::Query Class Referenceabstract

The IceGrid query interface. More...

#include <IceGrid/IceGrid.h>

Inheritance diagram for IceGrid::Query:
Inheritance graph
[legend]
Collaboration diagram for IceGrid::Query:
Collaboration graph
[legend]

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. More...
 
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. More...
 
virtual ::std::shared_ptr<::Ice::ObjectPrxfindObjectById (::Ice::Identity id, const ::Ice::Current &current) const =0
 Find a well-known object by identity. More...
 
virtual ::std::shared_ptr<::Ice::ObjectPrxfindObjectByType (::std::string type, const ::Ice::Current &current) const =0
 Find a well-known object by type. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
- 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. More...
 
virtual std::string ice_id (const Current &current) const
 Returns the Slice type ID of the most-derived interface supported by this object. More...
 
virtual std::vector< std::string > ice_ids (const Current &current) const
 Returns the Slice type IDs of the interfaces supported by this object. More...
 
virtual bool ice_isA (std::string s, const Current &current) const
 Tests whether this object supports a specific Slice interface. More...
 
virtual void ice_ping (const Current &current) const
 Tests whether this object can be reached. More...
 
virtual ~Object ()=default
 

Static Public Member Functions

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

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()

static 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: