diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-12-04 21:57:15 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-12-04 21:57:15 +0000 |
commit | 4e20f8823d04b20a1885aa93a1e0103de412fefa (patch) | |
tree | ad7d5c2c0955675cba6cf0113f71d40816345919 /TAO | |
parent | 019db672bcacf2f95a64c7f18a52ae7d4765076c (diff) | |
download | ATCD-4e20f8823d04b20a1885aa93a1e0103de412fefa.tar.gz |
ChangeLogTag:Sat Dec 4 15:47:55 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog-99c | 258 | ||||
-rw-r--r-- | TAO/tao/GIOP.h | 13 | ||||
-rw-r--r-- | TAO/tao/IIOP_Acceptor.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/IIOP_Connector.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/IIOP_Profile.cpp | 10 | ||||
-rw-r--r-- | TAO/tao/IIOP_Transport.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/ORB.cpp | 44 | ||||
-rw-r--r-- | TAO/tao/ORB.h | 36 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 15 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.i | 1 | ||||
-rw-r--r-- | TAO/tao/Pluggable.h | 2 | ||||
-rw-r--r-- | TAO/tao/UIOP_Acceptor.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/UIOP_Connector.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/UIOP_Profile.cpp | 12 | ||||
-rw-r--r-- | TAO/tao/UIOP_Transport.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/corbafwd.h | 7 | ||||
-rw-r--r-- | TAO/tao/default_resource.cpp | 11 |
18 files changed, 221 insertions, 208 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c index b4798fe60e3..b9582ba8229 100644 --- a/TAO/ChangeLog-99c +++ b/TAO/ChangeLog-99c @@ -1,9 +1,41 @@ +Sat Dec 4 15:47:55 1999 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tao/ORB.h: + * tao/ORB.cpp: + * tao/ORB_Core.h: + * tao/ORB_Core.i: + * tao/ORB_Core.cpp: + Removed throw specs from the ORB and ORB_Core interfaces, they + are not present in the spec, thus they should not be there in + the first place. + + * tao/corbafwd.h: + * tao/GIOP.h: + * tao/Pluggable.h: + * tao/default_resource.cpp: + * tao/TAO_Internal.cpp: + * tao/IIOP_Acceptor.cpp: + * tao/IIOP_Connector.cpp: + * tao/IIOP_Profile.cpp: + * tao/IIOP_Transport.cpp: + * tao/UIOP_Acceptor.cpp: + * tao/UIOP_Connector.cpp: + * tao/UIOP_Profile.cpp: + * tao/UIOP_Transport.cpp: + Removed the TAO_IOP_TAG enum, it caused confusion as to how + where new profile tags added. To add a new protocol you should + *NOT* modify the library code in any way, i have made comments + to that effect in all the places where we manipulate the IIOP + and UIOP protocols explicitly. Those protocols are linked in by + default, but other protocols can be linked in using the service + configurator. + Sat Dec 04 10:34:53 1999 Nanbor Wang <nanbor@cs.wustl.edu> - * tao/orbconf.h: - * tao/corbafwd.h: - * tao/POAC.h: Part of my previous change wrt export macros failed - to consider comilers without namespace. + * tao/orbconf.h: + * tao/corbafwd.h: + * tao/POAC.h: Part of my previous change wrt export macros failed + to consider comilers without namespace. Fri Dec 3 22:00:48 1999 Darrell Brunsch <brunsch@cs.wustl.edu> @@ -13,139 +45,139 @@ Fri Dec 3 22:00:48 1999 Darrell Brunsch <brunsch@cs.wustl.edu> Fri Dec 3 14:20:17 1999 Ossama Othman <othman@cs.wustl.edu> - * tao/default_resource.cpp (init_protocol_factories): + * tao/default_resource.cpp (init_protocol_factories): - Added missing argument in call to ACE_ERROR. Thanks to Chris - Hafey <chris@stentorsoft.com> for reporting this. [Bug 385] + Added missing argument in call to ACE_ERROR. Thanks to Chris + Hafey <chris@stentorsoft.com> for reporting this. [Bug 385] Fri Dec 3 13:26:57 1999 Jeff Parsons <parsons@cs.wustl.edu> - * performance-tests/RTCorba/Oneways/Reliable/server.cpp: - Changes to avert a build warning on IRIX. + * performance-tests/RTCorba/Oneways/Reliable/server.cpp: + Changes to avert a build warning on IRIX. Fri Dec 3 12:37:11 1999 Jeff Parsons <parsons@cs.wustl.edu> - * TAO_IDL/be_visitor_union.cdr_op_ci.cpp - For union implicit default case, the discriminant of the decoded - union must be set to the default value. Thanks to Christopher - Kohlhoff <chris@kohlhoff.com> for reporting this bug. - - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_visitor_array/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_union/any_op_ch.cpp: - * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp: - * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp: - Reversed the order of generation of the stub export macro - (if any) and the return type for the Any and CDR - insertion and extraction operators, and for the ostream - operator for exceptions. + * TAO_IDL/be_visitor_union.cdr_op_ci.cpp + For union implicit default case, the discriminant of the decoded + union must be set to the default value. Thanks to Christopher + Kohlhoff <chris@kohlhoff.com> for reporting this bug. + + * TAO_IDL/be/be_exception.cpp: + * TAO_IDL/be/be_visitor_array/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_union/any_op_ch.cpp: + * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp: + * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp: + Reversed the order of generation of the stub export macro + (if any) and the return type for the Any and CDR + insertion and extraction operators, and for the ostream + operator for exceptions. Fri Dec 3 12:02:46 1999 Carlos O'Ryan <coryan@cs.wustl.edu> - * docs/tutorials/Quoter/AMI/Makefile: - * docs/tutorials/Quoter/Event_Service/Makefile: - * docs/tutorials/Quoter/Naming_Service/Makefile: - * docs/tutorials/Quoter/RT_Event_Service/Makefile: - * docs/tutorials/Quoter/Simple/Client/Makefile: - * docs/tutorials/Quoter/Simple/Server/Makefile: - Updated dependencies. + * docs/tutorials/Quoter/AMI/Makefile: + * docs/tutorials/Quoter/Event_Service/Makefile: + * docs/tutorials/Quoter/Naming_Service/Makefile: + * docs/tutorials/Quoter/RT_Event_Service/Makefile: + * docs/tutorials/Quoter/Simple/Client/Makefile: + * docs/tutorials/Quoter/Simple/Server/Makefile: + Updated dependencies. Fri Dec 03 11:35:35 1999 Nanbor Wang <nanbor@cs.wustl.edu> - * tao/MessagingC.h: - * tao/InterfaceC.h: I accidentally removed some "extern" keywords - from the variable declarations. Added them back. Thanks to - Jeff for noticing this. + * tao/MessagingC.h: + * tao/InterfaceC.h: I accidentally removed some "extern" keywords + from the variable declarations. Added them back. Thanks to + Jeff for noticing this. Fri Dec 3 08:58:11 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - * orbsvcs/Trading_Service/Makefile.bor: Add - $(OBJDIR)\Trading_Server.obj to object list. Thanks to Mike - Gingell <mgingell@istar.ca> for reporting this. + * orbsvcs/Trading_Service/Makefile.bor: Add + $(OBJDIR)\Trading_Server.obj to object list. Thanks to Mike + Gingell <mgingell@istar.ca> for reporting this. - * orbsvcs/orbsvcs/Makefile.bor: Added -I..\..\tao to compile line - and added $(OBJDIR)\EC_Negation_Filter.obj to object list. - Thanks to Mike Gingell <mgingell@istar.ca> for reporting this. + * orbsvcs/orbsvcs/Makefile.bor: Added -I..\..\tao to compile line + and added $(OBJDIR)\EC_Negation_Filter.obj to object list. + Thanks to Mike Gingell <mgingell@istar.ca> for reporting this. Fri Dec 03 02:32:03 1999 Nanbor Wang <nanbor@cs.wustl.edu> - * tao/Any.h: - * tao/CDR.h: - * tao/CONV_FRAMEC.h: - * tao/DomainC.h: - * tao/Exception.h: - * tao/GIOP.h: - * tao/IOPC.h: - * tao/IORC.h: - * tao/InterceptorC.h: - * tao/InterfaceC.h: - * tao/MessagingC.h: - * tao/ORB.h: - * tao/ORB_Core.h: - * tao/Object.h: - * tao/ObjectIDList.h: - * tao/POAC.h: - * tao/PolicyC.h: - * tao/PollableC.h: - * tao/Principal.h: - * tao/Sequence.h: - * tao/TAOC.h: - * tao/TimeBaseC.h: - * tao/corbafwd.h: - * tao/orbconf.h: Made sure all the top level functions are - exported correctly. + * tao/Any.h: + * tao/CDR.h: + * tao/CONV_FRAMEC.h: + * tao/DomainC.h: + * tao/Exception.h: + * tao/GIOP.h: + * tao/IOPC.h: + * tao/IORC.h: + * tao/InterceptorC.h: + * tao/InterfaceC.h: + * tao/MessagingC.h: + * tao/ORB.h: + * tao/ORB_Core.h: + * tao/Object.h: + * tao/ObjectIDList.h: + * tao/POAC.h: + * tao/PolicyC.h: + * tao/PollableC.h: + * tao/Principal.h: + * tao/Sequence.h: + * tao/TAOC.h: + * tao/TimeBaseC.h: + * tao/corbafwd.h: + * tao/orbconf.h: Made sure all the top level functions are + exported correctly. Thu Dec 2 22:01:25 1999 Marina Spivak <marina@cs.wustl.edu> - * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Client.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Endpoint_Per_Priority_Scenario.dsw - * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Server.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/ORB_Per_Priority.dsw - * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Client.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Server.dsp - * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Single_Endpoint.dsw - Added the above workspace and project files for compiling tests on NT. - - * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp - Use corba priority instead of native priority in the server to - generate ior file names. + * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Client.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Endpoint_Per_Priority_Scenario.dsw + * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Server.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/ORB_Per_Priority.dsw + * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Client.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Server.dsp + * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Single_Endpoint.dsw + Added the above workspace and project files for compiling tests on NT. + + * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp + Use corba priority instead of native priority in the server to + generate ior file names. Thu Dec 2 19:19:18 1999 Jeff Parsons <parsons@cs.wustl.edu> - * performance-tests/RTCorba/Oneways/Reliable/Makefile: - Did a 'make depend' to ensure automatic generation of - the IDL stub and skeleton files. Thanks to Marina for - pointing this out. + * performance-tests/RTCorba/Oneways/Reliable/Makefile: + Did a 'make depend' to ensure automatic generation of + the IDL stub and skeleton files. Thanks to Marina for + pointing this out. Thu Dec 2 16:13:51 1999 Jeff Parsons <parsons@cs.wustl.edu> - * performance-tests/TAO_Perf_Tests.dsw: - * performance-tests/RTCorba/Oneways/Reliable/client.dsp: - * performance-tests/RTCorba/Oneways/Reliable/server.dsp: - Changed the displayed name of the reliable oneways test - projects, and added them to the performance tests - workspace. + * performance-tests/TAO_Perf_Tests.dsw: + * performance-tests/RTCorba/Oneways/Reliable/client.dsp: + * performance-tests/RTCorba/Oneways/Reliable/server.dsp: + Changed the displayed name of the reliable oneways test + projects, and added them to the performance tests + workspace. Thu Dec 2 14:44:28 1999 Marina Spivak <marina@cs.wustl.edu> - * performance-tests/Makefile - * performance-tests/README - * performance-tests/RTCorba/Makefile - * performance-tests/RTCorba/Oneways/Makefile: - Added/updated the above Makefiles so that all recently added - RTCorba benchmarks get compiled with the rest of the - performance-tests. + * performance-tests/Makefile + * performance-tests/README + * performance-tests/RTCorba/Makefile + * performance-tests/RTCorba/Oneways/Makefile: + Added/updated the above Makefiles so that all recently added + RTCorba benchmarks get compiled with the rest of the + performance-tests. Thu Dec 2 11:41:37 1999 Darrell Brunsch <brunsch@cs.wustl.edu> @@ -155,14 +187,14 @@ Thu Dec 2 11:41:37 1999 Darrell Brunsch <brunsch@cs.wustl.edu> Thu Dec 2 00:32:20 1999 Carlos O'Ryan <coryan@cs.wustl.edu> - * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.conf: - * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: - * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: - * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.conf: - * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.conf: - Tuned the configuration files. We tried to apply all the - TAO optimizations that were possible, without breaking any laws - of physics. + * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.conf: + * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: + * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: + * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.conf: + * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.conf: + Tuned the configuration files. We tried to apply all the + TAO optimizations that were possible, without breaking any laws + of physics. Wed Dec 1 23:11:42 1999 Darrell Brunsch <brunsch@cs.wustl.edu> diff --git a/TAO/tao/GIOP.h b/TAO/tao/GIOP.h index cfaf8031a6e..aa20fe7ab90 100644 --- a/TAO/tao/GIOP.h +++ b/TAO/tao/GIOP.h @@ -57,17 +57,6 @@ class TAO_ORB_Core; // Email to tag-request@omg.org to allocate tags. typedef CORBA::ULong TAO_IOP_Profile_ID; -enum -{ - TAO_IOP_TAG_INVALID = -1, - TAO_IOP_TAG_INTERNET_IOP = 0, // IIOP - TAO_IOP_TAG_MULTIPLE_COMPONENTS = 1, // DCE-CIOP - TAO_IOP_TAG_UNIX_IOP = TAO_TAG_UIOP_PROFILE, // Read corbafwd.h - - // = This is a subset of the list of other profile tags. - TAO_IOP_TAG_ONC_IOP = 0x4f4e4300 // ONC IOP -}; - class TAO_IOP_Tagged_Profile { // = TITLE @@ -107,6 +96,8 @@ enum { // = DESCRIPTION // These are all defined by DCE-CIOP in OMG TC document 95-3-10. + // We don't use them in TAO, it is a left over from the SunSoft + // IIOP engine times! TAO_IOP_TAG_DCE_STRING_BINDING = 100,// string binding handle TAO_IOP_TAG_DCE_BINDING_NAME = 101, // CDS/GDS/... name diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index 75792a8d7b6..f9c8d5eb89a 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -42,7 +42,7 @@ template class TAO_Accept_Strategy<TAO_IIOP_Server_Connection_Handler, ACE_SOCK_ #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ TAO_IIOP_Acceptor::TAO_IIOP_Acceptor (void) - : TAO_Acceptor (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Acceptor (TAO_TAG_IIOP_PROFILE), version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), orb_core_ (0), base_acceptor_ (), diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp index 0a938dd38b0..e5b76be354b 100644 --- a/TAO/tao/IIOP_Connector.cpp +++ b/TAO/tao/IIOP_Connector.cpp @@ -338,7 +338,7 @@ typedef ACE_Cached_Connect_Strategy<TAO_IIOP_Client_Connection_Handler, #endif /* ! TAO_USES_ROBUST_CONNECTION_MGMT */ TAO_IIOP_Connector::TAO_IIOP_Connector (void) - : TAO_Connector (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Connector (TAO_TAG_IIOP_PROFILE), orb_core_ (0), base_connector_ () #if defined (TAO_USES_ROBUST_CONNECTION_MGMT) @@ -445,7 +445,7 @@ TAO_IIOP_Connector::connect (TAO_Profile *profile, TAO_Transport *&transport, ACE_Time_Value *max_wait_time) { - if (profile->tag () != TAO_IOP_TAG_INTERNET_IOP) + if (profile->tag () != TAO_TAG_IIOP_PROFILE) return -1; TAO_IIOP_Profile *iiop_profile = diff --git a/TAO/tao/IIOP_Profile.cpp b/TAO/tao/IIOP_Profile.cpp index 99420ea61c7..95a3abf3391 100644 --- a/TAO/tao/IIOP_Profile.cpp +++ b/TAO/tao/IIOP_Profile.cpp @@ -27,7 +27,7 @@ TAO_IIOP_Profile::TAO_IIOP_Profile (const ACE_INET_Addr &addr, const TAO_ObjectKey &object_key, const TAO_GIOP_Version &version, TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Profile (TAO_TAG_IIOP_PROFILE), host_ (), port_ (0), version_ (version), @@ -45,7 +45,7 @@ TAO_IIOP_Profile::TAO_IIOP_Profile (const char* host, const ACE_INET_Addr &addr, const TAO_GIOP_Version &version, TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Profile (TAO_TAG_IIOP_PROFILE), host_ (), port_ (port), version_ (version), @@ -75,7 +75,7 @@ TAO_IIOP_Profile::TAO_IIOP_Profile (const TAO_IIOP_Profile &pfile) TAO_IIOP_Profile::TAO_IIOP_Profile (const char *string, TAO_ORB_Core *orb_core, CORBA::Environment &ACE_TRY_ENV) - : TAO_Profile (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Profile (TAO_TAG_IIOP_PROFILE), host_ (), port_ (0), version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), @@ -89,7 +89,7 @@ TAO_IIOP_Profile::TAO_IIOP_Profile (const char *string, } TAO_IIOP_Profile::TAO_IIOP_Profile (TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_INTERNET_IOP), + : TAO_Profile (TAO_TAG_IIOP_PROFILE), host_ (), port_ (0), version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), @@ -303,7 +303,7 @@ CORBA::Boolean TAO_IIOP_Profile::is_equivalent (const TAO_Profile *other_profile) { - if (other_profile->tag () != TAO_IOP_TAG_INTERNET_IOP) + if (other_profile->tag () != TAO_TAG_IIOP_PROFILE) return 0; const TAO_IIOP_Profile *op = diff --git a/TAO/tao/IIOP_Transport.cpp b/TAO/tao/IIOP_Transport.cpp index afd9d291b68..9471db6b05d 100644 --- a/TAO/tao/IIOP_Transport.cpp +++ b/TAO/tao/IIOP_Transport.cpp @@ -48,7 +48,7 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_Transport_Timeprobe_Description, TAO_IIOP_Transport::TAO_IIOP_Transport (TAO_IIOP_Handler_Base *handler, TAO_ORB_Core *orb_core) - : TAO_Transport (TAO_IOP_TAG_INTERNET_IOP, + : TAO_Transport (TAO_TAG_IIOP_PROFILE, orb_core), handler_ (handler) { diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp index a2b61b9bdf8..3726cf64f2f 100644 --- a/TAO/tao/ORB.cpp +++ b/TAO/tao/ORB.cpp @@ -179,7 +179,6 @@ CORBA_ORB::~CORBA_ORB (void) void CORBA_ORB::shutdown (CORBA::Boolean wait_for_completion, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { this->check_shutdown (ACE_TRY_ENV); ACE_CHECK; @@ -191,7 +190,6 @@ CORBA_ORB::shutdown (CORBA::Boolean wait_for_completion, void CORBA_ORB::destroy (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { this->check_shutdown (ACE_TRY_ENV); ACE_CHECK; @@ -214,7 +212,6 @@ CORBA_ORB::destroy (CORBA::Environment &ACE_TRY_ENV) int CORBA_ORB::perform_work (const ACE_Time_Value &tv, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { // This method should not be called if the ORB has been shutdown. this->check_shutdown (ACE_TRY_ENV); @@ -235,7 +232,6 @@ CORBA_ORB::perform_work (const ACE_Time_Value &tv, CORBA::Boolean CORBA_ORB::work_pending (CORBA_Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { // This method should not be called if the ORB has been shutdown. this->check_shutdown (ACE_TRY_ENV); @@ -368,7 +364,6 @@ int CORBA_ORB::run (ACE_Time_Value *tv, int break_on_timeouts, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { this->check_shutdown (ACE_TRY_ENV); ACE_CHECK_RETURN (-1); @@ -378,21 +373,18 @@ CORBA_ORB::run (ACE_Time_Value *tv, int CORBA_ORB::run (ACE_Time_Value &tv, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { return this->run (&tv, 1, ACE_TRY_ENV); } int CORBA_ORB::run (ACE_Time_Value *tv, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { return this->run (tv, 1, ACE_TRY_ENV); } int CORBA_ORB::run (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { return this->run (0, 0, ACE_TRY_ENV); } @@ -453,14 +445,14 @@ CORBA_ORB::resolve_service (MCAST_SERVICEID mcast_service_id, ACE_Time_Value *timeout, CORBA::Environment& ACE_TRY_ENV) { - const char * env_service_ior [] = + const char * env_service_ior [] = { "NameServiceIOR", "TradingServiceIOR", "ImplRepoServiceIOR" }; - const char * env_service_port [] = + const char * env_service_port [] = { "NameServicePort", "TradingServicePort", @@ -473,23 +465,23 @@ CORBA_ORB::resolve_service (MCAST_SERVICEID mcast_service_id, TAO_DEFAULT_TRADING_SERVER_REQUEST_PORT, TAO_DEFAULT_IMPLREPO_SERVER_REQUEST_PORT }; - + const char * service_objid [] = { TAO_OBJID_NAMESERVICE, TAO_OBJID_TRADINGSERVICE, TAO_OBJID_IMPLREPOSERVICE }; - + CORBA_Object_var return_value = CORBA_Object::_nil (); - + // By now, the table filled in with -ORBInitRef arguments has been // checked. We only get here if the table didn't contain an initial // reference for the requested Service. - + // Check to see if the user has an environment variable. ACE_CString service_ior = ACE_OS::getenv (env_service_ior[mcast_service_id]); - + if (service_ior.length () != 0) { return_value = @@ -502,19 +494,19 @@ CORBA_ORB::resolve_service (MCAST_SERVICEID mcast_service_id, // First, determine if the port was supplied on the command line u_short port = this->orb_core_->orb_params ()->service_port (mcast_service_id); - + if (port == 0) { // Look for the port among our environment variables. const char *port_number = ACE_OS::getenv (env_service_port[mcast_service_id]); - + if (port_number != 0) port = (u_short) ACE_OS::atoi (port_number); else port = default_service_port[mcast_service_id]; } - + return_value = this->multicast_to_service (service_objid[mcast_service_id], port, @@ -522,7 +514,7 @@ CORBA_ORB::resolve_service (MCAST_SERVICEID mcast_service_id, ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA_Object::_nil ()); } - + // Return ior. return return_value._retn (); } @@ -848,10 +840,10 @@ CORBA_ORB::resolve_initial_references (const char *name, if (ACE_OS::strcmp (name, TAO_OBJID_NAMESERVICE) == 0) return this->resolve_service (NAMESERVICE, timeout, ACE_TRY_ENV); - + else if (ACE_OS::strcmp (name, TAO_OBJID_TRADINGSERVICE) == 0) return this->resolve_service (TRADINGSERVICE, timeout, ACE_TRY_ENV); - + else if (ACE_OS::strcmp (name, TAO_OBJID_IMPLREPOSERVICE) == 0) return this->resolve_service (IMPLREPOSERVICE, timeout, ACE_TRY_ENV); @@ -924,7 +916,6 @@ CORBA_ORB::key_to_object (const TAO_ObjectKey &key, void CORBA_ORB::check_shutdown (CORBA_Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->orb_core () != 0) { @@ -1667,7 +1658,6 @@ CORBA::Policy_ptr CORBA_ORB::create_policy (CORBA::PolicyType type, const CORBA::Any& val, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException, CORBA::PolicyError)) { this->check_shutdown (ACE_TRY_ENV); ACE_CHECK_RETURN (CORBA::Policy::_nil ()); @@ -1829,9 +1819,9 @@ CORBA_ORB::url_ior_string_to_object (const char* str, this->orb_core_->connector_registry ()->make_mprofile (str, mprofile, ACE_TRY_ENV); - + ACE_CHECK_RETURN (CORBA::Object::_nil ()); // Return nil. - + if (retv != 0) { ACE_THROW_RETURN (CORBA::INV_OBJREF ( @@ -1841,14 +1831,14 @@ CORBA_ORB::url_ior_string_to_object (const char* str, CORBA::COMPLETED_NO), CORBA::Object::_nil ()); } - + // Now make the TAO_Stub. TAO_Stub *data = 0; ACE_NEW_THROW_EX (data, TAO_Stub ((char *) 0, mprofile, this->orb_core_), CORBA::NO_MEMORY ()); ACE_CHECK_RETURN (CORBA::Object::_nil ()); - + TAO_Stub_Auto_Ptr safe_data (data); // Figure out if the servant is collocated. diff --git a/TAO/tao/ORB.h b/TAO/tao/ORB.h index c2646226f72..9622e4a8b50 100644 --- a/TAO/tao/ORB.h +++ b/TAO/tao/ORB.h @@ -458,7 +458,6 @@ public: static CORBA::TypeCode_ptr _tc_InconsistentTypeCode; // Dynamic Any factory functions. - // @@EXC@@ Add the ACE_THROW_SPEC for these functions... CORBA_DynAny_ptr create_dyn_any (const CORBA_Any& any, CORBA::Environment &ACE_TRY_ENV @@ -525,16 +524,14 @@ public: // = ORB event loop methods. - int run (CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + int run (CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Instructs the ORB to initialize itself and run its event loop in // the current thread, not returning until the ORB has shut down. // If an error occurs during initialization or a run-time this // method will return -1. int run (ACE_Time_Value &tv, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Instructs the ORB to initialize itself and run its event loop in // the current thread, not returning until the ORB has shut down. // If an error occurs during initialization or a run-time this @@ -545,8 +542,7 @@ public: // is returned. int run (ACE_Time_Value *tv, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Instructs the ORB to initialize itself and run its event loop in // the current thread, not returning until the ORB has shut down. // If an error occurs during initialization or a run-time this @@ -557,8 +553,7 @@ public: // the value of 1 is returned. void shutdown (CORBA::Boolean wait_for_completion = 0, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // This operation instructs the ORB to shut down. Shutting down the // ORB causes all Object Adapters to be shut down. If // <wait_for_completion> parameter is TRUE, this operation blocks @@ -566,27 +561,26 @@ public: // deactivation or other operations associated with object adapters) // has completed. - void destroy (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - + void destroy (CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); + // Destroy the ORB, releasing any resources. Notice that TAO *cannot* + // release the resources even if you have destroyed all the + // references to a particular ORB. CORBA::ORB_init() is required to + // return the same pointer if called with the same ORBid, only after + // ORB::destroy() is called it may return a new one. CORBA::Boolean work_pending (CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + TAO_default_environment ()); // Returns an indication of whether the ORB needs to perform some // work. int perform_work (const ACE_Time_Value & = ACE_Time_Value::zero, CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + TAO_default_environment ()); // This operation performs an implementation-defined unit of // work. Note that the default behavior is not to block; this // behavior can be modified by passing an appropriate // <ACE_Time_Value>. - // @@EXC@@ Add the ACE_THROW_SPEC for these two functions - CORBA_Object_ptr resolve_initial_references (const char *name, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()); @@ -617,8 +611,7 @@ public: CORBA::Policy_ptr create_policy (CORBA::PolicyType type, const CORBA::Any& val, CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException, CORBA::PolicyError)); + TAO_default_environment ()); #endif /* TAO_HAS_CORBA_MESSAGING */ // ---------------------------------------------------------------- @@ -737,8 +730,7 @@ protected: int run (ACE_Time_Value *tv, int break_on_timeouts, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Implements the run routine private: diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 0ff7510d5b2..b5325bc5271 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -1591,7 +1591,6 @@ int TAO_ORB_Core::run (ACE_Time_Value *tv, int break_on_timeouts, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { if (TAO_debug_level >= 3) ACE_DEBUG ((LM_DEBUG, @@ -1681,7 +1680,6 @@ TAO_ORB_Core::run (ACE_Time_Value *tv, void TAO_ORB_Core::shutdown (CORBA::Boolean wait_for_completion, CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { // Is the <wait_for_completion> semantics for this thread correct? TAO_POA::check_for_valid_wait_for_completions (wait_for_completion, @@ -1716,7 +1714,6 @@ TAO_ORB_Core::shutdown (CORBA::Boolean wait_for_completion, void TAO_ORB_Core::destroy (CORBA_Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->has_shutdown () == 0) { @@ -1746,7 +1743,6 @@ TAO_ORB_Core::destroy (CORBA_Environment &ACE_TRY_ENV) int TAO_ORB_Core::open (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { // Double check pattern if (this->open_called_ == 1) diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 13001460d4a..e3a47bae6df 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -369,26 +369,22 @@ public: int run (ACE_Time_Value *tv, int break_on_timeouts, - CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV); // Run the event loop void shutdown (CORBA::Boolean wait_for_completion, CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + TAO_default_environment ()); // End the event loop int has_shutdown (void); // Get the shutdown flag value void destroy (CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + TAO_default_environment ()); // Shutdown the ORB and free resources - void check_shutdown (CORBA::Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)); + void check_shutdown (CORBA::Environment &ACE_TRY_ENV); // Check if ORB has shutdown. If it has, throw an exception. int thread_per_connection_timeout (ACE_Time_Value &timeout) const; @@ -438,8 +434,7 @@ protected: // Implement the input_cdr_*_allocator() routines using pre-fetched // TSS resources. This minimizes the number of calls to them. - int open (CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + int open (CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()); // Set up the ORB Core's acceptor to listen on the // previously-specified port for requests. Returns -1 on failure, // else 0. diff --git a/TAO/tao/ORB_Core.i b/TAO/tao/ORB_Core.i index 6190e3d5270..02b51715b6c 100644 --- a/TAO/tao/ORB_Core.i +++ b/TAO/tao/ORB_Core.i @@ -169,7 +169,6 @@ TAO_ORB_Core::has_shutdown (void) ACE_INLINE void TAO_ORB_Core::check_shutdown (CORBA_Environment &ACE_TRY_ENV) - ACE_THROW_SPEC ((CORBA::SystemException)) { if (this->has_shutdown ()) { diff --git a/TAO/tao/Pluggable.h b/TAO/tao/Pluggable.h index 84dd99368ad..2b8b386f670 100644 --- a/TAO/tao/Pluggable.h +++ b/TAO/tao/Pluggable.h @@ -279,7 +279,7 @@ public: CORBA::ULong tag (void) const; // The tag identifying the specific ORB transport layer protocol. - // For example TAO_IOP_TAG_INTERNET_IOP = 0. The tag is used in the + // For example TAO_TAG_IIOP_PROFILE = 0. The tag is used in the // IOR to identify the type of profile included. IOR -> {{tag0, // profile0} {tag1, profole1} ...} GIOP.h defines typedef // CORBA::ULong TAO_IOP_Profile_ID; diff --git a/TAO/tao/UIOP_Acceptor.cpp b/TAO/tao/UIOP_Acceptor.cpp index 4db6194d264..edd50b31a82 100644 --- a/TAO/tao/UIOP_Acceptor.cpp +++ b/TAO/tao/UIOP_Acceptor.cpp @@ -57,7 +57,7 @@ template class TAO_Accept_Strategy<TAO_UIOP_Server_Connection_Handler, ACE_LSOCK #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ TAO_UIOP_Acceptor::TAO_UIOP_Acceptor (void) - : TAO_Acceptor (TAO_IOP_TAG_UNIX_IOP), + : TAO_Acceptor (TAO_TAG_UIOP_PROFILE), base_acceptor_ (), creation_strategy_ (0), concurrency_strategy_ (0), diff --git a/TAO/tao/UIOP_Connector.cpp b/TAO/tao/UIOP_Connector.cpp index 30f7d1c1cc5..02c3c851c70 100644 --- a/TAO/tao/UIOP_Connector.cpp +++ b/TAO/tao/UIOP_Connector.cpp @@ -338,7 +338,7 @@ typedef ACE_Cached_Connect_Strategy<TAO_UIOP_Client_Connection_Handler, #endif /* ! TAO_USES_ROBUST_CONNECTION_MGMT */ TAO_UIOP_Connector::TAO_UIOP_Connector (void) - : TAO_Connector (TAO_IOP_TAG_UNIX_IOP), + : TAO_Connector (TAO_TAG_UIOP_PROFILE), base_connector_ (), orb_core_ (0) #if defined (TAO_USES_ROBUST_CONNECTION_MGMT) @@ -444,7 +444,7 @@ TAO_UIOP_Connector::connect (TAO_Profile *profile, TAO_Transport *& transport, ACE_Time_Value *max_wait_time) { - if (profile->tag () != TAO_IOP_TAG_UNIX_IOP) + if (profile->tag () != TAO_TAG_UIOP_PROFILE) return -1; TAO_UIOP_Profile *uiop_profile = diff --git a/TAO/tao/UIOP_Profile.cpp b/TAO/tao/UIOP_Profile.cpp index 968ce41d20a..d504d07ea64 100644 --- a/TAO/tao/UIOP_Profile.cpp +++ b/TAO/tao/UIOP_Profile.cpp @@ -27,7 +27,7 @@ TAO_UIOP_Profile::TAO_UIOP_Profile (const ACE_UNIX_Addr &addr, const TAO_ObjectKey &object_key, const TAO_GIOP_Version &version, TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_UNIX_IOP), + : TAO_Profile (TAO_TAG_UIOP_PROFILE), version_ (version), object_key_ (object_key), object_addr_ (addr), @@ -41,7 +41,7 @@ TAO_UIOP_Profile::TAO_UIOP_Profile (const char *, const ACE_UNIX_Addr &addr, const TAO_GIOP_Version &version, TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_UNIX_IOP), + : TAO_Profile (TAO_TAG_UIOP_PROFILE), version_ (version), object_key_ (object_key), object_addr_ (addr), @@ -63,7 +63,7 @@ TAO_UIOP_Profile::TAO_UIOP_Profile (const TAO_UIOP_Profile &pfile) TAO_UIOP_Profile::TAO_UIOP_Profile (const char *string, TAO_ORB_Core *orb_core, CORBA::Environment &ACE_TRY_ENV) - : TAO_Profile (TAO_IOP_TAG_UNIX_IOP), + : TAO_Profile (TAO_TAG_UIOP_PROFILE), version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), object_key_ (), object_addr_ (), @@ -75,7 +75,7 @@ TAO_UIOP_Profile::TAO_UIOP_Profile (const char *string, } TAO_UIOP_Profile::TAO_UIOP_Profile (TAO_ORB_Core *orb_core) - : TAO_Profile (TAO_IOP_TAG_UNIX_IOP), + : TAO_Profile (TAO_TAG_UIOP_PROFILE), version_ (TAO_DEF_GIOP_MAJOR, TAO_DEF_GIOP_MINOR), object_key_ (), object_addr_ (), @@ -171,7 +171,7 @@ CORBA::Boolean TAO_UIOP_Profile::is_equivalent (const TAO_Profile *other_profile) { - if (other_profile->tag () != TAO_IOP_TAG_UNIX_IOP) + if (other_profile->tag () != TAO_TAG_UIOP_PROFILE) return 0; const TAO_UIOP_Profile *op = @@ -352,7 +352,7 @@ TAO_UIOP_Profile::encode (TAO_OutputCDR &stream) const // @@ it seems like this is not a good separation of concerns, why // do we write the TAG here? That's generic code and should be // handled by the object reference writer (IMHO). - stream.write_ulong (TAO_IOP_TAG_UNIX_IOP); + stream.write_ulong (TAO_TAG_UIOP_PROFILE); // Create the encapsulation.... TAO_OutputCDR encap (ACE_CDR::DEFAULT_BUFSIZE, diff --git a/TAO/tao/UIOP_Transport.cpp b/TAO/tao/UIOP_Transport.cpp index 255825caf6a..64068097a3d 100644 --- a/TAO/tao/UIOP_Transport.cpp +++ b/TAO/tao/UIOP_Transport.cpp @@ -51,7 +51,7 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_UIOP_Transport_Timeprobe_Description, TAO_UIOP_Transport::TAO_UIOP_Transport (TAO_UIOP_Handler_Base *handler, TAO_ORB_Core *orb_core) - : TAO_Transport (TAO_IOP_TAG_UNIX_IOP, + : TAO_Transport (TAO_TAG_UIOP_PROFILE, orb_core), handler_ (handler) { diff --git a/TAO/tao/corbafwd.h b/TAO/tao/corbafwd.h index 9fe25d5395d..0c4b93b126e 100644 --- a/TAO/tao/corbafwd.h +++ b/TAO/tao/corbafwd.h @@ -1692,6 +1692,13 @@ TAO_NAMESPACE_CLOSE // end of class (namespace) CORBA // types later. #define TAO_ORB_TYPE 0x54414f00U +// The standard profile tags, they are listed here only to avoid +// putting the raw literal in the code, it is *NOT* necessary to list +// your own protocols here. +#define TAO_TAG_INVALID_PROFILE -1 +#define TAO_TAG_IIOP_PROFILE 0 +#define TAO_TAG_MULTIPLE_COMPONENT_PROFILE 1 + // We reserved the range 0x54414f00 - 0x54414f0f with the OMG to // define our own profile ids in TAO. #define TAO_TAG_UIOP_PROFILE 0x54414f00U /* Local IPC (Unix Domain) */ diff --git a/TAO/tao/default_resource.cpp b/TAO/tao/default_resource.cpp index d552508cef7..19b3a8513ba 100644 --- a/TAO/tao/default_resource.cpp +++ b/TAO/tao/default_resource.cpp @@ -330,6 +330,17 @@ TAO_Default_Resource_Factory::init_protocol_factories (void) if (factory == end) { + // If the user did not list any protocols in her svc.conf file + // then default to TAO's basic protocols. + // You do *NOT* need modify this code to add your own protocol, + // instead simply add the following to your svc.conf file: + // + // dynamic PN_Factory Service_Object * LIB:_make_PN_Protocol_Factory() "" + // static Resource_Factory "-ORBProtocolFactory PN_Factory" + // + // where PN is the name of your protocol and LIB is the base + // name of the shared library that implements the protocol. + // TAO_Protocol_Factory *protocol_factory = 0; TAO_Protocol_Item *item = 0; |