Skip navigation.

CORBA Programming Reference

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

 


PortableServer::POA::activate_object_with_id

Synopsis

Activates an individual object with a specified ObjectId.

C++ Binding

void activate_object_with_id (
const ObjectId & id,
Servant p_servant);

Argument

id

ObjectId that identifies the object on which that operation was invoked.

p_servant

An instance of the C++ implementation class for the interface.

Exceptions

The ObjectAlreadyActive exception is raised if the CORBA object denoted by the ObjectId value is already active in this POA.

The ServantAlreadyActive exception is raised if the servant is already in the Active Object Map.

Note: Other exceptions can occur if the POA uses unsupported policies.

The BAD_PARAM system exception may be raised if the POA has the SYSTEM_ID policy and it detects that the ObjectId value was not generated by the system or for this POA. An ORB is not required to detect all such invalid ObjectId values. However, a portable application must not invoke activate_object_with_id on a POA if the POA has the SYSTEM_ID policy with an ObjectId value that was not previously generated by the system for that POA, or, if the POA also has the PERSISTENT policy, for a previous instantiation of the same POA.

Description

This operation enters an association between the specified ObjectId and the specified servant in the Active Object Map.

Note: This function is supported only for a joint client/server.

Return Values

None.

Example

MyFooServant* afoo = new MyFooServant(poa, 27);
PortableServer::ObjectId_var oid =
PortableServer::string_to_ObjectId("myLittleFoo");
poa->activate_object_with_id(oid.in(), afoo);
Foo_var foo = afoo->_this();

 

Skip navigation bar  Back to Top Previous Next