diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-04-22 19:25:13 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2005-04-22 19:25:13 +0000 |
commit | 581353844c6d5ad389fcc25d3dbaa9cdb8b24654 (patch) | |
tree | 984fe140952e8eef12acf304d013adffeb3a4cb8 /TAO/orbsvcs/ImplRepo_Service | |
parent | 3f2d906c547515516d25b149d315d0d19cc3c517 (diff) | |
download | ATCD-581353844c6d5ad389fcc25d3dbaa9cdb8b24654.tar.gz |
ChangeLogTag:Fri Apr 22 12:17:09 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'TAO/orbsvcs/ImplRepo_Service')
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h | 7 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/Forwarder.h | 7 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/INS_Locator.h | 7 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp | 19 | ||||
-rw-r--r-- | TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h | 2 |
5 files changed, 34 insertions, 8 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h index 8e2d0ed52f3..d62d8f3cfcf 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h +++ b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h @@ -22,6 +22,9 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/LocalObject.h" + + /** * @class ImR_Adapter_Activator * @@ -32,7 +35,9 @@ * the POA structure that the request expects. For each POA created, the * same ServantLocator will be registered in each one. */ -class ImR_Adapter : public PortableServer::AdapterActivator +class ImR_Adapter + : public PortableServer::AdapterActivator, + public CORBA::LocalObject { public: ImR_Adapter(); diff --git a/TAO/orbsvcs/ImplRepo_Service/Forwarder.h b/TAO/orbsvcs/ImplRepo_Service/Forwarder.h index ef5a8f2a8b6..7ab53c376ff 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Forwarder.h +++ b/TAO/orbsvcs/ImplRepo_Service/Forwarder.h @@ -23,6 +23,9 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/LocalObject.h" + + class ImR_Locator_i; /** @@ -34,7 +37,9 @@ class ImR_Locator_i; * is used to handle arbitrary calls and forward them to the * correct place. */ -class ImR_Forwarder: public PortableServer::ServantLocator +class ImR_Forwarder + : public PortableServer::ServantLocator, + public CORBA::LocalObject { public: ImR_Forwarder (ImR_Locator_i& imr_impl); diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h index 0536aac2fb0..88fca61b5ba 100644 --- a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h +++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h @@ -21,6 +21,9 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ +#include "tao/LocalObject.h" + + class ImR_Locator_i; /** @@ -31,7 +34,9 @@ class ImR_Locator_i; * This class provides a callback for the IORTable to call when it needs * to dynamically receive a IOR to forward in response to an INS request. */ -class INS_Locator : public virtual IORTable::Locator +class INS_Locator + : public virtual IORTable::Locator, + public virtual CORBA::LocalObject { public: INS_Locator (ImR_Locator_i& loc); diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp index 531855b30d7..adc06001a88 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp @@ -55,14 +55,23 @@ createPersistentPOA(PortableServer::POA_ptr root_poa, const char* poa_name ACE_E return poa._retn(); } -ImR_Locator_i::ImR_Locator_i () -: forwarder_(*this) -, ins_locator_(*this) -, debug_(0) -, read_only_(false) +ImR_Locator_i::ImR_Locator_i (void) + : forwarder_(*this) + , ins_locator_(*this) + , debug_(0) + , read_only_(false) { } +ImR_Locator_i::~ImR_Locator_i (void) +{ + // For some reason g++ 4.0 needs this out-of-line destructor instead + // of the default one generated by the compiler. Without this + // destructor, we get a number of "undefined reference" link errors + // related to the virtual tables of the INS_Locator, ImR_Adapter and + // ImR_Forwarder members in this class. +} + int ImR_Locator_i::init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL) { diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h index ff8a7603a44..414ee3ccec0 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h +++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h @@ -34,6 +34,8 @@ class Locator_Export ImR_Locator_i public: ImR_Locator_i(); + ~ImR_Locator_i (void); + /// Initialize the service, creating its own orb, poa, etc. int init (Options& opts ACE_ENV_ARG_DECL); |