summaryrefslogtreecommitdiff
path: root/TAO/tao/Remote_Invocation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Remote_Invocation.cpp')
-rw-r--r--TAO/tao/Remote_Invocation.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/TAO/tao/Remote_Invocation.cpp b/TAO/tao/Remote_Invocation.cpp
index e937eb30d7d..0e3ffa24553 100644
--- a/TAO/tao/Remote_Invocation.cpp
+++ b/TAO/tao/Remote_Invocation.cpp
@@ -36,20 +36,17 @@ namespace TAO
}
void
- Remote_Invocation::init_target_spec (TAO_Target_Specification &target_spec)
+ Remote_Invocation::init_target_spec (TAO_Target_Specification &target_spec,
+ TAO_OutputCDR &output)
{
- /**
- * Mega hack for RTCORBA start. I don't think that
- * PortableInterceptor would work here esp. for RTCORBA. PI needs
- * to be improved to help our cause.
- */
- this->resolver_.stub ()->orb_core ()->service_context_list (
- this->resolver_.stub (),
- this->details_.request_service_context (),
- 0);
- /**
- * Mega hack for RTCORBA END
- */
+ // Generate all service contexts
+ this->resolver_.stub ()->orb_core ()->service_context_registry ().
+ generate_service_context (
+ this->resolver_.stub (),
+ *this->resolver_.transport (),
+ this->details_,
+ target_spec,
+ output);
TAO_Profile *pfile = this->resolver_.profile ();
@@ -61,8 +58,7 @@ namespace TAO
break;
case TAO_Target_Specification::Profile_Addr:
{
- IOP::TaggedProfile *tp =
- pfile->create_tagged_profile ();
+ IOP::TaggedProfile *tp = pfile->create_tagged_profile ();
if (tp)
{
@@ -100,11 +96,11 @@ namespace TAO
void
Remote_Invocation::write_header (TAO_OutputCDR &out_stream)
{
- TAO_Target_Specification spec;
- this->init_target_spec (spec);
-
this->resolver_.transport ()->clear_translators (0, &out_stream);
+ TAO_Target_Specification spec;
+ this->init_target_spec (spec, out_stream);
+
// Send the request for the header
if (this->resolver_.transport ()->generate_request_header (this->details_,
spec,