Skip navigation.

CORBA Programming Reference

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

 


start_persistent_systemid

Synopsis

Activates an object, sets the ORB and the POA to the proper state, sets the output parameter stroid, and returns an object reference to the activated object.

IDL

Object start_persistent_systemid( 
in PortableServer::Servant servant,
in CORBA::RepositoryId rep_id,
out string stroid)
raises ( ServantAlreadyActive );

C++ Binding

CORBA::Object_ptr start_persistent_systemid(
PortableServer::Servant servant,
const char* rep_id,
char*& stroid);

JArguments

servant

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

rep_id

The repository ID of the interface.

stroid

This argument is set by the system and is opaque to the user. The client will use it when it reactivates the object at a later time (using restart_persistent_systemid), most likely after the client process has terminated and restarted.

Exceptions

ServantAlreadyActive

The servant is already being used for a callback. A servant can be used only for a callback with a single ObjectId. To receive callbacks on objects containing different ObjectIds, you must create different servants and activate them separately. The same servant can be reused only if a stop operation tells the system to stop using the servant for its original ObjectId.

CORBA::BAD_PARAMETER

The repository ID was a NULL string or the servant was a NULL pointer.

CORBA::IMP_LIMIT

In addition to other system reasons for this exception, a reason unique to this situation is that the joint client/server was not initialized with a port number; therefore, a persistent object reference cannot be created.

Description

This operation performs the following actions:

Return Value

CORBA::Object_ptr

An object reference created with the ObjectId generated by the system and the rep_id provided by the user. The object reference will need to be converted to a specific object type by invoking the _narrow() operation defined for the specific object. The caller is responsible for releasing the object when the conversion is done.

 

Skip navigation bar  Back to Top Previous Next