diff options
author | fhunleth <fhunleth@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-28 17:26:05 +0000 |
---|---|---|
committer | fhunleth <fhunleth@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-28 17:26:05 +0000 |
commit | b41264832b9a6918dd628391e56e1ae38af0638f (patch) | |
tree | 06d133d32a61f65ad1c37af73e6211fa43146d46 | |
parent | 35a72ce0bb38a2a3e868a7d29810061d9357ca71 (diff) | |
download | ATCD-b41264832b9a6918dd628391e56e1ae38af0638f.tar.gz |
ChangeLogTag: Wed Mar 28 09:31:54 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
31 files changed, 1746 insertions, 409 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 9e05733023f..a455fef7699 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,41 @@ +Wed Mar 28 09:31:54 2001 Frank Hunleth <fhunleth@cs.wustl.edu> + + * tests/RTCORBA/Client_Propagated/Client_ORBInitializer.{cpp,h}: + * tests/RTCORBA/Client_Propagated/Makefile: + * tests/RTCORBA/Client_Propagated/client.dsp: + * tests/RTCORBA/Client_Propagated/client.cpp: + * tests/RTCORBA/Client_Propagated/interceptors.{cpp,h}: + Added portable interceptor code to verify that the client + propagated priority is passed in the service context list + back from the server. + + * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: + Added Ossama's changes to replicate Bug #806. Also added many + checks to verify the functionality of the service context + manipulation methods for requests and replies, and added checks + to verify that proper service context list contents are received + from both the client and the server. The test no longer relies + on visual inspection of the results to show proper execution. + + * tao/ClientRequestInfo.{cpp,h}: + * tao/GIOP_Message_Base.cpp: + * tao/GIOP_Message_Generator_Parser_10.cpp: + * tao/GIOP_Message_Generator_Parser_12.cpp: + * tao/GIOP_Message_Handler.cpp: + * tao/GIOP_Message_Lite.cpp: + * tao/IIOP_Transport.cpp: + * tao/Invocation.{cpp,h,i}: + * tao/RT_Protocols_Hooks.cpp: + * tao/Service_Context.{cpp,h}: + * tao/TAO_Server_Request.{cpp,h,i}: + * tao/operation_details.{h,i}: + * tao/PortableServer/Object_Adapter.{cpp,h}: + * tao/PortableServer/ServerRequestInfo.{cpp,h}: + Separated out request and reply service context lists to fix + Bug #806. Refactored out code duplication in + ClientRequestInfo.{cpp,h} and ServerRequestInfo.{cpp,h} + using the TAO_Service_Context class. + Wed Mar 28 08:18:00 2001 Craig Rodrigues <crodrigu@bbn.com> * orbsvcs/orbsvcs/AV/UDP.h: diff --git a/TAO/tao/ClientRequestInfo.cpp b/TAO/tao/ClientRequestInfo.cpp index 03e6014c8ef..bc93568befa 100644 --- a/TAO/tao/ClientRequestInfo.cpp +++ b/TAO/tao/ClientRequestInfo.cpp @@ -265,33 +265,15 @@ TAO_ClientRequestInfo::add_request_service_context ( CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - IOP::ServiceContextList &service_context_list = - this->invocation_->service_info (); + // Get the service context from the list + TAO_Service_Context &service_context_list = + this->invocation_->request_service_context (); - // Copy the service context into the list. - CORBA::ULong len = service_context_list.length (); - - // First check if a service context with the same ID exists. - for (CORBA::ULong i = 0; i < len; ++i) + if (service_context_list.set_context (service_context,replace) == 0) { - if (service_context_list[i].context_id == - service_context.context_id) - { - if (replace) - { - service_context_list[i] = service_context; - return; - } - else - ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 11, - CORBA::COMPLETED_NO)); - } + ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 11, + CORBA::COMPLETED_NO)); } - - // No service context with the given ID exists so add one. - service_context_list.length (len + 1); - - service_context_list[len] = service_context; } CORBA::ULong @@ -432,68 +414,65 @@ TAO_ClientRequestInfo::get_request_service_context ( CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - IOP::ServiceContextList &service_context_list = - this->invocation_->service_info (); - CORBA::ULong len = service_context_list.length (); + // Get the service context from the list + TAO_Service_Context &service_context_list = + this->invocation_->request_service_context (); - for (CORBA::ULong i = 0; i < len; ++i) - if (service_context_list[i].context_id == id) - { - IOP::ServiceContext *service_context = 0; - ACE_NEW_THROW_EX (service_context, - IOP::ServiceContext, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO_DEFAULT_MINOR_CODE, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - IOP::ServiceContext_var safe_service_context = service_context; - - (*service_context) = service_context_list[i]; - - return safe_service_context._retn (); - } - - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, - CORBA::COMPLETED_NO), - 0); + return this->get_service_context_i (service_context_list, + id, + ACE_TRY_ENV); } + IOP::ServiceContext * TAO_ClientRequestInfo::get_reply_service_context ( IOP::ServiceId id, CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - IOP::ServiceContextList &service_context_list = - this->invocation_->service_info (); - CORBA::ULong len = service_context_list.length (); + // Get the service context from the list + TAO_Service_Context &service_context_list = + this->invocation_->reply_service_context (); - for (CORBA::ULong i = 0; i < len; ++i) - if (service_context_list[i].context_id == id) - { - IOP::ServiceContext *service_context = 0; - ACE_NEW_THROW_EX (service_context, - IOP::ServiceContext, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO_DEFAULT_MINOR_CODE, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - IOP::ServiceContext_var safe_service_context = service_context; - - (*service_context) = service_context_list[i]; - - return safe_service_context._retn (); - } - - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, - CORBA::COMPLETED_NO), - 0); + return this->get_service_context_i (service_context_list, + id, + ACE_TRY_ENV); +} + +IOP::ServiceContext * +TAO_ClientRequestInfo::get_service_context_i ( + TAO_Service_Context &service_context_list, + IOP::ServiceId id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Create a new service context to be returned. Assume + // success. + IOP::ServiceContext *service_context = 0; + ACE_NEW_THROW_EX (service_context, + IOP::ServiceContext, + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (0); + + IOP::ServiceContext_var safe_service_context = service_context; + + service_context->context_id = id; + if (service_context_list.get_context (*service_context) != 0) + { + // Found. + return safe_service_context._retn (); + } + else + { + // Not found. + ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, + CORBA::COMPLETED_NO), + 0); + } } void diff --git a/TAO/tao/ClientRequestInfo.h b/TAO/tao/ClientRequestInfo.h index 1df7a0508a0..13dae677050 100644 --- a/TAO/tao/ClientRequestInfo.h +++ b/TAO/tao/ClientRequestInfo.h @@ -37,6 +37,7 @@ #include "PortableInterceptorC.h" #include "LocalObject.h" #include "StringSeqC.h" +#include "Service_Context.h" class TAO_GIOP_Invocation; @@ -160,6 +161,12 @@ public: ACE_THROW_SPEC ((CORBA::SystemException)); protected: + /// Helper method to get the request and response service contexts. + IOP::ServiceContext *get_service_context_i ( + TAO_Service_Context &service_context_list, + IOP::ServiceId id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)); /// Change the exception status. void exception (CORBA::Exception *exception); diff --git a/TAO/tao/GIOP_Message_Base.cpp b/TAO/tao/GIOP_Message_Base.cpp index 396e58cea40..4cde6d5f19b 100644 --- a/TAO/tao/GIOP_Message_Base.cpp +++ b/TAO/tao/GIOP_Message_Base.cpp @@ -544,9 +544,8 @@ TAO_GIOP_Message_Base::process_request (TAO_Transport *transport, reply_params.reply_status_ = TAO_GIOP_LOCATION_FORWARD; reply_params.svc_ctx_.length (0); - // Sending back the same service context list we received in the - // Request. (Important for RT CORBA). - reply_params.service_context_notowned (&request.service_info ()); + // Send back the reply service context. + reply_params.service_context_notowned (&request.reply_service_info ()); // Make the GIOP header and Reply header this->generate_reply_header (*this->output_, @@ -580,7 +579,7 @@ TAO_GIOP_Message_Base::process_request (TAO_Transport *transport, result = this->send_reply_exception (transport, orb_core, request_id, - &request.service_info (), + &request.reply_service_info (), &ACE_ANY_EXCEPTION); if (result == -1) { @@ -640,7 +639,7 @@ TAO_GIOP_Message_Base::process_request (TAO_Transport *transport, result = this->send_reply_exception (transport, orb_core, request_id, - &request.service_info (), + &request.reply_service_info (), &exception); if (result == -1) { diff --git a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp index 50eaaf230da..4d13a5593ae 100644 --- a/TAO/tao/GIOP_Message_Generator_Parser_10.cpp +++ b/TAO/tao/GIOP_Message_Generator_Parser_10.cpp @@ -29,7 +29,7 @@ TAO_GIOP_Message_Generator_Parser_10::write_request_header ( TAO_OutputCDR &msg) { // Write the service context list - msg << opdetails.service_info (); + msg << opdetails.request_service_info (); // The request ID msg << opdetails.request_id (); @@ -296,7 +296,7 @@ TAO_GIOP_Message_Generator_Parser_10::parse_request_header ( TAO_InputCDR& input = request.incoming (); IOP::ServiceContextList &service_info = - request.service_info (); + request.request_service_info (); input >> service_info; diff --git a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp index 1c4b85135fd..26fceb041dc 100644 --- a/TAO/tao/GIOP_Message_Generator_Parser_12.cpp +++ b/TAO/tao/GIOP_Message_Generator_Parser_12.cpp @@ -87,7 +87,7 @@ TAO_GIOP_Message_Generator_Parser_12::write_request_header ( opdetails.opname ()); // Write the service context list - msg << opdetails.service_info (); + msg << opdetails.request_service_info (); // We align the pointer only if the operation has arguments. if (opdetails.argument_flag ()) @@ -346,10 +346,10 @@ TAO_GIOP_Message_Generator_Parser_12::parse_request_header ( // verify a digital signature, if that is required in this security // environment. It may be required even when using IPSEC security // infrastructure. - IOP::ServiceContextList &service_info = - request.service_info (); + IOP::ServiceContextList &req_service_info = + request.request_service_info (); - input >> service_info; + input >> req_service_info; // Check an process if BiDir contexts are available if (request.orb_core ()->bidir_giop_policy ()) @@ -585,12 +585,14 @@ int TAO_GIOP_Message_Generator_Parser_12::check_bidirectional_context ( TAO_ServerRequest &request) { + TAO_Service_Context &service_context = request.request_service_context (); + // Check whether we have the BiDir service context info available in // the ServiceContextList - if (request.service_context ().is_service_id (IOP::BI_DIR_IIOP) + if (service_context.is_service_id (IOP::BI_DIR_IIOP) == 1) { - return this->process_bidir_context (request.service_context (), + return this->process_bidir_context (service_context, request.transport ()); } diff --git a/TAO/tao/GIOP_Message_Lite.cpp b/TAO/tao/GIOP_Message_Lite.cpp index 4ef083ccf55..182b8033dbd 100644 --- a/TAO/tao/GIOP_Message_Lite.cpp +++ b/TAO/tao/GIOP_Message_Lite.cpp @@ -605,9 +605,8 @@ TAO_GIOP_Message_Lite::process_request (TAO_Transport *transport, reply_params.reply_status_ = TAO_GIOP_LOCATION_FORWARD; reply_params.svc_ctx_.length (0); - // Sending back the same service context list we received in the - // Request. (Important for RT CORBA). - reply_params.service_context_notowned (&request.service_info ()); + // Send back the reply service context list. + reply_params.service_context_notowned (&request.reply_service_info ()); // Make the GIOP header and Reply header this->generate_reply_header (*this->output_, @@ -641,7 +640,7 @@ TAO_GIOP_Message_Lite::process_request (TAO_Transport *transport, result = this->send_reply_exception (transport, orb_core, request_id, - &request.service_info (), + &request.reply_service_info (), &ACE_ANY_EXCEPTION); if (result == -1) { @@ -701,7 +700,7 @@ TAO_GIOP_Message_Lite::process_request (TAO_Transport *transport, result = this->send_reply_exception (transport, orb_core, request_id, - &request.service_info (), + &request.reply_service_info (), &exception); if (result == -1) { diff --git a/TAO/tao/IIOP_Transport.cpp b/TAO/tao/IIOP_Transport.cpp index 16be7c5eb40..d407766977f 100644 --- a/TAO/tao/IIOP_Transport.cpp +++ b/TAO/tao/IIOP_Transport.cpp @@ -459,8 +459,8 @@ TAO_IIOP_Transport::set_bidir_context_info (TAO_Operation_Details &opdetails) return; // Add this info in to the svc_list - opdetails.service_context ().set_context (IOP::BI_DIR_IIOP, - cdr); + opdetails.request_service_context ().set_context (IOP::BI_DIR_IIOP, + cdr); return; } diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index 707cd3378b0..bd6972214ed 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -321,7 +321,7 @@ TAO_GIOP_Invocation::prepare_header (CORBA::Octet response_flags, // First lookup at the services to see whether they have anything to // add to the service context lists this->orb_core_->service_context_list (this->stub_, - this->service_info (), + this->request_service_context().service_info (), this->restart_flag_, ACE_TRY_ENV); ACE_CHECK; @@ -577,7 +577,7 @@ TAO_GIOP_Invocation::add_rt_service_context (CORBA_Environment &ACE_TRY_ENV) TAO_GIOP_Synch_Invocation::TAO_GIOP_Synch_Invocation (void) : rd_ (0, - this->op_details_.service_info ()) + this->op_details_.reply_service_info ()) { } diff --git a/TAO/tao/Invocation.h b/TAO/tao/Invocation.h index 3296c919009..84b217935f6 100644 --- a/TAO/tao/Invocation.h +++ b/TAO/tao/Invocation.h @@ -116,7 +116,11 @@ public: /// Accessor to the request ServiceContextList. Only valid when /// sending a request message. - IOP::ServiceContextList& service_info (void); + TAO_Service_Context& request_service_context (void); + + /// Accessor to the reply ServiceContextList. Only valid when + /// after receiving a reply message. + TAO_Service_Context& reply_service_context (void); /// Return the request id of this invocation. CORBA::ULong request_id (void); diff --git a/TAO/tao/Invocation.i b/TAO/tao/Invocation.i index 3d9276bae1b..64056d9fac2 100644 --- a/TAO/tao/Invocation.i +++ b/TAO/tao/Invocation.i @@ -2,14 +2,20 @@ // // $Id$ -ACE_INLINE IOP::ServiceContextList & -TAO_GIOP_Invocation::service_info (void) +ACE_INLINE TAO_Service_Context & +TAO_GIOP_Invocation::request_service_context (void) { - return this->op_details_.service_info (); + return this->op_details_.request_service_context (); +} + +ACE_INLINE TAO_Service_Context & +TAO_GIOP_Invocation::reply_service_context (void) +{ + return this->op_details_.reply_service_context (); } ACE_INLINE CORBA::ULong -TAO_GIOP_Invocation::request_id (void) +TAO_GIOP_Invocation::request_id (void) { return this->op_details_.request_id (); } @@ -21,7 +27,7 @@ TAO_GIOP_Invocation::operation (void) } ACE_INLINE TAO_OutputCDR & -TAO_GIOP_Invocation::out_stream (void) +TAO_GIOP_Invocation::out_stream (void) { return this->out_stream_; } @@ -30,7 +36,7 @@ ACE_INLINE void TAO_GIOP_Invocation::restart_flag (CORBA::Boolean flag) { // Set the flag - this->restart_flag_ = flag; + this->restart_flag_ = flag; } ACE_INLINE CORBA::Object_ptr @@ -113,18 +119,18 @@ TAO_GIOP_Synch_Invocation::TAO_GIOP_Synch_Invocation ( TAO_ORB_Core *orb_core, int byte_order ) - : TAO_GIOP_Invocation (stub, - operation, - opname_len, - argument_flag, - orb_core, - byte_order), - rd_ (orb_core, - this->op_details_.service_info ()) + : TAO_GIOP_Invocation (stub, + operation, + opname_len, + argument_flag, + orb_core, + byte_order), + rd_ (orb_core, + this->op_details_.reply_service_info ()) { } -ACE_INLINE TAO_InputCDR & +ACE_INLINE TAO_InputCDR & TAO_GIOP_Synch_Invocation::inp_stream (void) { return this->rd_.reply_cdr (); @@ -142,23 +148,23 @@ TAO_GIOP_Twoway_Invocation::TAO_GIOP_Twoway_Invocation ( int byte_order ) : TAO_GIOP_Synch_Invocation (stub, - operation, - opname_len, - argument_flag, - orb_core, + operation, + opname_len, + argument_flag, + orb_core, byte_order) { } ACE_INLINE -TAO_GIOP_Twoway_Invocation::~TAO_GIOP_Twoway_Invocation (void) +TAO_GIOP_Twoway_Invocation::~TAO_GIOP_Twoway_Invocation (void) { } // **************************************************************** ACE_INLINE -TAO_GIOP_Oneway_Invocation::~TAO_GIOP_Oneway_Invocation (void) +TAO_GIOP_Oneway_Invocation::~TAO_GIOP_Oneway_Invocation (void) { } @@ -173,16 +179,16 @@ TAO_GIOP_Oneway_Invocation::sync_scope (void) ACE_INLINE TAO_GIOP_Locate_Request_Invocation:: TAO_GIOP_Locate_Request_Invocation (TAO_Stub *stub, - TAO_ORB_Core *orb_core) + TAO_ORB_Core *orb_core) : TAO_GIOP_Synch_Invocation (stub, - 0, - 0, - 0, - orb_core) + 0, + 0, + 0, + orb_core) { } ACE_INLINE -TAO_GIOP_Locate_Request_Invocation::~TAO_GIOP_Locate_Request_Invocation (void) +TAO_GIOP_Locate_Request_Invocation::~TAO_GIOP_Locate_Request_Invocation (void) { } diff --git a/TAO/tao/PortableServer/Object_Adapter.cpp b/TAO/tao/PortableServer/Object_Adapter.cpp index e3532b8b4ee..6b156ac108e 100644 --- a/TAO/tao/PortableServer/Object_Adapter.cpp +++ b/TAO/tao/PortableServer/Object_Adapter.cpp @@ -268,7 +268,9 @@ TAO_Object_Adapter::dispatch_servant (const TAO_ObjectKey &key, Priority_Model_Processing priority_processing (servant_upcall.poa ()); // Set thread's priority. - priority_processing.pre_invoke (req.service_info (), ACE_TRY_ENV); + priority_processing.pre_invoke (req.request_service_context (), + req.reply_service_context (), + ACE_TRY_ENV); ACE_CHECK_RETURN (result); #endif /* TAO_HAS_RT_CORBA == 1 */ @@ -1444,7 +1446,8 @@ TAO_Object_Adapter::Priority_Model_Processing::~Priority_Model_Processing void TAO_Object_Adapter::Priority_Model_Processing::pre_invoke ( - IOP::ServiceContextList &service_context_list, + TAO_Service_Context &request_service_context, + TAO_Service_Context &reply_service_context, CORBA::Environment &ACE_TRY_ENV) { TAO_POA_Policies &poa_policies = this->poa_.policies (); @@ -1467,37 +1470,35 @@ TAO_Object_Adapter::Priority_Model_Processing::pre_invoke ( // Attempt to extract client-propagated priority from the // ServiceContextList of the request. RTCORBA::Priority target_priority; - int priority_found = 0; - for (CORBA::ULong i = 0; - i < service_context_list.length () && !priority_found; - ++i) - { - IOP::ServiceContext &context = service_context_list[i]; - - if (context.context_id == IOP::RTCorbaPriority) - { - TAO_InputCDR cdr (ACE_reinterpret_cast - (const char*, - context.context_data.get_buffer ()), - context.context_data.length ()); - - CORBA::Boolean byte_order; - if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) - ACE_THROW (CORBA::MARSHAL ()); - cdr.reset_byte_order (ACE_static_cast(int,byte_order)); - - if ((cdr >> target_priority) == 0) - ACE_THROW (CORBA::MARSHAL ()); + const IOP::ServiceContext *context; - priority_found = 1; - break; - } + if (request_service_context.get_context (IOP::RTCorbaPriority, + &context) == 1) + { + // Extract the target priority + TAO_InputCDR cdr (ACE_reinterpret_cast + (const char*, + context->context_data.get_buffer ()), + context->context_data.length ()); + CORBA::Boolean byte_order; + if ((cdr >> ACE_InputCDR::to_boolean (byte_order)) == 0) + ACE_THROW (CORBA::MARSHAL ()); + cdr.reset_byte_order (ACE_static_cast(int,byte_order)); + + if ((cdr >> target_priority) == 0) + ACE_THROW (CORBA::MARSHAL ()); + + // Save the target priority in the response service + // context to propagate back to the client as specified + // by the RTCORBA specification. + reply_service_context.set_context (*context); + } + else + { + // Use default priority if none came in the request. (Request + // must have come from a non-RT ORB.) + target_priority = poa_policies.server_priority (); } - - // Use default priority if none came in the request. (Request - // must have come from a non-RT ORB.) - if (!priority_found) - target_priority = poa_policies.server_priority (); // Change the priority of the current thread to the // client-propagated value for the duration of diff --git a/TAO/tao/PortableServer/Object_Adapter.h b/TAO/tao/PortableServer/Object_Adapter.h index a6b1a382782..eab83a3cacc 100644 --- a/TAO/tao/PortableServer/Object_Adapter.h +++ b/TAO/tao/PortableServer/Object_Adapter.h @@ -40,6 +40,7 @@ // RTCORBA #include "tao/RTCORBAC.h" +#include "tao/Service_Context.h" // Local Object #include "tao/LocalObject.h" @@ -733,7 +734,8 @@ public: // <post_invoke> method hasn't been called. Unlike <post_invoke>, // this method cannot propagate exceptions to the user. - void pre_invoke (IOP::ServiceContextList &service_context_list, + void pre_invoke (TAO_Service_Context &request_service_context, + TAO_Service_Context &reply_service_context, CORBA::Environment &ACE_TRY_ENV); // Checks if target POA supports RTCORBA::CLIENT_PROPAGATED // PriorityModel. If so, stores the original priority of the diff --git a/TAO/tao/PortableServer/ServerRequestInfo.cpp b/TAO/tao/PortableServer/ServerRequestInfo.cpp index 8b583fce340..05f48b2e885 100644 --- a/TAO/tao/PortableServer/ServerRequestInfo.cpp +++ b/TAO/tao/PortableServer/ServerRequestInfo.cpp @@ -159,34 +159,12 @@ TAO_ServerRequestInfo::get_request_service_context ( CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - IOP::ServiceContextList &service_context_list = - this->server_request_.service_context ().service_info (); + TAO_Service_Context &service_context_list = + this->server_request_.request_service_context (); - CORBA::ULong len = service_context_list.length (); - - for (CORBA::ULong i = 0; i < len; ++i) - if (service_context_list[i].context_id == id) - { - IOP::ServiceContext *service_context = 0; - ACE_NEW_THROW_EX (service_context, - IOP::ServiceContext, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO_DEFAULT_MINOR_CODE, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); - - IOP::ServiceContext_var safe_service_context = service_context; - - (*service_context) = service_context_list[i]; - - return safe_service_context._retn (); - } - - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, - CORBA::COMPLETED_NO), - 0); + return this->get_service_context_i (service_context_list, + id, + ACE_TRY_ENV); } IOP::ServiceContext * @@ -195,37 +173,50 @@ TAO_ServerRequestInfo::get_reply_service_context ( CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - IOP::ServiceContextList &service_context_list = - this->server_request_.service_context ().service_info (); - - CORBA::ULong len = service_context_list.length (); - - for (CORBA::ULong i = 0; i < len; ++i) - if (service_context_list[i].context_id == id) - { - IOP::ServiceContext *service_context = 0; - ACE_NEW_THROW_EX (service_context, - IOP::ServiceContext, - CORBA::NO_MEMORY ( - CORBA::SystemException::_tao_minor_code ( - TAO_DEFAULT_MINOR_CODE, - ENOMEM), - CORBA::COMPLETED_NO)); - ACE_CHECK_RETURN (0); + TAO_Service_Context &service_context_list = + this->server_request_.reply_service_context (); - IOP::ServiceContext_var safe_service_context = service_context; + return this->get_service_context_i (service_context_list, + id, + ACE_TRY_ENV); +} - (*service_context) = service_context_list[i]; +IOP::ServiceContext * +TAO_ServerRequestInfo::get_service_context_i ( + TAO_Service_Context &service_context_list, + IOP::ServiceId id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Create a new service context to be returned. Assume + // success. + IOP::ServiceContext *service_context = 0; + ACE_NEW_THROW_EX (service_context, + IOP::ServiceContext, + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (0); - return safe_service_context._retn (); - } + IOP::ServiceContext_var safe_service_context = service_context; - ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, - CORBA::COMPLETED_NO), - 0); + service_context->context_id = id; + if (service_context_list.get_context (*service_context) != 0) + { + // Found. + return safe_service_context._retn (); + } + else + { + // Not found. + ACE_THROW_RETURN (CORBA::BAD_PARAM (TAO_OMG_VMCID | 23, + CORBA::COMPLETED_NO), + 0); + } } - // Use at own risk. There is no way currently of extracting an // exception from an Any. This method is in place just to be compliant // with the spec. @@ -389,33 +380,15 @@ TAO_ServerRequestInfo::add_reply_service_context ( CORBA::Environment &ACE_TRY_ENV) ACE_THROW_SPEC ((CORBA::SystemException)) { - // Copy the service context into the list. - IOP::ServiceContextList &service_context_list = - this->server_request_.service_context ().service_info (); + // Get the service context from the list + TAO_Service_Context &service_context_list = + this->server_request_.reply_service_context (); - CORBA::ULong len = service_context_list.length (); - - // First check if a service context with the same ID exists. - for (CORBA::ULong i = 0; i < len; ++i) + if (service_context_list.set_context (service_context,replace) == 0) { - if (service_context_list[i].context_id == - service_context.context_id) - { - if (replace) - { - service_context_list[i] = service_context; - return; - } - else - ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 11, - CORBA::COMPLETED_NO)); - } + ACE_THROW (CORBA::BAD_INV_ORDER (TAO_OMG_VMCID | 11, + CORBA::COMPLETED_NO)); } - - // No service context with the given ID exists so add one. - service_context_list.length (len + 1); - - service_context_list[len] = service_context; } #endif /* TAO_HAS_INTERCEPTORS == 1 */ diff --git a/TAO/tao/PortableServer/ServerRequestInfo.h b/TAO/tao/PortableServer/ServerRequestInfo.h index 1a06b7aa818..75705012037 100644 --- a/TAO/tao/PortableServer/ServerRequestInfo.h +++ b/TAO/tao/PortableServer/ServerRequestInfo.h @@ -31,6 +31,7 @@ #include "tao/LocalObject.h" #include "tao/StringSeqC.h" #include "tao/OctetSeqC.h" +#include "tao/Service_Context.h" #include "portableserver_export.h" #if defined(_MSC_VER) @@ -179,6 +180,14 @@ public: void forward_reference (CORBA::Object_ptr obj); protected: + /// Helper method to get the request and response service contexts. + IOP::ServiceContext *get_service_context_i ( + TAO_Service_Context &service_context_list, + IOP::ServiceId id, + CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)); + +protected: /// Underlying request object that contains much of the information /// encapsulated by this ServerRequestInfo class. diff --git a/TAO/tao/RT_Protocols_Hooks.cpp b/TAO/tao/RT_Protocols_Hooks.cpp index 6786b527142..f90c00ab91e 100644 --- a/TAO/tao/RT_Protocols_Hooks.cpp +++ b/TAO/tao/RT_Protocols_Hooks.cpp @@ -45,7 +45,7 @@ TAO_RT_Protocols_Hooks::call_client_protocols_hook ( recv_buffer_size, no_delay, protocol_type); - + return 0; } @@ -166,35 +166,8 @@ TAO_RT_Protocols_Hooks::add_rt_service_context_hook ( == 0) ACE_THROW (CORBA::MARSHAL ()); - // @@ The piece of code that comes here should go. It should - // be something like this. - // IOP::ServiceContext context; - // context.context_id = IOP::RTCorbaPriority; - // this->op_details_.service_context ().set_context - // (context, cdr); - // RT Folks can you please do these changes consistently - // wherever you guys are adding service context information - // - Bala - IOP::ServiceContextList &context_list = invocation->service_info (); - - CORBA::ULong l = context_list.length (); - context_list.length (l + 1); - context_list[l].context_id = IOP::RTCorbaPriority; - - // Make a *copy* of the CDR stream... - CORBA::ULong length = cdr.total_length (); - context_list[l].context_data.length (length); - CORBA::Octet *buf = context_list[l].context_data.get_buffer (); - - for (const ACE_Message_Block *i = cdr.begin (); - i != 0; - i = i->cont ()) - { - ACE_OS::memcpy (buf, - i->rd_ptr (), - i->length ()); - buf += i->length (); - } + TAO_Service_Context &service_context = invocation->request_service_context (); + service_context.set_context (IOP::RTCorbaPriority, cdr); } } @@ -421,7 +394,7 @@ TAO_RT_Protocols_Hooks::set_priority_mapping (TAO_ORB_Core *orb_core, { // Obtain a reference to the Priority Mapping Manager. CORBA::Object_var obj = orb_core->priority_mapping_manager (); - + TAO_Priority_Mapping_Manager_var priority_mapping_manager = TAO_Priority_Mapping_Manager::_narrow (obj.in (), ACE_TRY_ENV); diff --git a/TAO/tao/Service_Context.cpp b/TAO/tao/Service_Context.cpp index bd4fe1fc218..a66868d404d 100644 --- a/TAO/tao/Service_Context.cpp +++ b/TAO/tao/Service_Context.cpp @@ -57,6 +57,28 @@ TAO_Service_Context::set_context (const IOP::ServiceContext &context) this->add_context_i (context); } +int +TAO_Service_Context::set_context (const IOP::ServiceContext &context, + CORBA::Boolean replace) +{ + for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i) + { + if (context.context_id == this->service_context_[i].context_id) + { + if (replace) + { + this->service_context_[i] = context; + return 1; + } + else + return 0; + } + } + + this->add_context_i (context); + return 1; +} + void TAO_Service_Context::set_context (IOP::ServiceContext &context) { @@ -134,6 +156,19 @@ TAO_Service_Context::get_context (IOP::ServiceContext& context) const return 0; } +int +TAO_Service_Context::get_context (IOP::ServiceId id, const IOP::ServiceContext **context) const +{ + for (CORBA::ULong i = 0; i != this->service_context_.length (); ++i) + { + if (id == this->service_context_[i].context_id) + { + *context = &this->service_context_[i]; + return 1; + } + } + return 0; +} int TAO_Service_Context::encode (TAO_OutputCDR& cdr) const diff --git a/TAO/tao/Service_Context.h b/TAO/tao/Service_Context.h index 0581de8d8aa..be7814e2045 100644 --- a/TAO/tao/Service_Context.h +++ b/TAO/tao/Service_Context.h @@ -64,6 +64,15 @@ public: /// sequence. void set_context (const IOP::ServiceContext &context); + /// Insert the component into the list, making a copy of the octet + /// sequence. Search the list before insertion so that the + /// insertion does not cause a duplicate context to be in the list. + /// If the replace flag is true, update the specified context. + /// Return 0 if the component was present and the replace flag + /// was not set to true. + int set_context (const IOP::ServiceContext &context, + CORBA::Boolean replace); + /// Insert the component into the list, but efficiently stealing the /// contents of the octet sequence. void set_context (IOP::ServiceContext &context); @@ -72,6 +81,10 @@ public: /// 0 if the component is not present. int get_context (IOP::ServiceContext &context) const; + /// Get a reference to a context identified by id, return + /// 0 if the component is not present. + int get_context (IOP::ServiceId id, const IOP::ServiceContext **context) const; + /// Set the context from the CDR stream and add that to the service /// Context list void set_context (IOP::ServiceId id, TAO_OutputCDR &cdr); @@ -107,7 +120,7 @@ private: void set_context_i (IOP::ServiceId id, TAO_OutputCDR &cdr); void set_context_i (IOP::ServiceContext &context, TAO_OutputCDR &cdr); - /// Helper methods to implement set_context() + /// Helper methods to implement get_context() int get_context_i (IOP::ServiceContext &context) const; private: diff --git a/TAO/tao/TAO_Server_Request.cpp b/TAO/tao/TAO_Server_Request.cpp index 24ded41acd2..0337b6a1f65 100644 --- a/TAO/tao/TAO_Server_Request.cpp +++ b/TAO/tao/TAO_Server_Request.cpp @@ -138,10 +138,8 @@ TAO_ServerRequest::init_reply (void) reply_params.is_dsi_ = this->is_dsi_; reply_params.dsi_nvlist_align_ = this->dsi_nvlist_align_; - // Pass in the service context list. We are sending back what we - // received in the Request. (RTCORBA relies on it. Check before - // modifying...) marina - reply_params.service_context_notowned (&this->service_info ()); + // Send back the reply service context. + reply_params.service_context_notowned (&this->reply_service_info ()); // Are we going to marshall any data with the reply? reply_params.argument_flag_ = this->argument_flag_; @@ -193,10 +191,8 @@ TAO_ServerRequest::send_no_exception_reply (void) // leave a comment why this is important! reply_params.svc_ctx_.length (0); - // Pass in the service context list. We are sending back what we - // received in the Request. (RTCORBA relies on it. Check before - // modifying...) marina - reply_params.service_context_notowned (&this->service_info ()); + // Send back the reply service context. + reply_params.service_context_notowned (&this->reply_service_info ()); reply_params.reply_status_ = TAO_GIOP_NO_EXCEPTION; @@ -255,9 +251,8 @@ TAO_ServerRequest::tao_send_reply_exception (CORBA::Exception &ex) reply_params.request_id_ = this->request_id_; reply_params.svc_ctx_.length (0); - // Send back the service context we received. (RTCORBA relies on - // this). - reply_params.service_context_notowned (&this->service_info ()); + // Send back the reply service context. + reply_params.service_context_notowned (&this->reply_service_info ()); // We are going to send some data reply_params.argument_flag_ = 1; diff --git a/TAO/tao/TAO_Server_Request.h b/TAO/tao/TAO_Server_Request.h index 74e15982509..b78d9dd730d 100644 --- a/TAO/tao/TAO_Server_Request.h +++ b/TAO/tao/TAO_Server_Request.h @@ -126,15 +126,16 @@ public: TAO_ObjectKey &object_key (void); /** - * @todo These two methods should go away. + * @todo This two methods should go away. */ //@{ - IOP::ServiceContextList &service_info (void); - void service_info (IOP::ServiceContextList &service_info); + IOP::ServiceContextList &request_service_info (void); + IOP::ServiceContextList &reply_service_info (void); //@} /// Return the TAO_Service_Context - TAO_Service_Context &service_context (void); + TAO_Service_Context &request_service_context (void); + TAO_Service_Context &reply_service_context (void); /// Return the underlying transport TAO_Transport *transport (); @@ -239,11 +240,9 @@ private: /// created. TAO_ORB_Core *orb_core_; - /// The service context for the request (CORBA Reference?). - // IOP::ServiceContextList service_info_; - /// Service Context info - TAO_Service_Context service_context_; + TAO_Service_Context request_service_context_; + TAO_Service_Context reply_service_context_; /// Unique identifier for a request. CORBA::ULong request_id_; diff --git a/TAO/tao/TAO_Server_Request.i b/TAO/tao/TAO_Server_Request.i index f757b1cc046..0e00e4ec7df 100644 --- a/TAO/tao/TAO_Server_Request.i +++ b/TAO/tao/TAO_Server_Request.i @@ -80,22 +80,28 @@ TAO_ServerRequest::object_key (void) return this->profile_.object_key (); } -ACE_INLINE IOP::ServiceContextList & -TAO_ServerRequest::service_info (void) +ACE_INLINE TAO_Service_Context & +TAO_ServerRequest::request_service_context (void) { - return this->service_context_.service_info (); + return this->request_service_context_; } -ACE_INLINE void -TAO_ServerRequest::service_info (IOP::ServiceContextList &service_info) +ACE_INLINE TAO_Service_Context & +TAO_ServerRequest::reply_service_context (void) { - this->service_context_.service_info () = service_info; + return this->reply_service_context_; } -ACE_INLINE TAO_Service_Context & -TAO_ServerRequest::service_context (void) +ACE_INLINE IOP::ServiceContextList & +TAO_ServerRequest::request_service_info (void) { - return this->service_context_; + return this->request_service_context ().service_info (); +} + +ACE_INLINE IOP::ServiceContextList & +TAO_ServerRequest::reply_service_info (void) +{ + return this->reply_service_context ().service_info (); } ACE_INLINE TAO_Transport * @@ -104,7 +110,6 @@ TAO_ServerRequest::transport (void) return this->transport_; } - ACE_INLINE CORBA::ULong TAO_ServerRequest::request_id (void) { diff --git a/TAO/tao/operation_details.h b/TAO/tao/operation_details.h index ee22933810e..b66ddd9c272 100644 --- a/TAO/tao/operation_details.h +++ b/TAO/tao/operation_details.h @@ -62,12 +62,16 @@ public: CORBA::Octet response_flags (void) const; /// Get the service context list - IOP::ServiceContextList &service_info (void); - const IOP::ServiceContextList &service_info (void) const; + IOP::ServiceContextList &request_service_info (void); + const IOP::ServiceContextList &request_service_info (void) const; + IOP::ServiceContextList &reply_service_info (void); + const IOP::ServiceContextList &reply_service_info (void) const; /// Access the TAO_Service_Context - TAO_Service_Context &service_context (void); - const TAO_Service_Context &service_context (void) const; + TAO_Service_Context &request_service_context (void); + const TAO_Service_Context &request_service_context (void) const; + TAO_Service_Context &reply_service_context (void); + const TAO_Service_Context &reply_service_context (void) const; void request_id (CORBA::ULong id); @@ -78,8 +82,6 @@ public: CORBA::ULong request_id (void); CORBA::ULong request_id (void) const; - - /// Get method for the addressing mode TAO_Target_Specification::TAO_Target_Address addressing_mode (void); TAO_Target_Specification::TAO_Target_Address @@ -109,9 +111,13 @@ private: /// Response flags CORBA::Octet response_flags_; - /// The ServiceContextList sent to the server side. Only valid + /// The ServiceContextList sent to the server side. Only valid /// when sending a request. - TAO_Service_Context service_info_; + TAO_Service_Context request_service_info_; + + /// The ServiceContextList received from the server side. Only + /// valid when sending a request. + TAO_Service_Context reply_service_info_; // The first element of header is service context list; // transactional context would be acquired here using the diff --git a/TAO/tao/operation_details.i b/TAO/tao/operation_details.i index 9135ba81b7d..f2b3af487d0 100644 --- a/TAO/tao/operation_details.i +++ b/TAO/tao/operation_details.i @@ -33,31 +33,56 @@ TAO_Operation_Details::argument_flag (void) const } ACE_INLINE IOP::ServiceContextList & -TAO_Operation_Details::service_info (void) +TAO_Operation_Details::request_service_info (void) { // @@ This should go ... - return this->service_info_.service_info (); + return this->request_service_context ().service_info (); } ACE_INLINE const IOP::ServiceContextList & -TAO_Operation_Details::service_info (void) const +TAO_Operation_Details::request_service_info (void) const { // @@ This should go ... - return this->service_info_.service_info (); + return this->request_service_context ().service_info (); } ACE_INLINE TAO_Service_Context & -TAO_Operation_Details::service_context (void) +TAO_Operation_Details::request_service_context (void) { - return this->service_info_; + return this->request_service_info_; } ACE_INLINE const TAO_Service_Context & -TAO_Operation_Details::service_context (void) const +TAO_Operation_Details::request_service_context (void) const { - return this->service_info_; + return this->request_service_info_; } +ACE_INLINE IOP::ServiceContextList & +TAO_Operation_Details::reply_service_info (void) +{ + // @@ This should go ... + return this->reply_service_context ().service_info (); +} + +ACE_INLINE const IOP::ServiceContextList & +TAO_Operation_Details::reply_service_info (void) const +{ + // @@ This should go ... + return this->reply_service_context ().service_info (); +} + +ACE_INLINE TAO_Service_Context & +TAO_Operation_Details::reply_service_context (void) +{ + return this->reply_service_info_; +} + +ACE_INLINE const TAO_Service_Context & +TAO_Operation_Details::reply_service_context (void) const +{ + return this->reply_service_info_; +} ACE_INLINE void TAO_Operation_Details::request_id (CORBA::ULong id) diff --git a/TAO/tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp b/TAO/tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp index 2376a251a28..9b14fa59619 100644 --- a/TAO/tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp +++ b/TAO/tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp @@ -7,8 +7,7 @@ ACE_RCSID (Service_Context_Manipulation, interceptors, "$Id$") -const CORBA::ULong request_ctx_id = 0xdead; -const CORBA::ULong reply_ctx_id = 0xbeef; +const IOP::ServiceId service_id = 0xdeadbeef; const char *request_msg = "The Echo_Request_Interceptor request message"; const char *reply_msg = "The Echo_Request_Interceptor reply message"; @@ -88,16 +87,17 @@ Echo_Client_Request_Interceptor::send_request ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Client_Request_Interceptor::send_request " + "%s.send_request " "from \"%s\" on object: %s\n", + this->myname_, operation.in (), ior.in ())); // Populate target member of the ClientRequestInfo. - // MAke the context to send the context to the target + // Make the context to send the context to the target IOP::ServiceContext sc; - sc.context_id = request_ctx_id; + sc.context_id = ::service_id; CORBA::ULong string_len = ACE_OS::strlen (request_msg) + 1; CORBA::Octet *buf = CORBA::OctetSeq::allocbuf (string_len); @@ -107,6 +107,24 @@ Echo_Client_Request_Interceptor::send_request ( // Add this context to the service context list. ri->add_request_service_context (sc, 0, ACE_TRY_ENV); + + // Check that the request service context can be retrieved. + IOP::ServiceContext_var sc2 = + ri->get_request_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf2 = + ACE_reinterpret_cast (const char *, sc2->context_data.get_buffer ()); + + if (ACE_OS::strcmp (buf2, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Expected request service context to be: %s.\n" + " Got: %s\n", + request_msg, + buf2)); + } + } void @@ -137,14 +155,16 @@ Echo_Client_Request_Interceptor::receive_reply ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Client_Request_Interceptor::receive_reply from " + "%s.receive_reply from " "\"%s\" on object: %s\n", + this->myname_, operation.in (), ior.in ())); - IOP::ServiceId id = reply_ctx_id; + // Check that the reply service context was received as + // expected. IOP::ServiceContext_var sc = - ri->get_reply_service_context (id, ACE_TRY_ENV); + ri->get_reply_service_context (::service_id, ACE_TRY_ENV); ACE_CHECK; const char *buf = @@ -152,6 +172,30 @@ Echo_Client_Request_Interceptor::receive_reply ( ACE_DEBUG ((LM_DEBUG, " Received reply service context: %s\n", buf)); + + if (ACE_OS::strcmp (buf, reply_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Expected reply service context to be: %s\n", + reply_msg)); + } + + // Check that no one has messed with the request service context. + IOP::ServiceContext_var sc2 = + ri->get_request_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf2 = + ACE_reinterpret_cast (const char *, sc2->context_data.get_buffer ()); + + if (ACE_OS::strcmp (buf2, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Expected request service context to be: %s.\n" + " Got: %s\n", + request_msg, + buf2)); + } } void @@ -162,7 +206,8 @@ Echo_Client_Request_Interceptor::receive_other ( PortableInterceptor::ForwardRequest)) { ACE_DEBUG ((LM_DEBUG, - "Echo_Client_Request_Interceptor::receive_other\n")); + "%s.receive_other\n", + this->myname_)); } void @@ -194,10 +239,47 @@ Echo_Client_Request_Interceptor::receive_exception ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Client_Request_Interceptor::received_exception " + "%s.received_exception " "from \"%s\" on object: %s\n", - operation.in (), ior.in ())); + this->myname_, + operation.in (), + ior.in ())); + + // Check that the reply service context was received as + // expected. + IOP::ServiceContext_var sc = + ri->get_reply_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf = + ACE_reinterpret_cast (const char *, sc->context_data.get_buffer ()); + ACE_DEBUG ((LM_DEBUG, + " Received reply service context: %s\n", + buf)); + + if (ACE_OS::strcmp (buf, reply_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Expected reply service context to be: %s\n", + reply_msg)); + } + + // Check that no one has messed with the request service context. + IOP::ServiceContext_var sc2 = + ri->get_request_service_context (::service_id, ACE_TRY_ENV); ACE_CHECK; + + const char *buf2 = + ACE_reinterpret_cast (const char *, sc2->context_data.get_buffer ()); + + if (ACE_OS::strcmp (buf2, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Expected request service context to be: %s.\n" + " Got: %s\n", + request_msg, + buf2)); + } } Echo_Server_Request_Interceptor::Echo_Server_Request_Interceptor (void) @@ -249,9 +331,9 @@ Echo_Server_Request_Interceptor::receive_request_service_contexts ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Server_Request_Interceptor::" - "receive_request_service_contexts from " + "%s.receive_request_service_contexts from " "\"%s\"\n", + this->myname_, operation.in ())); // Ignore the "_is_a" operation since it may have been invoked @@ -260,7 +342,7 @@ Echo_Server_Request_Interceptor::receive_request_service_contexts ( if (ACE_OS_String::strcmp ("_is_a", operation.in ()) == 0) return; - IOP::ServiceId id = request_ctx_id; + IOP::ServiceId id = ::service_id; IOP::ServiceContext_var sc = ri->get_request_service_context (id, ACE_TRY_ENV); ACE_CHECK; @@ -271,10 +353,18 @@ Echo_Server_Request_Interceptor::receive_request_service_contexts ( " Received service context: %s\n", buf)); + if (ACE_OS::strcmp (buf, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Echo_Server_Request_Interceptor::receive_request_service_contexts: " + "Expected request service context to be: %s\n", + request_msg)); + } + // Make the context to send the context to the client IOP::ServiceContext scc; - scc.context_id = reply_ctx_id; + scc.context_id = ::service_id; CORBA::ULong string_len = ACE_OS::strlen (reply_msg) + 1; CORBA::Octet *buff = CORBA::OctetSeq::allocbuf (string_len); @@ -311,19 +401,46 @@ Echo_Server_Request_Interceptor::send_reply ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Server_Request_Interceptor::send_reply from \"%s\"", + "%s.send_reply from \"%s\"\n", + this->myname_, ri->operation ())); - IOP::ServiceId id = reply_ctx_id; + // Check that the reply service context is set as expected. IOP::ServiceContext_var sc = - ri->get_reply_service_context (id, ACE_TRY_ENV); + ri->get_reply_service_context (::service_id, ACE_TRY_ENV); ACE_CHECK; const char *buf = ACE_reinterpret_cast (const char *, sc->context_data.get_buffer ()); ACE_DEBUG ((LM_DEBUG, - " Replying service context: %s\n", + " Reply service context: %s\n", buf)); + + if (ACE_OS::strcmp (buf, reply_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Echo_Server_Request_Interceptor::send_reply: " + "Expected reply service context to be: %s\n", + reply_msg)); + } + + // Check that the request service context hasn't been changed. + IOP::ServiceContext_var sc2 = + ri->get_request_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf2 = ACE_reinterpret_cast (const char *, + sc2->context_data.get_buffer ()); + + if (ACE_OS::strcmp (buf2, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Echo_Server_Request_Interceptor::send_reply: " + "Expected request service context to be: %s.\n" + " Got: %s\n", + request_msg, + buf2)); + } } void @@ -339,9 +456,46 @@ Echo_Server_Request_Interceptor::send_exception ( ACE_CHECK; ACE_DEBUG ((LM_DEBUG, - "Echo_Server_Request_Interceptor::send_exception from " - "\"%s\"", + "%s.send_exception from \"%s\"\n", + this->myname_, operation.in ())); + + // Check that the reply service context is set as expected. + IOP::ServiceContext_var sc = + ri->get_reply_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf = ACE_reinterpret_cast (const char *, + sc->context_data.get_buffer ()); + ACE_DEBUG ((LM_DEBUG, + " Reply service context: %s\n", + buf)); + + if (ACE_OS::strcmp (buf, reply_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Echo_Server_Request_Interceptor::send_exception: " + "Expected reply service context to be: %s\n", + reply_msg)); + } + + // Check that the request service context hasn't been changed. + IOP::ServiceContext_var sc2 = + ri->get_request_service_context (::service_id, ACE_TRY_ENV); + ACE_CHECK; + + const char *buf2 = ACE_reinterpret_cast (const char *, + sc2->context_data.get_buffer ()); + + if (ACE_OS::strcmp (buf2, request_msg) != 0) + { + ACE_ERROR ((LM_ERROR, + "ERROR: Echo_Server_Request_Interceptor::send_exception: " + "Expected request service context to be: %s.\n" + " Got: %s\n", + request_msg, + buf2)); + } } void diff --git a/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.cpp b/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.cpp new file mode 100644 index 00000000000..11463bd4333 --- /dev/null +++ b/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.cpp @@ -0,0 +1,51 @@ +// -*- C++ -*- +// +// $Id$ +// + +#include "Client_ORBInitializer.h" +#include "interceptors.h" + +ACE_RCSID (Client_Propagated, Client_ORBInitializer, "$Id$") + +Client_ORBInitializer::Client_ORBInitializer (void) +{ +} + +void +Client_ORBInitializer::pre_init ( + PortableInterceptor::ORBInitInfo_ptr + TAO_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +void +Client_ORBInitializer::post_init ( + PortableInterceptor::ORBInitInfo_ptr info + TAO_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + TAO_ENV_ARG_DEFN; + + CORBA::String_var orb_id = + info->orb_id (ACE_TRY_ENV); + ACE_CHECK; + + PortableInterceptor::ClientRequestInterceptor_ptr interceptor = + PortableInterceptor::ClientRequestInterceptor::_nil (); + + // Install the Echo client request interceptor + ACE_NEW_THROW_EX (interceptor, + Client_Request_Interceptor (orb_id.in ()), + CORBA::NO_MEMORY ()); + ACE_CHECK; + + PortableInterceptor::ClientRequestInterceptor_var + client_interceptor = interceptor; + + info->add_client_request_interceptor (client_interceptor.in (), + ACE_TRY_ENV); + ACE_CHECK; +} + diff --git a/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.h b/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.h new file mode 100644 index 00000000000..4f0a2b8b6bd --- /dev/null +++ b/TAO/tests/RTCORBA/Client_Propagated/Client_ORBInitializer.h @@ -0,0 +1,51 @@ +// -*- C++ -*- +// +// $Id$ +// + +#ifndef TAO_CLIENT_ORB_INITIALIZER_H +#define TAO_CLIENT_ORB_INITIALIZER_H +#include "ace/pre.h" + +#include "tao/corbafwd.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/PortableInterceptorC.h" +#include "tao/LocalObject.h" + +// This is to remove "inherits via dominance" warnings from MSVC. +// MSVC is being a little too paranoid. +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +/// Client ORB initializer. +class Client_ORBInitializer : + public virtual PortableInterceptor::ORBInitializer, + public virtual TAO_Local_RefCounted_Object +{ +public: + /// Constructor + Client_ORBInitializer (void); + + virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); +}; + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#include "ace/post.h" +#endif /* TAO_CLIENT_ORB_INITIALIZER_H */ diff --git a/TAO/tests/RTCORBA/Client_Propagated/Makefile b/TAO/tests/RTCORBA/Client_Propagated/Makefile index e546515a536..b3dcef48e5d 100644 --- a/TAO/tests/RTCORBA/Client_Propagated/Makefile +++ b/TAO/tests/RTCORBA/Client_Propagated/Makefile @@ -16,9 +16,9 @@ IDL_FILES = test IDL_SRC = testC.cpp testS.cpp BIN_UNCHECKED = server client -SRC = $(addsuffix .cpp, $(BIN)) $(IDL_SRC) +SRC = $(addsuffix .cpp, $(BIN)) $(IDL_SRC) interceptors.cpp Client_ORBInitializer.cpp -CLIENT_OBJS = client.o testC.o +CLIENT_OBJS = client.o testC.o interceptors.o Client_ORBInitializer.o SERVER_OBJS = server.o $(IDL_SRC:.cpp=.o) BUILD = $(BIN) @@ -68,26 +68,33 @@ realclean: clean .obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp testS.h testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ $(ACE_ROOT)/ace/svc_export.h \ $(ACE_ROOT)/ace/ace_wchar.h \ $(ACE_ROOT)/ace/ace_wchar.inl \ $(ACE_ROOT)/ace/OS_Errno.h \ $(ACE_ROOT)/ace/OS_Export.h \ - $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ $(TAO_ROOT)/tao/corbafwd.h \ $(ACE_ROOT)/ace/CDR_Base.h \ $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ $(ACE_ROOT)/ace/Message_Block.h \ $(ACE_ROOT)/ace/ACE.h \ $(ACE_ROOT)/ace/OS.h \ $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ $(ACE_ROOT)/ace/Min_Max.h \ $(ACE_ROOT)/ace/streams.h \ $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ $(ACE_ROOT)/ace/Flag_Manip.h \ $(ACE_ROOT)/ace/Flag_Manip.i \ $(ACE_ROOT)/ace/Handle_Ops.h \ @@ -105,202 +112,313 @@ realclean: clean $(ACE_ROOT)/ace/Log_Priority.h \ $(ACE_ROOT)/ace/Log_Record.i \ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ $(ACE_ROOT)/ace/Malloc_T.h \ $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Synch_T.i \ $(ACE_ROOT)/ace/Thread.h \ $(ACE_ROOT)/ace/Thread_Adapter.h \ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ - $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ $(ACE_ROOT)/ace/Malloc_Allocator.h \ $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ $(ACE_ROOT)/ace/Memory_Pool.h \ $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ $(ACE_ROOT)/ace/Signal.h \ $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.cpp \ $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ $(ACE_ROOT)/ace/Message_Block_T.h \ - $(ACE_ROOT)/ace/Message_Block_T.cpp \ $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ $(TAO_ROOT)/tao/try_macros.h \ $(TAO_ROOT)/tao/orbconf.h \ $(ACE_ROOT)/ace/CORBA_macros.h \ $(TAO_ROOT)/tao/varbase.h \ $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ $(TAO_ROOT)/tao/ORB.h \ $(TAO_ROOT)/tao/Exception.h \ $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Services.h \ $(TAO_ROOT)/tao/Sequence.h \ $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ $(TAO_ROOT)/tao/Sequence_T.h \ - $(TAO_ROOT)/tao/Sequence_T.cpp \ $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Services.i \ $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/PolicyC.h \ $(TAO_ROOT)/tao/CurrentC.h \ $(TAO_ROOT)/tao/Object.h \ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ $(TAO_ROOT)/tao/Encodable.h \ $(TAO_ROOT)/tao/CDR.h \ $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ $(TAO_ROOT)/tao/TAO_Server_Request.h \ $(TAO_ROOT)/tao/Tagged_Profile.h \ $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ $(TAO_ROOT)/tao/GIOPC.h \ $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOPC.i \ + $(TAO_ROOT)/tao/Tagged_Profile.i \ $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Service_Context.inl \ + $(TAO_ROOT)/tao/TAO_Server_Request.i \ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ $(TAO_ROOT)/tao/Stub.h \ $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ $(TAO_ROOT)/tao/MProfile.h \ $(TAO_ROOT)/tao/Profile.h \ $(TAO_ROOT)/tao/Tagged_Components.h \ $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ $(TAO_ROOT)/tao/ORB_Core.h \ $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ $(TAO_ROOT)/tao/Resource_Factory.h \ $(ACE_ROOT)/ace/Service_Object.h \ $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ $(TAO_ROOT)/tao/Protocol_Factory.h \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \ $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ $(TAO_ROOT)/tao/TAO_Singleton.cpp \ $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ $(ACE_ROOT)/ace/Managed_Object.i \ - $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/Adapter.i \ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ $(TAO_ROOT)/tao/PortableInterceptorC.h \ $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/DynamicC.i \ $(TAO_ROOT)/tao/MessagingC.h \ $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ $(ACE_ROOT)/ace/Map_Manager.cpp \ $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ $(ACE_ROOT)/ace/Reactor.h \ $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ $(ACE_ROOT)/ace/Timer_Queue.h \ $(ACE_ROOT)/ace/Timer_Queue_T.h \ $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ $(ACE_ROOT)/ace/Test_and_Set.cpp \ - $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Map_Manager.i \ $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Parser_Registry.i \ $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Service_Callbacks.i \ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ $(ACE_ROOT)/ace/Functor_T.h \ - $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Functor_T.i \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ $(TAO_ROOT)/tao/Cache_Entries.h \ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Endpoint.i \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \ + $(TAO_ROOT)/tao/Cache_Entries.inl \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ $(TAO_ROOT)/tao/Object_Ref_Table.h \ $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/Interceptor_List.inl \ $(TAO_ROOT)/tao/RT_Policy_i.h \ $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/RTCORBAC.i \ + $(TAO_ROOT)/tao/RT_Policy_i.i \ $(TAO_ROOT)/tao/Protocols_Hooks.h \ $(ACE_ROOT)/ace/Hash_Map_Manager.h \ $(ACE_ROOT)/ace/Thread_Manager.h \ $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.cpp \ $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(TAO_ROOT)/tao/Stub.i \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/Invocation.h \ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ $(TAO_ROOT)/tao/TAOC.h \ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/Priority_Mapping.i \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \ + $(TAO_ROOT)/tao/TAOC.i \ $(TAO_ROOT)/tao/operation_details.h \ $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/target_specification.i \ + $(TAO_ROOT)/tao/operation_details.i \ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \ + $(TAO_ROOT)/tao/Invocation.i \ $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ $(TAO_ROOT)/tao/DomainC.h \ $(TAO_ROOT)/tao/ClientRequestInfo.h \ $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/StringSeqC.i \ + $(TAO_ROOT)/tao/ClientRequestInfo.inl \ + $(TAO_ROOT)/tao/DomainC.i \ $(TAO_ROOT)/tao/WrongTransactionC.h \ $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/PortableInterceptor.i \ $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.i \ + testC.i \ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ + $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \ + $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \ - testS_T.h testS_T.cpp testS_T.i \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \ + testS_T.h testS_T.i testS_T.cpp testS.i \ $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ $(TAO_ROOT)/tao/Strategies/strategies_export.h \ - $(TAO_ROOT)/tao/default_resource.h + $(TAO_ROOT)/tao/default_resource.h \ + $(TAO_ROOT)/tao/default_resource.i \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.i .obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ $(ACE_ROOT)/ace/svc_export.h \ $(ACE_ROOT)/ace/ace_wchar.h \ $(ACE_ROOT)/ace/ace_wchar.inl \ $(ACE_ROOT)/ace/OS_Errno.h \ $(ACE_ROOT)/ace/OS_Export.h \ - $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ $(TAO_ROOT)/tao/corbafwd.h \ $(ACE_ROOT)/ace/CDR_Base.h \ $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ $(ACE_ROOT)/ace/Message_Block.h \ $(ACE_ROOT)/ace/ACE.h \ $(ACE_ROOT)/ace/OS.h \ $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ $(ACE_ROOT)/ace/Min_Max.h \ $(ACE_ROOT)/ace/streams.h \ $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ $(ACE_ROOT)/ace/Flag_Manip.h \ $(ACE_ROOT)/ace/Flag_Manip.i \ $(ACE_ROOT)/ace/Handle_Ops.h \ @@ -318,193 +436,301 @@ realclean: clean $(ACE_ROOT)/ace/Log_Priority.h \ $(ACE_ROOT)/ace/Log_Record.i \ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ $(ACE_ROOT)/ace/Malloc_T.h \ $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Synch_T.i \ $(ACE_ROOT)/ace/Thread.h \ $(ACE_ROOT)/ace/Thread_Adapter.h \ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ - $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ $(ACE_ROOT)/ace/Malloc_Allocator.h \ $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ $(ACE_ROOT)/ace/Memory_Pool.h \ $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ $(ACE_ROOT)/ace/Signal.h \ $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.cpp \ $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ $(ACE_ROOT)/ace/Message_Block_T.h \ - $(ACE_ROOT)/ace/Message_Block_T.cpp \ $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ $(TAO_ROOT)/tao/try_macros.h \ $(TAO_ROOT)/tao/orbconf.h \ $(ACE_ROOT)/ace/CORBA_macros.h \ $(TAO_ROOT)/tao/varbase.h \ $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ $(TAO_ROOT)/tao/ORB.h \ $(TAO_ROOT)/tao/Exception.h \ $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Services.h \ $(TAO_ROOT)/tao/Sequence.h \ $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ $(TAO_ROOT)/tao/Sequence_T.h \ - $(TAO_ROOT)/tao/Sequence_T.cpp \ $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Services.i \ $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/PolicyC.h \ $(TAO_ROOT)/tao/CurrentC.h \ $(TAO_ROOT)/tao/Object.h \ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ $(TAO_ROOT)/tao/Encodable.h \ $(TAO_ROOT)/tao/CDR.h \ $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ $(TAO_ROOT)/tao/TAO_Server_Request.h \ $(TAO_ROOT)/tao/Tagged_Profile.h \ $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ $(TAO_ROOT)/tao/GIOPC.h \ $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOPC.i \ + $(TAO_ROOT)/tao/Tagged_Profile.i \ $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Service_Context.inl \ + $(TAO_ROOT)/tao/TAO_Server_Request.i \ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ $(TAO_ROOT)/tao/Stub.h \ $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ $(TAO_ROOT)/tao/MProfile.h \ $(TAO_ROOT)/tao/Profile.h \ $(TAO_ROOT)/tao/Tagged_Components.h \ $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ $(TAO_ROOT)/tao/ORB_Core.h \ $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ $(TAO_ROOT)/tao/Resource_Factory.h \ $(ACE_ROOT)/ace/Service_Object.h \ $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ $(TAO_ROOT)/tao/Protocol_Factory.h \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \ $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ $(TAO_ROOT)/tao/TAO_Singleton.cpp \ $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ $(ACE_ROOT)/ace/Managed_Object.i \ - $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/Adapter.i \ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ $(TAO_ROOT)/tao/PortableInterceptorC.h \ $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/DynamicC.i \ $(TAO_ROOT)/tao/MessagingC.h \ $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ $(ACE_ROOT)/ace/Map_Manager.cpp \ $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ $(ACE_ROOT)/ace/Reactor.h \ $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ $(ACE_ROOT)/ace/Timer_Queue.h \ $(ACE_ROOT)/ace/Timer_Queue_T.h \ $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ $(ACE_ROOT)/ace/Test_and_Set.cpp \ - $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Map_Manager.i \ $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Parser_Registry.i \ $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Service_Callbacks.i \ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ $(ACE_ROOT)/ace/Functor_T.h \ - $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Functor_T.i \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ $(TAO_ROOT)/tao/Cache_Entries.h \ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Endpoint.i \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \ + $(TAO_ROOT)/tao/Cache_Entries.inl \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ $(TAO_ROOT)/tao/Object_Ref_Table.h \ $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/Interceptor_List.inl \ $(TAO_ROOT)/tao/RT_Policy_i.h \ $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/RTCORBAC.i \ + $(TAO_ROOT)/tao/RT_Policy_i.i \ $(TAO_ROOT)/tao/Protocols_Hooks.h \ $(ACE_ROOT)/ace/Hash_Map_Manager.h \ $(ACE_ROOT)/ace/Thread_Manager.h \ $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.cpp \ $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(TAO_ROOT)/tao/Stub.i \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/Invocation.h \ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ $(TAO_ROOT)/tao/TAOC.h \ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/Priority_Mapping.i \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \ + $(TAO_ROOT)/tao/TAOC.i \ $(TAO_ROOT)/tao/operation_details.h \ $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/target_specification.i \ + $(TAO_ROOT)/tao/operation_details.i \ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \ + $(TAO_ROOT)/tao/Invocation.i \ $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ $(TAO_ROOT)/tao/DomainC.h \ $(TAO_ROOT)/tao/ClientRequestInfo.h \ $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/StringSeqC.i \ + $(TAO_ROOT)/tao/ClientRequestInfo.inl \ + $(TAO_ROOT)/tao/DomainC.i \ $(TAO_ROOT)/tao/WrongTransactionC.h \ $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/PortableInterceptor.i \ $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.i \ + testC.i \ $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ $(ACE_ROOT)/ace/Sched_Params.h \ + $(ACE_ROOT)/ace/Sched_Params.i \ + Client_ORBInitializer.h \ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ $(TAO_ROOT)/tao/Strategies/strategies_export.h \ - $(TAO_ROOT)/tao/default_resource.h + $(TAO_ROOT)/tao/default_resource.h \ + $(TAO_ROOT)/tao/default_resource.i \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.i .obj/testC.o .obj/testC.so .shobj/testC.o .shobj/testC.so: testC.cpp testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ $(ACE_ROOT)/ace/svc_export.h \ $(ACE_ROOT)/ace/ace_wchar.h \ $(ACE_ROOT)/ace/ace_wchar.inl \ $(ACE_ROOT)/ace/OS_Errno.h \ $(ACE_ROOT)/ace/OS_Export.h \ - $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ $(TAO_ROOT)/tao/corbafwd.h \ $(ACE_ROOT)/ace/CDR_Base.h \ $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ $(ACE_ROOT)/ace/Message_Block.h \ $(ACE_ROOT)/ace/ACE.h \ $(ACE_ROOT)/ace/OS.h \ $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ $(ACE_ROOT)/ace/Min_Max.h \ $(ACE_ROOT)/ace/streams.h \ $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ $(ACE_ROOT)/ace/Flag_Manip.h \ $(ACE_ROOT)/ace/Flag_Manip.i \ $(ACE_ROOT)/ace/Handle_Ops.h \ @@ -522,190 +748,292 @@ realclean: clean $(ACE_ROOT)/ace/Log_Priority.h \ $(ACE_ROOT)/ace/Log_Record.i \ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ $(ACE_ROOT)/ace/Malloc_T.h \ $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Synch_T.i \ $(ACE_ROOT)/ace/Thread.h \ $(ACE_ROOT)/ace/Thread_Adapter.h \ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ - $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ $(ACE_ROOT)/ace/Malloc_Allocator.h \ $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ $(ACE_ROOT)/ace/Memory_Pool.h \ $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ $(ACE_ROOT)/ace/Signal.h \ $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.cpp \ $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ $(ACE_ROOT)/ace/Message_Block_T.h \ - $(ACE_ROOT)/ace/Message_Block_T.cpp \ $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ $(TAO_ROOT)/tao/try_macros.h \ $(TAO_ROOT)/tao/orbconf.h \ $(ACE_ROOT)/ace/CORBA_macros.h \ $(TAO_ROOT)/tao/varbase.h \ $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ $(TAO_ROOT)/tao/ORB.h \ $(TAO_ROOT)/tao/Exception.h \ $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Services.h \ $(TAO_ROOT)/tao/Sequence.h \ $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ $(TAO_ROOT)/tao/Sequence_T.h \ - $(TAO_ROOT)/tao/Sequence_T.cpp \ $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Services.i \ $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/PolicyC.h \ $(TAO_ROOT)/tao/CurrentC.h \ $(TAO_ROOT)/tao/Object.h \ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ $(TAO_ROOT)/tao/Encodable.h \ $(TAO_ROOT)/tao/CDR.h \ $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ $(TAO_ROOT)/tao/TAO_Server_Request.h \ $(TAO_ROOT)/tao/Tagged_Profile.h \ $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ $(TAO_ROOT)/tao/GIOPC.h \ $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOPC.i \ + $(TAO_ROOT)/tao/Tagged_Profile.i \ $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Service_Context.inl \ + $(TAO_ROOT)/tao/TAO_Server_Request.i \ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ $(TAO_ROOT)/tao/Stub.h \ $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ $(TAO_ROOT)/tao/MProfile.h \ $(TAO_ROOT)/tao/Profile.h \ $(TAO_ROOT)/tao/Tagged_Components.h \ $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ $(TAO_ROOT)/tao/ORB_Core.h \ $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ $(TAO_ROOT)/tao/Resource_Factory.h \ $(ACE_ROOT)/ace/Service_Object.h \ $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ $(TAO_ROOT)/tao/Protocol_Factory.h \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \ $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ $(TAO_ROOT)/tao/TAO_Singleton.cpp \ $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ $(ACE_ROOT)/ace/Managed_Object.i \ - $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/Adapter.i \ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ $(TAO_ROOT)/tao/PortableInterceptorC.h \ $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/DynamicC.i \ $(TAO_ROOT)/tao/MessagingC.h \ $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ $(ACE_ROOT)/ace/Map_Manager.cpp \ $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ $(ACE_ROOT)/ace/Reactor.h \ $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ $(ACE_ROOT)/ace/Timer_Queue.h \ $(ACE_ROOT)/ace/Timer_Queue_T.h \ $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ $(ACE_ROOT)/ace/Test_and_Set.cpp \ - $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Map_Manager.i \ $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Parser_Registry.i \ $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Service_Callbacks.i \ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ $(ACE_ROOT)/ace/Functor_T.h \ - $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Functor_T.i \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ $(TAO_ROOT)/tao/Cache_Entries.h \ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Endpoint.i \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \ + $(TAO_ROOT)/tao/Cache_Entries.inl \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ $(TAO_ROOT)/tao/Object_Ref_Table.h \ $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/Interceptor_List.inl \ $(TAO_ROOT)/tao/RT_Policy_i.h \ $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/RTCORBAC.i \ + $(TAO_ROOT)/tao/RT_Policy_i.i \ $(TAO_ROOT)/tao/Protocols_Hooks.h \ $(ACE_ROOT)/ace/Hash_Map_Manager.h \ $(ACE_ROOT)/ace/Thread_Manager.h \ $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.cpp \ $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(TAO_ROOT)/tao/Stub.i \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/Invocation.h \ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ $(TAO_ROOT)/tao/TAOC.h \ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/Priority_Mapping.i \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \ + $(TAO_ROOT)/tao/TAOC.i \ $(TAO_ROOT)/tao/operation_details.h \ $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/target_specification.i \ + $(TAO_ROOT)/tao/operation_details.i \ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \ + $(TAO_ROOT)/tao/Invocation.i \ $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ $(TAO_ROOT)/tao/DomainC.h \ $(TAO_ROOT)/tao/ClientRequestInfo.h \ $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/StringSeqC.i \ + $(TAO_ROOT)/tao/ClientRequestInfo.inl \ + $(TAO_ROOT)/tao/DomainC.i \ $(TAO_ROOT)/tao/WrongTransactionC.h \ $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/PortableInterceptor.i \ $(TAO_ROOT)/tao/BiDirPolicyC.h \ - $(TAO_ROOT)/tao/RequestInfo_Util.h \ - testC.i + $(TAO_ROOT)/tao/BiDirPolicyC.i \ + testC.i \ + $(TAO_ROOT)/tao/RequestInfo_Util.h .obj/testS.o .obj/testS.so .shobj/testS.o .shobj/testS.so: testS.cpp testS.h testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ $(ACE_ROOT)/ace/svc_export.h \ $(ACE_ROOT)/ace/ace_wchar.h \ $(ACE_ROOT)/ace/ace_wchar.inl \ $(ACE_ROOT)/ace/OS_Errno.h \ $(ACE_ROOT)/ace/OS_Export.h \ - $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ $(TAO_ROOT)/tao/corbafwd.h \ $(ACE_ROOT)/ace/CDR_Base.h \ $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ $(ACE_ROOT)/ace/Message_Block.h \ $(ACE_ROOT)/ace/ACE.h \ $(ACE_ROOT)/ace/OS.h \ $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ $(ACE_ROOT)/ace/Min_Max.h \ $(ACE_ROOT)/ace/streams.h \ $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ $(ACE_ROOT)/ace/Flag_Manip.h \ $(ACE_ROOT)/ace/Flag_Manip.i \ $(ACE_ROOT)/ace/Handle_Ops.h \ @@ -723,192 +1051,608 @@ realclean: clean $(ACE_ROOT)/ace/Log_Priority.h \ $(ACE_ROOT)/ace/Log_Record.i \ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ $(ACE_ROOT)/ace/Malloc_T.h \ $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Synch_T.i \ $(ACE_ROOT)/ace/Thread.h \ $(ACE_ROOT)/ace/Thread_Adapter.h \ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ - $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ $(ACE_ROOT)/ace/Malloc_Allocator.h \ $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Free_List.cpp \ $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ $(ACE_ROOT)/ace/Memory_Pool.h \ $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ $(ACE_ROOT)/ace/Signal.h \ $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Containers_T.cpp \ $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ $(ACE_ROOT)/ace/Message_Block_T.h \ - $(ACE_ROOT)/ace/Message_Block_T.cpp \ $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ $(TAO_ROOT)/tao/try_macros.h \ $(TAO_ROOT)/tao/orbconf.h \ $(ACE_ROOT)/ace/CORBA_macros.h \ $(TAO_ROOT)/tao/varbase.h \ $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ $(TAO_ROOT)/tao/ORB.h \ $(TAO_ROOT)/tao/Exception.h \ $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ $(TAO_ROOT)/tao/Services.h \ $(TAO_ROOT)/tao/Sequence.h \ $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ $(TAO_ROOT)/tao/Sequence_T.h \ - $(TAO_ROOT)/tao/Sequence_T.cpp \ $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Services.i \ $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/PolicyC.h \ $(TAO_ROOT)/tao/CurrentC.h \ $(TAO_ROOT)/tao/Object.h \ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ $(TAO_ROOT)/tao/Encodable.h \ $(TAO_ROOT)/tao/CDR.h \ $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Any.i \ $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/NVList.i \ $(TAO_ROOT)/tao/Principal.h \ $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ $(TAO_ROOT)/tao/TAO_Server_Request.h \ $(TAO_ROOT)/tao/Tagged_Profile.h \ $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ $(TAO_ROOT)/tao/GIOPC.h \ $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Object_KeyC.i \ + $(TAO_ROOT)/tao/GIOPC.i \ + $(TAO_ROOT)/tao/Tagged_Profile.i \ $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Service_Context.inl \ + $(TAO_ROOT)/tao/TAO_Server_Request.i \ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ $(TAO_ROOT)/tao/Stub.h \ $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ $(TAO_ROOT)/tao/MProfile.h \ $(TAO_ROOT)/tao/Profile.h \ $(TAO_ROOT)/tao/Tagged_Components.h \ $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.i \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ $(TAO_ROOT)/tao/ORB_Core.h \ $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Policy_Manager.i \ $(TAO_ROOT)/tao/Resource_Factory.h \ $(ACE_ROOT)/ace/Service_Object.h \ $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ $(TAO_ROOT)/tao/Protocol_Factory.h \ $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \ $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ $(TAO_ROOT)/tao/TAO_Singleton.cpp \ $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Object_Manager.i \ $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.cpp \ $(ACE_ROOT)/ace/Managed_Object.i \ - $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/Adapter.i \ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ $(TAO_ROOT)/tao/PortableInterceptorC.h \ $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/DynamicC.i \ $(TAO_ROOT)/tao/MessagingC.h \ $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ $(ACE_ROOT)/ace/Map_Manager.cpp \ $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Service_Config.i \ $(ACE_ROOT)/ace/Reactor.h \ $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Handle_Set.i \ $(ACE_ROOT)/ace/Timer_Queue.h \ $(ACE_ROOT)/ace/Timer_Queue_T.h \ $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.i \ $(ACE_ROOT)/ace/Test_and_Set.cpp \ - $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Reactor.i \ + $(ACE_ROOT)/ace/Reactor_Impl.h \ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Map_Manager.i \ $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Parser_Registry.i \ $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Service_Callbacks.i \ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ $(ACE_ROOT)/ace/Functor_T.h \ - $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Functor_T.i \ - $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.cpp \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ $(TAO_ROOT)/tao/Cache_Entries.h \ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Endpoint.i \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \ + $(TAO_ROOT)/tao/Cache_Entries.inl \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ $(TAO_ROOT)/tao/Object_Ref_Table.h \ $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/Interceptor_List.inl \ $(TAO_ROOT)/tao/RT_Policy_i.h \ $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/RTCORBAC.i \ + $(TAO_ROOT)/tao/RT_Policy_i.i \ $(TAO_ROOT)/tao/Protocols_Hooks.h \ $(ACE_ROOT)/ace/Hash_Map_Manager.h \ $(ACE_ROOT)/ace/Thread_Manager.h \ $(ACE_ROOT)/ace/Singleton.h \ - $(ACE_ROOT)/ace/Singleton.cpp \ $(ACE_ROOT)/ace/Singleton.i \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Thread_Manager.i \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(TAO_ROOT)/tao/Stub.i \ $(TAO_ROOT)/tao/debug.h \ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ $(TAO_ROOT)/tao/Invocation.h \ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ $(TAO_ROOT)/tao/TAOC.h \ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/Priority_Mapping.i \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \ + $(TAO_ROOT)/tao/TAOC.i \ $(TAO_ROOT)/tao/operation_details.h \ $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/target_specification.i \ + $(TAO_ROOT)/tao/operation_details.i \ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \ + $(TAO_ROOT)/tao/Invocation.i \ $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/ObjectIDList.i \ $(TAO_ROOT)/tao/DomainC.h \ $(TAO_ROOT)/tao/ClientRequestInfo.h \ $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/StringSeqC.i \ + $(TAO_ROOT)/tao/ClientRequestInfo.inl \ + $(TAO_ROOT)/tao/DomainC.i \ $(TAO_ROOT)/tao/WrongTransactionC.h \ $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/PortableInterceptor.i \ $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.i \ + testC.i \ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ + $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \ + $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \ - testS_T.h testS_T.cpp testS_T.i \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \ + testS_T.h testS_T.i testS_T.cpp testS.i \ $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \ $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \ $(ACE_ROOT)/ace/Map.h \ $(ACE_ROOT)/ace/Map_T.h \ $(ACE_ROOT)/ace/Pair.h \ $(ACE_ROOT)/ace/Pair_T.h \ - $(ACE_ROOT)/ace/Pair_T.cpp \ $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ - $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ - $(ACE_ROOT)/ace/Map_T.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \ $(TAO_ROOT)/tao/PortableServer/poa_macros.h \ $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \ + $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \ + $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \ $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \ - $(TAO_ROOT)/tao/RequestInfo_Util.h \ - testS.i + $(TAO_ROOT)/tao/RequestInfo_Util.h + +.obj/interceptors.o .obj/interceptors.so .shobj/interceptors.o .shobj/interceptors.so: interceptors.cpp interceptors.h \ + $(TAO_ROOT)/tao/PortableInterceptorC.h \ + $(ACE_ROOT)/ace/pre.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/DynamicC.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ + $(TAO_ROOT)/tao/ORB.i \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i + +.obj/Client_ORBInitializer.o .obj/Client_ORBInitializer.so .shobj/Client_ORBInitializer.o .shobj/Client_ORBInitializer.so: Client_ORBInitializer.cpp \ + Client_ORBInitializer.h \ + $(ACE_ROOT)/ace/pre.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/post.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/OS_Errno.inl \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_Dirent.inl \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_String.inl \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_Memory.inl \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/OS_TLI.inl \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \ + $(ACE_ROOT)/ace/Malloc.i \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch.i \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread_Adapter.inl \ + $(ACE_ROOT)/ace/Thread.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Malloc_Allocator.i \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Event_Handler.i \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Signal.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/Mem_Map.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Memory_Pool.i \ + $(ACE_ROOT)/ace/Message_Block.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/CDR_Base.inl \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.h \ + $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(ACE_ROOT)/ace/CDR_Stream.i \ + $(TAO_ROOT)/tao/CDR.i \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Managed_Types.i \ + $(TAO_ROOT)/tao/Sequence.i \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/DynamicC.i \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/MessagingC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ + interceptors.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Services.i \ + $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/CORBA_String.inl \ + $(TAO_ROOT)/tao/ORB.i # IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/RTCORBA/Client_Propagated/client.cpp b/TAO/tests/RTCORBA/Client_Propagated/client.cpp index 5105f05e34f..5c8da84901a 100644 --- a/TAO/tests/RTCORBA/Client_Propagated/client.cpp +++ b/TAO/tests/RTCORBA/Client_Propagated/client.cpp @@ -4,6 +4,7 @@ #include "tao/RT_CORBA.h" #include "ace/Get_Opt.h" #include "ace/Sched_Params.h" +#include "Client_ORBInitializer.h" #include "tao/Strategies/advanced_resource.h" @@ -48,7 +49,7 @@ main (int argc, char *argv[]) int min_priority = ACE_Sched_Params::priority_min (ACE_SCHED_OTHER); - if ((max_priority + min_priority) / 2 + 2 > max_priority) + if ((max_priority + min_priority) / 2 + 2 > max_priority) { ACE_DEBUG ((LM_DEBUG, "Not enough priority levels on this platform" @@ -56,6 +57,20 @@ main (int argc, char *argv[]) return 0; } + // Register the interceptors to check for the RTCORBA + // service contexts in the reply messages. + PortableInterceptor::ORBInitializer_ptr temp_initializer; + + ACE_NEW_RETURN (temp_initializer, + Client_ORBInitializer, + -1); // No exceptions yet! + PortableInterceptor::ORBInitializer_var initializer = + temp_initializer; + + PortableInterceptor::register_orb_initializer (initializer.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + // Initialize and obtain reference to the Test object. CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, "", ACE_TRY_ENV); @@ -126,10 +141,10 @@ main (int argc, char *argv[]) RTCORBA::PriorityMapping *pm = mapping_manager->mapping (); - CORBA::Short native_priority = + CORBA::Short native_priority = (max_priority + min_priority) / 2; - CORBA::Short desired_priority = 0; + CORBA::Short desired_priority = 0; if (pm->to_CORBA (native_priority, desired_priority) == 0) ACE_ERROR_RETURN ((LM_ERROR, @@ -169,7 +184,7 @@ main (int argc, char *argv[]) ACE_CATCHANY { ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Catched exception:"); + "Caught exception:"); return 1; } ACE_ENDTRY; @@ -190,3 +205,6 @@ main (int argc, char *argv[]) } #endif /* TAO_HAS_RT_CORBA == 1 */ + + + diff --git a/TAO/tests/RTCORBA/Client_Propagated/client.dsp b/TAO/tests/RTCORBA/Client_Propagated/client.dsp index 586ed512b7c..8d9ed1ca0a1 100644 --- a/TAO/tests/RTCORBA/Client_Propagated/client.dsp +++ b/TAO/tests/RTCORBA/Client_Propagated/client.dsp @@ -93,6 +93,14 @@ SOURCE=.\client.cpp # End Source File
# Begin Source File
+SOURCE=.\Client_ORBInitializer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\interceptors.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\testC.cpp
# End Source File
# End Group
@@ -101,6 +109,14 @@ SOURCE=.\testC.cpp # PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
+SOURCE=.\Client_ORBInitializer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\interceptors.h
+# End Source File
+# Begin Source File
+
SOURCE=.\testC.h
# End Source File
# End Group
diff --git a/TAO/tests/RTCORBA/Client_Propagated/interceptors.cpp b/TAO/tests/RTCORBA/Client_Propagated/interceptors.cpp new file mode 100644 index 00000000000..9ac2b144c31 --- /dev/null +++ b/TAO/tests/RTCORBA/Client_Propagated/interceptors.cpp @@ -0,0 +1,146 @@ +// $Id$ + +#include "interceptors.h" +#include "tao/OctetSeqC.h" + +ACE_RCSID (Client_Propagated, + interceptors, + "$Id$") + +Client_Request_Interceptor:: +Client_Request_Interceptor (const char *id) + : myname_ ("Client_Request_Interceptor"), + orb_id_ (CORBA::string_dup (id)) +{ +} + +Client_Request_Interceptor::~Client_Request_Interceptor (void) +{ +} + +void +Client_Request_Interceptor::_add_ref (void) +{ + this->_incr_refcnt (); + // This is a TAO specific implementation. +} + +void +Client_Request_Interceptor::_remove_ref (void) +{ + this->_decr_refcnt (); + // This is a TAO specific implementation. +} + +char * +Client_Request_Interceptor::name (TAO_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return CORBA::string_dup (this->myname_); +} + +void +Client_Request_Interceptor::destroy (TAO_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +void +Client_Request_Interceptor::send_poll ( + PortableInterceptor::ClientRequestInfo_ptr + TAO_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Do Nothing +} + +void +Client_Request_Interceptor::send_request ( + PortableInterceptor::ClientRequestInfo_ptr + TAO_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)) +{ + // Do Nothing +} + +void +Client_Request_Interceptor::receive_reply ( + PortableInterceptor::ClientRequestInfo_ptr ri + TAO_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + TAO_ENV_ARG_DEFN; + + ACE_TRY + { + // Try to get the RTCorbaPriority context. If its not there, + // report the fact via an exception. + IOP::ServiceContext_var sc = + ri->get_reply_service_context (IOP::RTCorbaPriority, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Caught exception:"); + + ACE_DEBUG ((LM_DEBUG, "EXCEPTION was most likely caused by the lack " + "of an IOP::RTCorbaPriority context in the reply.\n")); + ACE_RE_THROW; + } + ACE_ENDTRY; + +} + +void +Client_Request_Interceptor::receive_other ( + PortableInterceptor::ClientRequestInfo_ptr + TAO_ENV_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)) +{ +} + +void +Client_Request_Interceptor::receive_exception ( + PortableInterceptor::ClientRequestInfo_ptr ri + TAO_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)) +{ + TAO_ENV_ARG_DEFN; + + if (CORBA::is_nil (this->orb_.in ())) + { + int argc = 0; + this->orb_ = CORBA::ORB_init (argc, 0, + this->orb_id_.in (), + ACE_TRY_ENV); + ACE_CHECK; + } + + CORBA::String_var operation = ri->operation (ACE_TRY_ENV); + ACE_CHECK; + + CORBA::Object_var target = ri->target (ACE_TRY_ENV); + ACE_CHECK; + + CORBA::String_var ior = + this->orb_->object_to_string (target.in (), ACE_TRY_ENV); + ACE_CHECK; + + ACE_DEBUG ((LM_DEBUG, + "%s.received_exception " + "from \"%s\" on object: %s\n", + this->myname_, + operation.in (), + ior.in ())); + ACE_CHECK; + + // Try to get the RTCorbaPriority context. If its not there, + // report the fact via an exception. + IOP::ServiceContext_var sc = + ri->get_reply_service_context (IOP::RTCorbaPriority, ACE_TRY_ENV); + ACE_CHECK; +} diff --git a/TAO/tests/RTCORBA/Client_Propagated/interceptors.h b/TAO/tests/RTCORBA/Client_Propagated/interceptors.h new file mode 100644 index 00000000000..9bd520664ae --- /dev/null +++ b/TAO/tests/RTCORBA/Client_Propagated/interceptors.h @@ -0,0 +1,87 @@ +// -*- C++ -*- +// +// $Id$ + +#ifndef INTERCEPTORS_H +#define INTERCEPTORS_H + +#include "tao/PortableInterceptorC.h" +#include "tao/LocalObject.h" +#include "tao/ORB.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +class Client_Request_Interceptor + : public PortableInterceptor::ClientRequestInterceptor, + public CORBA::LocalObject +{ + /// Client-side interceptor. Verifies presense of RTCORBA priority + /// context in the reply messages. +public: + Client_Request_Interceptor (const char *orb_id); + // ctor. + + virtual ~Client_Request_Interceptor (); + // dtor. + + virtual void _add_ref (void); + // Increment the reference count. + + virtual void _remove_ref (void); + // Decrement the reference count. + + virtual char * name (TAO_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + // Canonical name of the interceptor. + + virtual void destroy (TAO_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void send_poll (PortableInterceptor::ClientRequestInfo_ptr + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void send_request (PortableInterceptor::ClientRequestInfo_ptr ri + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)); + + virtual void receive_reply (PortableInterceptor::ClientRequestInfo_ptr ri + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void receive_other (PortableInterceptor::ClientRequestInfo_ptr + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)); + + virtual void receive_exception (PortableInterceptor::ClientRequestInfo_ptr ri + TAO_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException, + PortableInterceptor::ForwardRequest)); + +private: + const char *myname_; + + CORBA::String_var orb_id_; + // The ID of the ORB where this interceptor was created, usually + // obtained from the ORBInitInfo + + CORBA::ORB_var orb_; +}; + + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* TAO_INTERCEPTORS_H */ |