Ice 3.7 C++98 API Reference
Loading...
Searching...
No Matches
Ice::Object Class Reference

The base class for servants. More...

#include <Ice/Ice.h>

Inherits IceUtil::Shared.

Inherited by Glacier2::IdentitySet [virtual], Glacier2::PermissionsVerifier [virtual], Glacier2::SSLPermissionsVerifier [virtual], Glacier2::SSLSessionManager [virtual], Glacier2::Session [virtual], Glacier2::SessionControl [virtual], Glacier2::SessionManager [virtual], Glacier2::StringSet [virtual], Ice::Blobject [virtual], Ice::BlobjectArray [virtual], Ice::BlobjectArrayAsync [virtual], Ice::BlobjectAsync [virtual], Ice::DispatchInterceptor [virtual], Ice::Locator [virtual], Ice::LocatorFinder [virtual], Ice::LocatorRegistry [virtual], Ice::LoggerAdmin [virtual], Ice::Process [virtual], Ice::PropertiesAdmin [virtual], Ice::RemoteLogger [virtual], Ice::Router [virtual], Ice::RouterFinder [virtual], IceBox::ServiceManager [virtual], IceBox::ServiceObserver [virtual], IceDiscovery::Lookup [virtual], IceDiscovery::LookupReply [virtual], IceGrid::AdapterObserver [virtual], IceGrid::Admin [virtual], IceGrid::ApplicationObserver [virtual], IceGrid::BoxedDistributionDescriptor [virtual], IceGrid::BoxedString [virtual], IceGrid::CommunicatorDescriptor [virtual], IceGrid::FileIterator [virtual], IceGrid::FileParser [virtual], IceGrid::LoadBalancingPolicy [virtual], IceGrid::NodeObserver [virtual], IceGrid::ObjectObserver [virtual], IceGrid::Query [virtual], IceGrid::Registry [virtual], IceGrid::RegistryObserver [virtual], IceGrid::UserAccountMapper [virtual], IceInternal::GCObject, IceLocatorDiscovery::Lookup [virtual], IceLocatorDiscovery::LookupReply [virtual], IceMX::Metrics [virtual], IceMX::MetricsAdmin [virtual], , IceStorm::Finder [virtual], and IceStorm::Topic [virtual].

Collaboration diagram for Ice::Object:

Public Member Functions

virtual ObjectPtr ice_clone () const
 Returns a shallow copy of the object.
virtual void ice_collectable (bool b)
 Determines whether this object, and by extension the graph of all objects reachable from this object, are eligible for garbage collection when all external references to the graph have been released.
virtual bool ice_dispatch (Ice::Request &request, const DispatchInterceptorAsyncCallbackPtr &cb=0)
 Dispatches an invocation to a servant.
virtual SlicedDataPtr ice_getSlicedData () const
 Obtains the sliced data associated with this instance.
virtual const std::string & ice_id (const Current &current=Ice::emptyCurrent) 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=Ice::emptyCurrent) const
 Returns the Slice type IDs of the interfaces supported by this object.
virtual bool ice_isA (const std::string &s, const Current &current=Ice::emptyCurrent) const
 Tests whether this object supports a specific Slice interface.
virtual Int ice_operationAttributes (const std::string &operation) const
 Returns the Freeze metadata attributes for an operation.
virtual void ice_ping (const Current &current=Ice::emptyCurrent) const
 Tests whether this object can be reached.
virtual void ice_postUnmarshal ()
 The Ice run time invokes this method vafter unmarshaling an object's data members.
virtual void ice_preMarshal ()
 The Ice run time invokes this method prior to marshaling an object's data members.
virtual bool operator< (const Object &) const
virtual bool operator== (const Object &) const
Public Member Functions inherited from IceUtil::Shared
void __clearFlag (unsigned char flag)
virtual void __decRef ()
virtual int __getRef () const
bool __hasFlag (unsigned char flag)
virtual void __incRef ()
void __setFlag (unsigned char flag)
virtual void __setNoDelete (bool)
Sharedoperator= (const Shared &)
 Shared ()
 Shared (const Shared &)
virtual ~Shared ()

Static Public Member Functions

static const std::string & ice_staticId ()
 Obtains the Slice type ID of this type.

Protected Member Functions

 Object ()
virtual ~Object ()

Additional Inherited Members

Static Public Attributes inherited from IceUtil::Shared
static const unsigned char NoDelete
Protected Attributes inherited from IceUtil::Shared
unsigned char _flags
IceUtilInternal::Atomic _ref

Detailed Description

The base class for servants.

Constructor & Destructor Documentation

◆ Object()

Ice::Object::Object ( )
inlineprotected

◆ ~Object()

virtual Ice::Object::~Object ( )
inlineprotectedvirtual

Member Function Documentation

◆ ice_clone()

◆ ice_collectable()

virtual void Ice::Object::ice_collectable ( bool b)
virtual

Determines whether this object, and by extension the graph of all objects reachable from this object, are eligible for garbage collection when all external references to the graph have been released.

Parameters
bTrue if the object is eligible, false otherwise.

◆ ice_dispatch()

virtual bool Ice::Object::ice_dispatch ( Ice::Request & request,
const DispatchInterceptorAsyncCallbackPtr & cb = 0 )
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.
cbThe asynchronous callback object.
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_getSlicedData()

virtual SlicedDataPtr Ice::Object::ice_getSlicedData ( ) const
virtual

Obtains the sliced data associated with this instance.

Returns
The sliced data if the value has a preserved-slice base class and has been sliced during unmarshaling of the value, nil otherwise.

Reimplemented in Ice::UnknownSlicedValue.

◆ ice_id()

virtual const std::string & Ice::Object::ice_id ( const Current & current = Ice::emptyCurrent) 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::Locator, Ice::LocatorFinder, Ice::LocatorRegistry, Ice::LoggerAdmin, Ice::Process, Ice::PropertiesAdmin, Ice::RemoteLogger, Ice::Router, Ice::RouterFinder, and Ice::UnknownSlicedValue.

◆ ice_ids()

virtual std::vector< std::string > Ice::Object::ice_ids ( const Current & current = Ice::emptyCurrent) 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::Locator, Ice::LocatorFinder, Ice::LocatorRegistry, Ice::LoggerAdmin, Ice::Process, Ice::PropertiesAdmin, Ice::RemoteLogger, Ice::Router, and Ice::RouterFinder.

◆ ice_isA()

virtual bool Ice::Object::ice_isA ( const std::string & s,
const Current & current = Ice::emptyCurrent ) 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_operationAttributes()

virtual Int Ice::Object::ice_operationAttributes ( const std::string & operation) const
virtual

Returns the Freeze metadata attributes for an operation.

Parameters
operationThe name of the operation.
Returns
The least significant bit indicates whether the operation is a read or write operation. If the bit is set, the operation is a write operation. The expression ice_operationAttributes("op") & 0x1 is true if the operation has a ["freeze:write"] metadata directive.

The second and third least significant bit indicate the transactional mode of the operation. The expression ice_operationAttributes("op") & 0x6 >> 1 indicates the transactional mode as follows:

0
["freeze:read:supports"]
1
["freeze:read:mandatory"] or ["freeze:write:mandatory"]
2
["freeze:read:required"] or ["freeze:write:required"]
3
["freeze:read:never"]

Refer to the Freeze manual for more information on the TransactionalEvictor.

◆ ice_ping()

virtual void Ice::Object::ice_ping ( const Current & current = Ice::emptyCurrent) const
virtual

Tests whether this object can be reached.

Parameters
currentThe Current object for the invocation.

◆ ice_postUnmarshal()

virtual void Ice::Object::ice_postUnmarshal ( )
virtual

The Ice run time invokes this method vafter unmarshaling an object's data members.

This allows a subclass to override this method in order to perform additional initialization.

◆ ice_preMarshal()

virtual void Ice::Object::ice_preMarshal ( )
virtual

The Ice run time invokes this method prior to marshaling an object's data members.

This allows a subclass to override this method in order to validate its data members.

◆ ice_staticId()

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

Obtains the Slice type ID of this type.

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

◆ operator<()

virtual bool Ice::Object::operator< ( const Object & ) const
virtual

◆ operator==()

virtual bool Ice::Object::operator== ( const Object & ) const
virtual

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