/** * This Policy will provide application server developers with portable * simplified ObjectGroupManagement semantics. * * ObjectGroupMembershipPolicy values: * * 1. AUTO_ORB_CTRL - The objects created on the POA will be * automatically FT replicated across all similar server processes (i.e. * that have a matching FT POA hierarchy). The behaviour from the users * perspective is 'AUTO' (see below) but the mechanism used by * the server side ORB to ensure this is left to the ORB implementation. * * NOTA: Only valid on POAs with LifespanPolicy 'PERSISTENT' and * IdAssignmentPolicy 'USER_ID'. * All POA operations that create object references will return * references that refer to the whole object group rather than to * this individual member. * * 2. AUTO_OBJ_GRP_MNGR - The objects created on the POA * will automatically FT replicated as above and as per the behaviour below. * The POA will use the relevant ObjectGroupManager operations to ensure that * this is achieved. At the point that a reference is created on the POA * (and before the reference is returned to the user code) the POA should * make use of appropriate GOA / ObjectGroupManager operations to: * 1. Get the group to which this object should belong * 2. Add the member to it. * 3. Return the new IOGR to the caller of the POA op. * * NOTA: Only valid on POAs with IdAssignmentPolicy USER_ID. * All POA operations that create object references will return * references that refer to the whole object group rather than to this * individual member. * NOTA: To retrieve the object group reference, compliant POAs should first * use the object group Locator, and if no Locator is present, it shall * attempt the NameService. * Compliant ORBs / FT implementations should make this the Object Group * Locator available to the POA by * ORB::resolve_initial_references ("FTObjectGroupLocator"). * * 3. USER_CTRL_OBJ_GRP_MNGR - The POA created with this policy will * be a GOA. * This will make the GOA object group management operations available. * The interaction with the FT infrastructure will be via the * ObjectGroupManager as per the already existing spec. * * Compliant ORBs / FT implementations should make the ObjectGroupManager * available to the Object Adapter by * ORB::resolve_initial_references ("FTObjectGroupManager"). */ enum ObjectGroupMembershipPolicyValue { AUTO_ORB_CTRL, AUTO_OBJ_GRP_MNGR, USER_CTRL_OBJ_GRP_MNGR }; local interface ObjectGroupMembershipPolicy : CORBA::Policy { readonly attribute ObjectGroupMembershipPolicyValue value; };