int TAO_BiDIR_Service_Context_Handler::generate_service_context ( TAO_Stub *, TAO_Transport& transport, TAO_Operation_Details &opdetails, TAO_Target_Specification &, TAO_OutputCDR &msg) { if (transport.orb_core ()->bidir_giop_policy () && transport.messaging_object ()->is_ready_for_bidirectional (msg) && transport.bidirectional_flag () < 0) { transport.set_bidir_context_info (opdetails); // Set the flag to 1 (i.e., originating side) transport.bidirectional_flag (1); // At the moment we enable BiDIR giop we have to get a new // request id to make sure that we follow the even/odd rule // for request id's. We only need to do this when enabled // it, after that the Transport Mux Strategy will make sure // that the rule is followed opdetails.request_id (transport.tms ()->request_id ()); } return 0; }
int TAO_Codeset_Service_Context_Handler::generate_service_context ( TAO_Stub *, TAO_Transport& transport, TAO_Operation_Details &opdetails, TAO_Target_Specification &, TAO_OutputCDR &) { if (transport.first_request ()) { TAO_Codeset_Manager * const csm = transport.orb_core ()->codeset_manager (); if (csm) { csm->generate_service_context (opdetails, transport); } } return 0; }