Ice 3.7 C++11 API Reference
Classes | Public Member Functions | Static Public Member Functions | List of all members
Ice::Object Class Reference

The base class for servants. More...

#include <Ice/Ice.h>

Inheritance diagram for Ice::Object:
Inheritance graph
[legend]

Classes

struct  Ice_invokeResult
 Holds the results of a call to ice_invoke. More...
 

Public Member Functions

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 of this type. More...
 

Detailed Description

The base class for servants.

Constructor & Destructor Documentation

◆ ~Object()

virtual Ice::Object::~Object ( )
virtualdefault

Member Function Documentation

◆ ice_dispatch()

virtual bool Ice::Object::ice_dispatch ( Ice::Request request,
std::function< bool()>  response = nullptr,
std::function< bool(std::exception_ptr)>  error = nullptr 
)
virtual

Dispatches an invocation to a servant.

This method is used by dispatch interceptors to forward an invocation to a servant (or to another interceptor).

Parameters
requestThe details of the invocation.
responseA function that should return true if Ice should send the response to the client. A null value is equivalent to a function that returns true.
errorA function that should return true if Ice should send the exception to the client. A null value is equivalent to a function that returns true.
Returns
True if the request completed synchronously, false if the request will be completed asynchronously.
Exceptions
UserExceptionA user exception that propagates out of this method will be marshaled as the result.

◆ ice_id()

virtual std::string Ice::Object::ice_id ( const Current current) const
virtual

Returns the Slice type ID of the most-derived interface supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
The Slice type ID of the most-derived interface.

Reimplemented in Ice::RouterFinder, Ice::Router, Ice::LoggerAdmin, Ice::RemoteLogger, Ice::PropertiesAdmin, Ice::Process, Ice::LocatorFinder, Ice::LocatorRegistry, and Ice::Locator.

◆ ice_ids()

virtual std::vector< std::string> Ice::Object::ice_ids ( const Current current) const
virtual

Returns the Slice type IDs of the interfaces supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
The Slice type IDs of the interfaces supported by this object, in base-to-derived order. The first element of the returned array is always "::Ice::Object".

Reimplemented in Ice::RouterFinder, Ice::Router, Ice::LoggerAdmin, Ice::RemoteLogger, Ice::PropertiesAdmin, Ice::Process, Ice::LocatorFinder, Ice::LocatorRegistry, and Ice::Locator.

◆ ice_isA()

virtual bool Ice::Object::ice_isA ( std::string  s,
const Current current 
) const
virtual

Tests whether this object supports a specific Slice interface.

Parameters
sThe type ID of the Slice interface to test against.
currentThe Current object for the invocation.
Returns
True if this object has the interface specified by s or derives from the interface specified by s.

◆ ice_ping()

virtual void Ice::Object::ice_ping ( const Current current) const
virtual

Tests whether this object can be reached.

Parameters
currentThe Current object for the invocation.

◆ ice_staticId()

static const std::string& Ice::Object::ice_staticId ( )
static

Obtains the Slice type ID of this type.

Returns
The return value is always "::Ice::Object".

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