IiopObjectSetBidirectional Function

Action

Prepares a connection to a remote object in order to receive callbacks for a local object.

Include file

IIOP.bdh

Syntax

IiopObjectSetBidirectional( in hRemote : number,
                            in hLocal  : number,
                            in nFlags  : number optional ): boolean;

Return value

  • true if successful

  • false otherwise

Parameter Description
hRemote Remote CORBA object. The connection between the local and the remote object is prepared to receive bidirectional IIOP traffic.
hLocal Local CORBA object. The connection between the local and the remote object is prepared to receive bidirectional IIOP traffic.
nFlags

Bidirectional connection flag (optional).

Pass the IIOP_NO_LISTEN flag to the function to prevent Silk Performer from preparing resources for incoming connects during a subsequent IiopObjectListen function call. Unless you specify this flag, Silk Performer accepts both incoming connects and bidirectional IIOP. When you pass this flag to the function, only bidirectional IIOP is accepted.

Pass the IIOP_USE_ORBIX_BIDIR_TAG flag to the function to modify the IOR of the callback object, in fact, for the Orbix ORB to use bidirectional IIOP when it tries to invoke the callback.

Example

var
  hRemote, hCallback: number;
 dcltrans
  transaction TMain
  begin
    // set up a callback object
    IiopObjectCreate(hCallback, "IDL:local:1.0" , "1.2",
                    "MyComputer", 0, "key");
    IiopObjectSetBidirectional(hRemote, hCallback,
                               IIOP_USE_ORBIX_BIDIR_TAG);
    IiopObjectListen(hCallback, "callback_func");
    // export the callback
    IiopSetObject(hRemote, hCallback);
    IiopRequest(hRemote, "func", IIOP_ONEWAY);
  end TMain;