summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfields_t <fields_t@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-15 23:10:58 +0000
committerfields_t <fields_t@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-15 23:10:58 +0000
commitd9e5334587b6b39f61701101efee04dccae463ad (patch)
tree4592cff6b219f6d5a4a45fc906f0a469e7bd5940
parent9b7a0c4714f510676ff968f469bef83493061701 (diff)
downloadATCD-d9e5334587b6b39f61701101efee04dccae463ad.tar.gz
initial overlay of oci files
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Info.cpp27
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Info.h36
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp119
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h48
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp14
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h13
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp673
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Options.h119
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.cpp26
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h10
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Forwarder.cpp202
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Forwarder.h26
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp48
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/INS_Locator.h19
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp115
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl30
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp1513
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h230
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp107
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator.idl18
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp1649
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h282
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc116
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Iterator.cpp122
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Iterator.h23
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Loader.cpp113
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h46
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp33
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h12
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp481
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.h86
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp553
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h112
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.cpp106
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.h88
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/README.txt11
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.cpp241
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.h80
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Server_Info.cpp106
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Server_Info.h130
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Server_Repository.cpp726
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Server_Repository.h104
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.cpp289
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.h221
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/activator_export.h54
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/activator_idl_export.h54
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/locator_export.h54
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/locator_idl_export.h54
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/repository.xml29
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/tao_imr.cpp7
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp1398
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h71
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/utils.h98
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc69
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/combined.cpp80
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/controller.cpp72
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp150
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h59
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/dynserver_export.h54
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/readme28
-rwxr-xr-xTAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl163
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/service_config.idl6
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/start_all.conf3
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/test.cpp39
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/test.idl4
-rw-r--r--TAO/orbsvcs/examples/ImR/Combined_Service/test_server.cpp89
-rw-r--r--TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp73
-rw-r--r--TAO/orbsvcs/orbsvcs/IOR_Multicast.h17
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/locked/run_test.pl64
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/run_test.pl129
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/client.conf4
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/client.cpp40
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/scale/run_test.pl217
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/scaletest.mpc24
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/server.cpp37
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp228
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/server_i.h31
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/test.idl4
-rw-r--r--TAO/tao/PortableServer/ImR_Locator.pidl86
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorC.cpp1547
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorC.h460
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorC.inl64
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorS.cpp3940
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorS.h1145
-rw-r--r--TAO/tao/PortableServer/ImR_LocatorS.inl858
-rw-r--r--TAO/tao/PortableServer/ImplRepo.idl190
-rw-r--r--TAO/tao/PortableServer/ImplRepo.pidl218
-rw-r--r--TAO/tao/PortableServer/ImplRepoC.cpp5004
-rw-r--r--TAO/tao/PortableServer/ImplRepoC.h1312
-rw-r--r--TAO/tao/PortableServer/ImplRepoC.inl136
-rw-r--r--TAO/tao/PortableServer/ImplRepoS.cpp7464
-rw-r--r--TAO/tao/PortableServer/ImplRepoS.h1346
-rw-r--r--TAO/tao/PortableServer/ImplRepoS.inl26
-rw-r--r--TAO/utils/catior/catior.cpp125
-rw-r--r--bin/MakeProjectCreator/config/imr_activator.mpb4
-rw-r--r--bin/MakeProjectCreator/config/imr_locator.mpb4
96 files changed, 6638 insertions, 29917 deletions
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Info.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Info.cpp
new file mode 100644
index 00000000000..a3717893ef4
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Info.cpp
@@ -0,0 +1,27 @@
+// $Id$
+#include "Activator_Info.h"
+
+Activator_Info::Activator_Info
+(const ACE_CString& aname,
+ CORBA::Long atoken,
+ const ACE_CString& aior,
+ ImplementationRepository::Activator_ptr act)
+ : name(aname)
+ , token(atoken)
+ , ior(aior)
+ , activator (ImplementationRepository::Activator::_duplicate (act))
+ , waiting_clients(0)
+{
+}
+void
+Activator_Info::reset()
+{
+ ior = "";
+ activator = ImplementationRepository::Activator::_nil();
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Info.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Info.h
new file mode 100644
index 00000000000..5bc4592eaf1
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Info.h
@@ -0,0 +1,36 @@
+// $Id$
+#ifndef ACTIVATOR_INFO_H
+#define ACTIVATOR_INFO_H
+
+#include "ace/Bound_Ptr.h"
+
+#include "ImR_ActivatorC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+* @brief Information about IMR registered Activators.
+*/
+struct Activator_Info
+{
+ Activator_Info (const ACE_CString& aname,
+ CORBA::Long atoken,
+ const ACE_CString& aior,
+ ImplementationRepository::Activator_ptr act =
+ ImplementationRepository::Activator::_nil ());
+
+ /// Reset the connection portion
+ void reset();
+
+ ACE_CString name;
+ CORBA::Long token;
+ ACE_CString ior;
+ ImplementationRepository::Activator_var activator;
+ int waiting_clients;
+};
+
+typedef ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> Activator_Info_Ptr;
+
+#endif /* ACTIVATOR_INFO_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp
new file mode 100644
index 00000000000..6ff03887158
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp
@@ -0,0 +1,119 @@
+// $Id$
+
+#include "Activator_Loader.h"
+#include "ace/Dynamic_Service.h"
+#include "ace/Task.h"
+
+class ImR_Activator_ORB_Runner : public ACE_Task_Base
+{
+ ImR_Activator_Loader& service_;
+public:
+ ImR_Activator_ORB_Runner(ImR_Activator_Loader& service)
+ : service_(service)
+ {
+ }
+ virtual int svc()
+ {
+ // Block until service_.fini() calls orb->destroy()
+ this->service_.run();
+ return 0;
+ }
+};
+
+ImR_Activator_Loader::ImR_Activator_Loader(void)
+{
+}
+
+// For now, we will assume that it's sufficient to start
+// the service in its own thread. Later, if necessary, we
+// can add a command line option to allow the imr to use
+// the same orb as other tao services, however the imr
+// is currently written with the assumption that it's running
+// in its own orb.
+int
+ImR_Activator_Loader::init (int argc, ACE_TCHAR *argv[] ACE_ENV_ARG_DECL)
+{
+ ACE_TRY
+ {
+ int err = this->opts_.init(argc, argv);
+ if (err != 0)
+ return -1;
+
+ // Creates it's own internal orb, which we must run later
+ err = this->service_.init(this->opts_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (err != 0)
+ return -1;
+
+ // Create a thread in which to run the service
+ ACE_ASSERT(this->runner_.get() == 0);
+ this->runner_.reset(new ImR_Activator_ORB_Runner(*this));
+ this->runner_->activate();
+ }
+ ACE_CATCHANY
+ {
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+int
+ImR_Activator_Loader::fini (void)
+{
+ ACE_ASSERT(this->runner_.get() != 0);
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ int ret = this->service_.fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->runner_->wait();
+ this->runner_.reset(0);
+ return ret;
+ }
+ ACE_CATCHANY
+ {
+ return -1;
+ }
+ ACE_ENDTRY;
+ return -1;
+}
+
+CORBA::Object_ptr
+ImR_Activator_Loader::create_object (CORBA::ORB_ptr,
+ int,
+ ACE_TCHAR **
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW_RETURN(CORBA::NO_IMPLEMENT(), CORBA::Object::_nil());
+}
+
+int
+ImR_Activator_Loader::run(void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ return this->service_.run(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHALL
+ {
+ ACE_ERROR((LM_ERROR, "Exception in ImR_Locator_ORB_Runner()\n"));
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+ACE_FACTORY_DEFINE (Activator, ImR_Activator_Loader)
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Dynamic_Service<ImR_Activator_Loader>;
+template class ACE_Auto_Ptr<ImR_Activator_ORB_Runner>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Dynamic_Service<ImR_Activator_Loader>
+#pragma instantiate ACE_Auto_Ptr<ImR_Activator_ORB_Runner>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h
new file mode 100644
index 00000000000..bf6573bd51c
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h
@@ -0,0 +1,48 @@
+// $Id$
+#ifndef TAO_IMR_ACTIVATOR_LOADER_H
+#define TAO_IMR_ACTIVATOR_LOADER_H
+
+#include "ImR_Activator_i.h"
+#include "Activator_Options.h"
+
+#include "tao/Object_Loader.h"
+
+#include "ace/Auto_Ptr.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class ImR_Activator_ORB_Runner;
+
+class Activator_Export ImR_Activator_Loader : public TAO_Object_Loader
+{
+public:
+ ImR_Activator_Loader(void);
+
+ virtual int init (int argc, ACE_TCHAR *argv[] ACE_ENV_ARG_DECL);
+
+ virtual int fini (void);
+
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ int argc,
+ ACE_TCHAR *argv[]
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Unlike other service objects, we have our own orb.
+ int run(void);
+
+private:
+ ImR_Activator_i service_;
+ Options opts_;
+ ACE_Auto_Ptr<ImR_Activator_ORB_Runner> runner_;
+
+private:
+ ACE_UNIMPLEMENTED_FUNC (ImR_Activator_Loader (const ImR_Activator_Loader &))
+ ACE_UNIMPLEMENTED_FUNC (ImR_Activator_Loader &operator = (const ImR_Activator_Loader &))
+};
+
+ACE_FACTORY_DECLARE (Activator, ImR_Activator_Loader)
+
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp
index 08eeb4b7824..fe766239984 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.cpp
@@ -16,6 +16,8 @@
#if defined (ACE_WIN32)
#include "ImR_Activator_i.h"
+#include "Activator_Options.h"
+
#include "tao/ORB_Core.h"
/**
@@ -57,13 +59,18 @@ int
Activator_NT_Service::svc (void)
{
ImR_Activator_i server;
+ Options opts;
- int status = 0;
+ if (opts.init_from_registry() != 0)
+ {
+ report_status (SERVICE_STOPPED);
+ return -1;
+ }
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ int status = server.init (opts ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
if (status == -1)
@@ -77,6 +84,9 @@ Activator_NT_Service::svc (void)
server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+ status = server.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
report_status (SERVICE_STOPPED);
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h
index 1fc289707ed..339d06c5b19 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_NT_Service.h
@@ -7,8 +7,8 @@
*
* @author Darrell Brunsch <brunsch@cs.wustl.edu>
* @author Jeff Parsons <parsons@cs.wustl.edu>
- * @author John Tucker <jtucker@infoglide.com>
- * @author Mike Vitalo <mvitalo@infoglide.com>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
*/
//=============================================================================
@@ -21,8 +21,13 @@
#include "ace/NT_Service.h"
#include "ace/Singleton.h"
+#include "ace/Synch.h"
#include "tao/orbconf.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
static const char * IMR_ACTIVATOR_SERVICE_NAME = "TAOIMRActivator";
static const char * IMR_ACTIVATOR_DISPLAY_NAME = "TAO Implementation Repository Activator";
static const char * IMR_ACTIVATOR_DESCRIPTION = "Implementation Repository Activator service for TAO";
@@ -51,8 +56,10 @@ private:
friend class ACE_Singleton<Activator_NT_Service, MUTEX>;
};
-typedef ACE_Singleton<Activator_NT_Service, Activator_NT_Service::MUTEX> SERVICE;
+typedef ACE_Singleton<Activator_NT_Service, ACE_Mutex> SERVICE;
#endif /* ACE_WIN32 */
#endif /* Activator_NT_Service_H */
+
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
index a8f02762c14..ebc1ebf99a8 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
@@ -8,17 +8,10 @@
*/
//=============================================================================
#include "Activator_Options.h"
-#include "Activator_NT_Service.h"
-#include "tao/Strategies/advanced_resource.h"
-#include "ace/Arg_Shifter.h"
-#include "ace/ARGV.h"
-#include "ace/OS_NS_strings.h"
-#include "ace/Mutex.h"
-ACE_RCSID (ImplRepo_Service,
- Options,
- "$Id$")
+#include "ace/Arg_Shifter.h"
+ACE_RCSID (ImplRepo_Service, Options, "$Id$")
#if defined (ACE_WIN32)
static const HKEY SERVICE_REG_ROOT = HKEY_LOCAL_MACHINE;
@@ -27,35 +20,18 @@ static const ACE_TCHAR *SERVICE_REG_PATH =
ACE_TEXT ("SYSTEM\\CurrentControlSet\\Services\\TAOIMRActivator\\Parameters");
#endif /* ACE_WIN32 */
-/**
- * Default Constructor. Assigns default values to all the member variables.
- */
Options::Options ()
- : repo_mode_ (REPO_NONE)
- , debug_ (1)
- , ping_interval_ (0, 200 * 1000) // 200 milliseconds
- , service_ (false)
- , startup_timeout_ (5)
- , readonly_ (false)
- , service_command_(SC_NONE)
+: debug_ (1)
+, service_ (false)
+, service_command_(SC_NONE)
{
}
-/**
- * parse_args uses an ACE_Arg_Shifter to grab all the options that are
- * specific to the ImR.
- * If running as an nt service, most of these options will come from the
- * registry instead.
- *
- * @retval 0 Success
- * @retval -1 Error parsing args
- * @retval 1 Success but we should exit.
- */
int
Options::parse_args (int &argc, char *argv[])
{
ACE_Arg_Shifter shifter (argc, argv);
-
+
while (shifter.is_anything_left ())
{
if (ACE_OS::strcasecmp (shifter.get_current (),
@@ -71,21 +47,26 @@ Options::parse_args (int &argc, char *argv[])
}
if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("install")) == 0)
+ ACE_TEXT ("install")) == 0)
{
this->service_command_ = SC_INSTALL;
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("remove")) == 0)
+ ACE_TEXT ("remove")) == 0)
{
this->service_command_ = SC_REMOVE;
}
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("install_no_locator")) == 0)
+ {
+ this->service_command_ = SC_INSTALL_NO_LOCATOR;
+ }
else
{
ACE_ERROR((LM_ERROR, "Error: Unknown service command : %s\n", shifter.get_current()));
this->print_usage ();
return -1;
- }
+ }
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-d")) == 0)
@@ -102,11 +83,6 @@ Options::parse_args (int &argc, char *argv[])
this->debug_ = ACE_OS::atoi (shifter.get_current ());
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("-l")) == 0)
- {
- this->readonly_ = true;
- }
- else if (ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-o")) == 0)
{
shifter.consume_arg ();
@@ -120,79 +96,10 @@ Options::parse_args (int &argc, char *argv[])
this->ior_output_file_ = shifter.get_current();
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("-p")) == 0)
- {
- shifter.consume_arg ();
-
- if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
- {
- ACE_ERROR ((LM_ERROR, "Error: -p option needs a filename\n"));
- this->print_usage ();
- return -1;
- }
-
- if (repo_mode_ != REPO_NONE)
- {
- ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
- this->print_usage ();
- return -1;
- }
-
- this->file_name_ = shifter.get_current ();
- this->repo_mode_ = REPO_HEAP_FILE;
- }
- else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("-r")) == 0)
- {
- if (repo_mode_ != REPO_NONE)
- {
- ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
- this->print_usage ();
- return -1;
- }
- this->repo_mode_ = REPO_REGISTRY;
- }
- else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("-x")) == 0)
- {
- shifter.consume_arg ();
-
- if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
- {
- ACE_ERROR ((LM_ERROR, "Error: -x option needs a filename\n"));
- this->print_usage ();
- return -1;
- }
-
- if (repo_mode_ != REPO_NONE)
- {
- ACE_ERROR ((LM_ERROR, "Error: Persistence already specified.\n"));
- this->print_usage ();
- return -1;
- }
-
- this->file_name_ = shifter.get_current ();
- this->repo_mode_ = REPO_XML_FILE;
- }
- else if (ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-s")) == 0)
{
this->service_ = true;
}
- else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("-t")) == 0)
- {
- shifter.consume_arg ();
-
- if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
- {
- ACE_ERROR ((LM_ERROR, "Error: -t option needs a value\n"));
- this->print_usage ();
- return -1;
- }
- this->startup_timeout_ =
- ACE_Time_Value (ACE_OS::atoi (shifter.get_current ()));
- }
else if ((ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-?")) == 0)
|| (ACE_OS::strcasecmp (shifter.get_current (),
@@ -212,311 +119,50 @@ Options::parse_args (int &argc, char *argv[])
return 0;
}
-/**
- * @retval 0 Success
- * @retval -1 Error parsing args
- * @retval 1 Success but we should exit.
- */
int
Options::init (int argc, char *argv[])
{
// Make an initial pass through and grab the arguments that we recognize.
// This may also run the commands to install or remove the nt service.
int result = this->parse_args (argc, argv);
- if (result != 0) {
+ if (result != 0)
+ {
return result;
}
- ACE_ARGV orb_args; // Save the leftovers to a ACE_ARGV class
- ACE_CString cmdline; // We'll save this in the registry when installing.
- for (int i = 1; i < argc; ++i)
- {
- cmdline += ACE_CString(argv[i]) + ACE_CString(" ");
- if (orb_args.add (argv[i]) == -1)
- {
- ACE_ERROR ((LM_ERROR, "Error: Could not save argument"));
- return -1;
- }
- }
-
- result = run_service_command(cmdline);
-
- if (result != 0)
- return result;
-
- char* argv_tmp = 0;
-
- // Load from the registry. This may replace the args.
- if (this->load_registry_options(argv_tmp, orb_args) != 0)
- return -1;
-
- ACE_Auto_Array_Ptr<char> argv_deleter(argv_tmp);
-
- if (orb_args.add ("-ORBSvcConfDirective\"static Advanced_Resource_Factory '-ORBReactorType select_st'\"") == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) TAO_ImR_Activator- Could not add"
- " SvcConfDirective \n"),
- -1);
- }
-
- int orb_argc = orb_args.argc ();
-
- // Now initialize the orb and pass it the leftover arguments
- ACE_TRY_NEW_ENV
- {
- // First make sure the Activator doesn't pick up an environment setting
- // that would make it try to register its POAs with the ImplRepo.
- char* use_IMR_env_var_value = ACE_OS::getenv ("TAO_USE_IMR");
- if (use_IMR_env_var_value != 0)
- {
- ACE_OS::putenv ("TAO_USE_IMR=0");
- }
-
- this->orb_ = CORBA::ORB_init (orb_argc,
- orb_args.argv (),
- 0
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Caught exception \n");
- ACE_ERROR ((LM_ERROR, "Error: Cannot initialize ORB\n"));
- return -1;
- }
- ACE_ENDTRY;
-
- // If there are any arguments left (besides the executable filename)
- // then they were not picked up by us or the orb and must be
- // unrecognized.
- if (orb_argc > 1)
- {
- // Just print out the first option as an error
- ACE_ERROR ((LM_ERROR,
- "Unrecognized option: %s\n",
- orb_args.argv ()[1]));
- return -1;
- }
-
- if (this->initialize_persistence () != 0)
- return -1;
+ for (int i = 0; i < argc; ++i)
+ {
+ this->cmdline_ += ACE_CString(argv[i]) + ACE_CString(" ");
+ }
- // Indicates successful parsing of command line.
return 0;
}
+int
+Options::init_from_registry (void)
+{
+ this->load_registry_options();
+ return 0;
+}
-/**
- * Just print out the usage message to STDERR
- */
void
Options::print_usage (void) const
{
ACE_ERROR ((LM_ERROR,
"Usage:\n"
"\n"
- "ImR_Activator [-c cmd] [-d 0|1|2] [-l] [-m] [-o file]"
- " [-r|-p file|-x file] [-s] [-t secs]\n"
+ "ImR_Activator [-c cmd] [-d 0|1|2] [-l] [-o file]\n"
"\n"
- " -c command Runs service commands ('install' or 'remove')\n"
+ " -c command Runs service commands \n"
+ " ('install' or 'remove' or 'install_no_locator')\n"
" -d level Sets the debug level\n"
- " -l Lock the database\n"
" -o file Outputs the ImR's IOR to a file\n"
- " -p file Use file for storing/loading settings\n"
- " -x file Use XML file for storing/loading setting\n"
- " -r Use the registry for storing/loading settings\n"
- " -s Runs as a service (NT Only)\n"
- " -t secs Timeout used for killing unresponsive servers\n")
+ " -s Runs as a service (NT Only)\n")
);
}
int
-Options::initialize_persistence(void)
-{
- switch (this->repo_mode_)
- {
- case REPO_NONE:
- return this->initialize_non_persistence();
- case REPO_XML_FILE:
- return this->initialize_xml_persistence();
- case REPO_HEAP_FILE:
- return this->initialize_heap_persistence();
- case REPO_REGISTRY:
- return this->initialize_registry_persistence();
- }
- ACE_ERROR((LM_ERROR, "Error: Unknown persistence type.\n"));
- return -1;
-}
-/**
- * The most portable form of persistence is file persistence. Here
- * we assign an ACE_Configuration_Heap object using @param filename
- * as the file.
- *
- * @retval 0 Success
- * @retval -1 Failure
- */
-int
-Options::initialize_heap_persistence (void)
-{
- ACE_ASSERT(this->repo_config_.get() == 0);
-
- auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("h"));
-
- if (rc->open (this->file_name_.c_str()) == 0)
- {
- this->repo_config_ = rc;
- return 0;
- }
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: Opening persistent heap file '%s'\n"),
- this->file_name_.c_str()));
- return -1;
-}
-
-
-/**
- * On Windows, we have the option of using the Registry to store the
- * server data. Assigns a ACE_Configuration_Win32Registry to
- * this->repo_config_. On non-Win32 systems, just returns an error.
- *
- * @todo Where in the registry should this be stored?
- *
- * @retval 0 Success
- * @retval -1 Failure
- */
-int
-Options::initialize_registry_persistence (void)
-{
- ACE_ASSERT(this->repo_config_.get() == 0);
-#if defined (ACE_WIN32)
- auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("w"));
- this->repo_config_ = rc;
- return 0;
-#else /* ACE_WIN32 */
- ACE_ERROR_RETURN ((LM_ERROR, "Registry not supported on this platform"), -1);
-#endif /* ACE_WIN32 */
-}
-
-
-/**
- * In cases where persistence isn't needed, create an object of
- * the ACE_Configuration_Heap class to be used. Initializes
- * this->repo_config_ to an opened ACE_Configuration_Heap.
- *
- * @retval 0 Success
- * @retval -1 Failure
- */
-int
-Options::initialize_non_persistence (void)
-{
- ACE_ASSERT(this->repo_config_.get() == 0);
-
- auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("h"));
-
- if (rc->open () == 0)
- {
- this->repo_config_ = rc;
- return 0;
- }
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: Opening Configuration heap\n")));
- return -1;
-}
-
-/// Initialize for the XML repository case.
-int
-Options::initialize_xml_persistence (void)
-{
- ACE_ASSERT(this->repo_config_.get() == 0);
-
- auto_ptr<Repository_Configuration> rc(new Repository_Configuration ("x"));
-
- if (rc->open (this->file_name_.c_str()) == 0)
- {
- this->repo_config_ = rc;
- return 0;
- }
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: Opening Configuration XML file %s\n"),
- this->file_name_.c_str()
- ));
- return -1;
-}
-
-/**
- * Executes the various commands that are useful for a NT service. Right
- * now these include 'install' and 'remove'. Others, such as 'start' and
- * 'stop' can be added, but the 'net' program in Windows already handles
- * these commands.
- *
- * @todo Finish implementing Options::run_service_command
- * @todo Update to unicode
- */
-int
-Options::run_service_command (const ACE_CString& cmdline)
-{
- if (this->service_command_ == SC_NONE)
- return 0;
-#if defined (ACE_WIN32)
- SERVICE::instance ()->name (IMR_ACTIVATOR_SERVICE_NAME, IMR_ACTIVATOR_DISPLAY_NAME);
-
- if (this->service_command_ == SC_INSTALL)
- {
- char pathname[_MAX_PATH * 2 + 3]; // +3 for the ' -s' at the end
-
- if (ACE_TEXT_GetModuleFileName(NULL, pathname, _MAX_PATH * 2) == 0)
- {
- ACE_ERROR ((LM_ERROR, "Error: Could not get module file name.\n"));
- return -1;
- }
-
- // Append the command used for running the implrepo as
- ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
-
- const char* DEPENDS_ON = "TAOIMRLocator"; // Must match Locator_NT_Service.h
-
- int ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
- SERVICE_ERROR_NORMAL,
- pathname,
- 0, // group
- 0, // tag
- DEPENDS_ON
- );
- if (ret != -1) {
- if (debug() >= 1) {
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service installed.\n"));
- }
- this->save_registry_options(cmdline);
- } else {
- ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
- }
- if (ret == 0)
- return 1;
- }
- else if (this->service_command_ == SC_REMOVE)
- {
- int ret = SERVICE::instance ()->remove ();
- if (debug() >= 1) {
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service removed.\n"));
- }
- if (ret == 0)
- return 1; // If successfull, then we don't want to continue.
- }
-
- return -1;
-
-#else /* ACE_WIN32 */
- ACE_UNUSED_ARG (cmdline);
- ACE_ERROR ((LM_ERROR, "Service not supported on this platform"));
-
- return -1;
-#endif /* ACE_WIN32 */
-}
-
-int
-Options::save_registry_options(const ACE_CString& cmdline)
+Options::save_registry_options()
{
#if defined (ACE_WIN32)
HKEY key = 0;
@@ -534,85 +180,28 @@ Options::save_registry_options(const ACE_CString& cmdline)
if (err != ERROR_SUCCESS) {
return -1;
}
- err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
- (LPBYTE) cmdline.c_str(), cmdline.length() + 1);
- ACE_ASSERT(err == ERROR_SUCCESS);
-
- err = ACE_TEXT_RegSetValueEx(key, "PersistFile", 0, REG_SZ,
- (LPBYTE) file_name_.c_str(), file_name_.length() + 1);
- ACE_ASSERT(err == ERROR_SUCCESS);
-
- err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
- (LPBYTE) ior_output_file_.c_str(), ior_output_file_.length() + 1);
- ACE_ASSERT(err == ERROR_SUCCESS);
-
- err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
- (LPBYTE) &debug_ , sizeof(debug_));
- ACE_ASSERT(err == ERROR_SUCCESS);
-
- DWORD tmp = ping_interval_.msec();
- err = ACE_TEXT_RegSetValueEx(key, "PingInterval", 0, REG_DWORD,
- (LPBYTE) &tmp, sizeof(DWORD));
- ACE_ASSERT(err == ERROR_SUCCESS);
-
- tmp = readonly_ ? 1 : 0;
- err = ACE_TEXT_RegSetValueEx(key, "Lock", 0, REG_DWORD,
- (LPBYTE) &tmp, sizeof(DWORD));
+ err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
+ (LPBYTE) this->cmdline_.c_str(), this->cmdline_.length() + 1);
ACE_ASSERT(err == ERROR_SUCCESS);
- tmp = repo_mode_;
- err = ACE_TEXT_RegSetValueEx(key, "PersistType", 0, REG_DWORD,
- (LPBYTE) &tmp, sizeof(DWORD));
+ err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
+ (LPBYTE) this->ior_output_file_.c_str(), this->ior_output_file_.length() + 1);
ACE_ASSERT(err == ERROR_SUCCESS);
- tmp = startup_timeout_.sec();
- err = ACE_TEXT_RegSetValueEx(key, "Timeout", 0, REG_DWORD,
- (LPBYTE) &tmp, sizeof(DWORD));
+ err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
+ (LPBYTE) &this->debug_ , sizeof(this->debug_));
ACE_ASSERT(err == ERROR_SUCCESS);
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
-#else
- ACE_UNUSED_ARG (cmdline);
#endif
return 0;
}
-namespace {
- // This both parses the cmdline by replacing spaces with \0's, and
- // adds each command to the ACE_ARGV.
- void parse_command_line(char* cmdline, ACE_ARGV& argv) {
- // This tokenizer will replace all spaces with end-of-string
- // characters and will preserve text between "" and '' pairs.
- ACE_Tokenizer parser (cmdline);
- parser.delimiter_replace (' ', '\0');
- parser.preserve_designators ('\"', '\"');
- parser.preserve_designators ('\'', '\'');
-
- for (char *p = parser.next (); p; p = parser.next ()) {
- argv.add(p);
- }
- }
-}
-/**
- * We will only load from the registry if we are a service.
- * We load each parameter from individual string keys, and then
- * we have to parse the cmdline property into the orb_options
- * so that they can be passed to ORB_init()
- */
int
-Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
+Options::load_registry_options ()
{
#if defined (ACE_WIN32)
- if (! this->service())
- {
- if (this->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG,
- "ActivatorOptions::load_registry_options: Not running as "
- "a service, will not load data from registry\n"));
- return 0;
- }
-
HKEY key = 0;
// Create or open the parameters key
LONG err = ACE_TEXT_RegOpenKeyEx (SERVICE_REG_ROOT,
@@ -625,214 +214,64 @@ Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
// If there aren't any saved parameters, then that's ok.
return 0;
}
- ACE_TCHAR tmpstr[4096];
+ char tmpstr[4096];
DWORD sz = sizeof(tmpstr);
DWORD type = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
- (LPBYTE) tmpstr, &sz);
- if (err == ERROR_SUCCESS) {
- ACE_ASSERT(type == REG_SZ);
- tmpstr[sz] = ACE_LIB_TEXT('\0');
- cmdline = new char[sz+1];
- ACE_OS::strcpy(cmdline, tmpstr);
- parse_command_line(cmdline, argv);
- }
-
- sz = sizeof(tmpstr);
- err = ACE_TEXT_RegQueryValueEx(key, "PersistFile", 0, &type,
+ err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
(LPBYTE) tmpstr, &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_SZ);
- tmpstr[sz] = ACE_LIB_TEXT('\0');
- this->file_name_ = ACE_CString(tmpstr);
+ tmpstr[sz - 1] = '\0';
+ this->cmdline_ = tmpstr;
}
sz = sizeof(tmpstr);
- err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
+ err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
(LPBYTE) tmpstr, &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_SZ);
- tmpstr[sz] = ACE_LIB_TEXT('\0');
- this->ior_output_file_ = ACE_CString(tmpstr);
+ tmpstr[sz - 1] = '\0';
+ this->ior_output_file_ = tmpstr;
}
sz = sizeof(debug_);
- err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
- (LPBYTE) &debug_ , &sz);
+ err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
+ (LPBYTE) &this->debug_ , &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_DWORD);
}
- DWORD tmp = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "PingInterval", 0, &type,
- (LPBYTE) &tmp, &sz);
- if (err == ERROR_SUCCESS) {
- ACE_ASSERT(type == REG_DWORD);
- ping_interval_.msec(tmp);
- }
-
- tmp = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "Lock", 0, &type,
- (LPBYTE) &tmp, &sz);
- if (err == ERROR_SUCCESS) {
- ACE_ASSERT(type == REG_DWORD);
- readonly_ = tmp != 0;
- }
-
- err = ACE_TEXT_RegQueryValueEx(key, "PersistType", 0, &type,
- (LPBYTE) &repo_mode_, &sz);
- if (err == ERROR_SUCCESS) {
- ACE_ASSERT(type == REG_DWORD);
- }
-
- tmp = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "Timeout", 0, &type,
- (LPBYTE) &tmp, &sz);
- if (err == ERROR_SUCCESS) {
- ACE_ASSERT(type == REG_DWORD);
- startup_timeout_.sec(tmp);
- }
-
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
-
- return 0;
-#else /* ACE_WIN32 */
- ACE_UNUSED_ARG (cmdline);
- ACE_UNUSED_ARG (argv);
- return 0;
#endif /* ACE_WIN32 */
+ return 0;
}
-/**
- * Standalone Mode
- *
- * @retval 0 Run as standalone service
- * @retval 1 Run as a service (only on NT right now)
- */
bool
Options::service (void) const
{
return this->service_;
}
-
-/**
- * Debug level for the IR.
- *
- * @retval 0 Quiet
- * @retval 1 Trace messages
- * @retval 2 Detailed messages
- */
unsigned int
Options::debug (void) const
{
return this->debug_;
}
-
-/**
- * @return The file where the IOR will be stored.
- */
-ACE_CString
-Options::output_filename (void) const
+const ACE_CString&
+Options::ior_filename (void) const
{
return this->ior_output_file_;
}
-
-/**
- * @return The amount of time to wait for a server to start.
- */
-ACE_Time_Value
-Options::startup_timeout (void) const
+Options::SERVICE_COMMAND
+Options::service_command(void) const
{
- return this->startup_timeout_;
+ return this->service_command_;
}
-
-/**
- * @return The amount of time to wait between pings
- */
-ACE_Time_Value
-Options::ping_interval (void) const
-{
- return this->ping_interval_;
+const ACE_CString&
+Options::cmdline(void) const {
+ return this->cmdline_;
}
-
-/**
- * @return The ACE_Configuration object that is used to store data.
- */
-Repository_Configuration *
-Options::config (void) const
-{
- return this->repo_config_.get();
-}
-
-int
-Options::repository_mode (void)
-{
- return this->repo_mode_;
-}
-
-ACE_CString
-Options::file_name (void) const
-{
- return this->file_name_;
-}
-
-const char *
-Options::convert_str (ImplementationRepository::ActivationMode mode)
-{
- switch (mode)
- {
- case ImplementationRepository::NORMAL:
- return "NORMAL";
- case ImplementationRepository::MANUAL:
- return "MANUAL";
- case ImplementationRepository::PER_CLIENT:
- return "PER_CLIENT";
- case ImplementationRepository::AUTO_START:
- return "AUTO_START";
- default:
- return "UNKNOWN";
- };
-}
-
-ImplementationRepository::ActivationMode
-Options::convert_mode (const char * mode)
-{
- if (ACE_OS::strcmp (mode, "NORMAL") == 0)
- return ImplementationRepository::NORMAL;
- else if (ACE_OS::strcmp (mode, "MANUAL") == 0)
- return ImplementationRepository::MANUAL;
- else if (ACE_OS::strcmp (mode, "PER_CLIENT") == 0)
- return ImplementationRepository::PER_CLIENT;
- else //if (ACE_OS::strcmp (mode, "AUTO_START") == 0)
- return ImplementationRepository::AUTO_START;
-}
-
-/**
- * @return A pointer to the ORB.
- */
-CORBA::ORB_ptr
-Options::orb (void) const
-{
- return CORBA::ORB::_duplicate (this->orb_.in ());
-}
-
-/**
- * @retval 0 Normal operation.
- * @retval 1 Do not let server info be modified.
- */
-bool
-Options::readonly (void) const
-{
- return this->readonly_;
-}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Singleton <Options, ACE_Null_Mutex>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h
index e9e7cc15466..7ae6ef97d30 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.h
@@ -15,47 +15,37 @@
#ifndef ACTIVATOR_OPTIONS_H
#define ACTIVATOR_OPTIONS_H
-#include "Repository_Configuration.h"
+#include "activator_export.h"
-#include "tao/ORB.h"
-#include "tao/PortableServer/ImplRepoC.h"
-
-#include "ace/Singleton.h"
#include "ace/SString.h"
-#include "ace/Auto_Ptr.h"
-// Forward declarations
-class ACE_ARGV;
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
/**
* @class Options
*
- * @brief Maintains the global options.
- *
- * This is where all the settings for TAO's Implementation Repository is
+ * This is where all the settings for TAO's Implementation Repository are
* stored.
*/
-class Options
+class Activator_Export Options
{
public:
- enum REPO_MODE {
- REPO_NONE,
- REPO_XML_FILE,
- REPO_HEAP_FILE,
- REPO_REGISTRY
- };
-
+
enum SERVICE_COMMAND {
SC_NONE,
SC_INSTALL,
- SC_REMOVE
+ SC_REMOVE,
+ SC_INSTALL_NO_LOCATOR
};
- /// Default Constructor
Options ();
/// Parse the command-line arguments and initialize the options.
int init (int argc, char *argv[]);
+ /// This version should only be used when run as an nt service.
+ int init_from_registry();
/// Service Mode
bool service (void) const;
@@ -64,36 +54,15 @@ public:
unsigned int debug (void) const;
/// Returns the file where the IOR should be stored.
- ACE_CString output_filename (void) const;
-
- /// Returns the configuration object.
- Repository_Configuration* config (void) const;
-
- int repository_mode (void);
-
- /// Returns the file name.
- ACE_CString file_name (void) const;
+ const ACE_CString& ior_filename (void) const;
- /// Converts the activation mode to a const char *. Needed to put
- /// the activation mode into the XML file or print it out.
- const char *convert_str (ImplementationRepository::ActivationMode mode);
+ /// The nt service command to run (install/remove)
+ SERVICE_COMMAND service_command(void) const;
- ImplementationRepository::ActivationMode convert_mode (const char *mode);
+ /// Save the command line arguments as registry settings. (Windows only)
+ int save_registry_options ();
- /// Returns the timeout value for program starting.
- ACE_Time_Value startup_timeout (void) const;
-
- /// Returns the timeout value for program starting.
- ACE_Time_Value ping_interval (void) const;
-
- /// Returns a pointer to the ORB.
- CORBA::ORB_ptr orb (void) const;
-
- /// Will we listen for multicast location requests?
- bool multicast (void) const;
-
- /// Do we allow modifications to the servers?
- bool readonly (void) const;
+ const ACE_CString& cmdline(void) const;
private:
/// Parses and pulls out arguments for the ImR
@@ -102,36 +71,13 @@ private:
/// Print the usage information.
void print_usage (void) const;
- /// Wrapper for the other initialize_persistence() methods
- int initialize_persistence(void);
-
- /// Initialize heap file persistence.
- int initialize_heap_persistence (void);
-
- /// Initialize Registry persistence.
- int initialize_registry_persistence (void);
+ /// Loads options from the registry
+ int load_registry_options ();
- /// Initialize default heap for no persistence.
- int initialize_non_persistence (void);
-
- /// Initialize XML file persistence
- int initialize_xml_persistence (void);
-
- /// Run a service command.
- int run_service_command (const ACE_CString& cmdline);
-
- /// Loads ORB options from the registry
- int load_registry_options (char*& cmdline, ACE_ARGV& argv);
- int save_registry_options (const ACE_CString& cmdline);
-
- /// The persistent configuration object.
- auto_ptr<Repository_Configuration> repo_config_;
-
- /// Mode of the Server Repository: if XML (x) or non-XML (n)
- int repo_mode_;
+private:
- /// The persistent file option.
- ACE_CString file_name_;
+ /// Our extra command line arguments
+ ACE_CString cmdline_;
/// Debug level.
unsigned int debug_;
@@ -139,28 +85,11 @@ private:
/// File where the IOR of the server object is stored.
ACE_CString ior_output_file_;
- /// Will we listen for multicast location requests?
- bool multicast_;
-
- /// The ORB for the Implementation Repository.
- CORBA::ORB_var orb_;
-
- /// The amount of time between successive "are you started yet?" pings.
- ACE_Time_Value ping_interval_;
-
- /// Are we running as a service?
+ /// Should we run as a service?
bool service_;
- /// The amount of time to wait for a server to response after starting it.
- ACE_Time_Value startup_timeout_;
-
- /// Can the server_repository be modified?
- bool readonly_;
-
/// SC_NONE, SC_INSTALL, SC_REMOVE, ...
- int service_command_;
+ SERVICE_COMMAND service_command_;
};
-typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
-
#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.cpp b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.cpp
index b076bc5ae61..697696f19bf 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.cpp
@@ -11,22 +11,25 @@
#include "Adapter_Activator.h"
-#include "ace/Log_Msg.h"
+ImR_Adapter::ImR_Adapter(void)
+: servant_locator_(0)
+{
+}
-ImR_Adapter_Activator::ImR_Adapter_Activator (
- PortableServer::ServantLocator_ptr servant
-)
- : servant_locator_ (servant)
+void
+ImR_Adapter::init(PortableServer::ServantLocator_ptr servant)
{
- // Nothing
+ servant_locator_ = servant;
}
CORBA::Boolean
-ImR_Adapter_Activator::unknown_adapter (PortableServer::POA_ptr parent,
+ImR_Adapter::unknown_adapter (PortableServer::POA_ptr parent,
const char *name
- ACE_ENV_ARG_DECL)
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
+ ACE_ASSERT(! CORBA::is_nil(parent));
+ ACE_ASSERT(name != 0);
CORBA::PolicyList policies (2);
policies.length (2);
@@ -37,8 +40,7 @@ ImR_Adapter_Activator::unknown_adapter (PortableServer::POA_ptr parent,
// Servant Retention Policy
exception_message = "While PortableServer::POA::create_servant_retention_policy";
policies[0] =
- parent->create_servant_retention_policy (PortableServer::NON_RETAIN
- ACE_ENV_ARG_PARAMETER);
+ parent->create_servant_retention_policy (PortableServer::NON_RETAIN ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
// Request Processing Policy
@@ -77,8 +79,8 @@ ImR_Adapter_Activator::unknown_adapter (PortableServer::POA_ptr parent,
}
ACE_CATCHANY
{
- ACE_ERROR ((LM_ERROR,
- "IMR_Adapter_Activator::unknown_adapter - %s\n",
+ ACE_ERROR ((LM_ERROR,
+ "IMR_Adapter_Activator::unknown_adapter - %s\n",
exception_message));
ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "System Exception");
return 0;
diff --git a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h
index 62757907e07..f629595b5c3 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Adapter_Activator.h
@@ -16,6 +16,10 @@
#include "tao/PortableServer/PortableServerC.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
/**
* @class ImR_Adapter_Activator
*
@@ -26,11 +30,10 @@
* the POA structure that the request expects. For each POA created, the
* same ServantLocator will be registered in each one.
*/
-class ImR_Adapter_Activator : public PortableServer::AdapterActivator
+class ImR_Adapter : public PortableServer::AdapterActivator
{
public:
- /// Constructor
- ImR_Adapter_Activator (PortableServer::ServantLocator_ptr servant);
+ ImR_Adapter();
/// Called when a POA needs to be created.
virtual CORBA::Boolean unknown_adapter (
@@ -40,6 +43,7 @@ public:
)
ACE_THROW_SPEC ((CORBA::SystemException));
+ void init(PortableServer::ServantLocator_ptr servant);
private:
/// The ServantLocator registered in each new POA.
PortableServer::ServantLocator_ptr servant_locator_;
diff --git a/TAO/orbsvcs/ImplRepo_Service/Forwarder.cpp b/TAO/orbsvcs/ImplRepo_Service/Forwarder.cpp
index 709239a31ce..77548412d4f 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Forwarder.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Forwarder.cpp
@@ -1,67 +1,64 @@
//=============================================================================
/**
- * @file Forwarder.cpp
- *
- * $Id$
- *
- * @brief Definition of ImR_Forwarder
- *
- * @author Darrell Brunsch <brunsch@cs.wustl.edu>
- * @author Priyanka Gontla <pgontla@doc.ece.uci.edu>
- */
+* @file Forwarder.cpp
+*
+* $Id$
+*
+* @brief Definition of ImR_Forwarder
+*
+* @author Darrell Brunsch <brunsch@cs.wustl.edu>
+* @author Priyanka Gontla <pgontla@doc.ece.uci.edu>
+*/
//=============================================================================
#include "Forwarder.h"
#include "ImR_Locator_i.h"
#include "tao/ORB.h"
-#include "tao/Object_KeyC.h"
-#include "tao/ORB_Constants.h"
-
#include "tao/PortableServer/Object_Adapter.h"
/**
- * This constructor takes in orb and ImR_Locator_i pointers to store for later
- * use. It also grabs a reference to the POACurrent object for use in
- * preinvoke.
- */
-ImR_Forwarder::ImR_Forwarder (ImR_Locator_i *imr_impl, CORBA::ORB_ptr orb)
- : imr_impl_ (imr_impl),
- orb_ (orb)
+* This constructor takes in orb and ImR_Locator_i pointers to store for later
+* use. It also grabs a reference to the POACurrent object for use in
+* preinvoke.
+*/
+ImR_Forwarder::ImR_Forwarder (ImR_Locator_i& imr_impl)
+ : locator_ (imr_impl)
{
- ACE_ASSERT (imr_impl != 0);
+}
+void
+ImR_Forwarder::init(CORBA::ORB_ptr orb ACE_ENV_ARG_DECL)
+{
+ ACE_ASSERT(! CORBA::is_nil(orb));
+ this->orb_ = orb;
ACE_TRY_NEW_ENV
- {
- CORBA::Object_var tmp =
- orb->resolve_initial_references ("POACurrent" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- this->poa_current_var_ =
- PortableServer::Current::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ {
+ CORBA::Object_var tmp =
+ orb->resolve_initial_references ("POACurrent" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->poa_current_var_ =
+ PortableServer::Current::_narrow (tmp.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
ACE_CATCHANY
- {
- // Ignore
- }
+ {
+ ACE_DEBUG((LM_DEBUG, "ImR_Forwarder::init() Exception ignored.\n"));
+ }
ACE_ENDTRY;
-
+ ACE_CHECK;
ACE_ASSERT (!CORBA::is_nil (this->poa_current_var_.in ()));
}
-
/**
- * We figure out the intended recipient from the POA name. After activating
- * the server, we throw a forwarding exception to the correct server.
- *
- * The big complicated thing here is that we have to create the forwarding
- * ior based on what we already have. So we combine the endpoint received
- * from activate_server_i and append the objectid from the request to it.
- *
- * @todo Should we base the name on the entire POA hierarchy?
- * @todo Use ACE_TString for the IOR? Can it always be a char?
- */
+* We figure out the intended recipient from the POA name. After activating
+* the server, we throw a forwarding exception to the correct server.
+*
+* The big complicated thing here is that we have to create the forwarding
+* ior based on what we already have. So we combine the endpoint received
+* from activate_server_i and append the objectid from the request to it.
+*/
PortableServer::Servant
ImR_Forwarder::preinvoke (const PortableServer::ObjectId &,
PortableServer::POA_ptr poa,
@@ -70,53 +67,64 @@ ImR_Forwarder::preinvoke (const PortableServer::ObjectId &,
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, PortableServer::ForwardRequest))
{
- ACE_TString ior;
+ ACE_ASSERT(! CORBA::is_nil(poa));
CORBA::Object_var forward_obj;
ACE_TRY
+ {
+ CORBA::String_var server_name = poa->the_name();
+
+ // The activator stores a partial ior with each server. We can
+ // just tack on the current ObjectKey to get a valid ior for
+ // the desired server.
+ CORBA::String_var pior = locator_.activate_server_by_name(server_name.in(), false ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_CString ior = pior.in();
+
+ // Check that the returned ior is the expected partial ior with
+ // missing ObjectKey.
+ if (ior.find("corbaloc:") != 0 || ior[ior.length() - 1] != '/')
{
- CORBA::String_var poa_name = poa->the_name();
-
- // The activator stores a partial ior with each server. We can
- // just tack on the current ObjectKey to get a valid ior for
- // the desired server.
- ior = this->imr_impl_->activate_server_with_startup (poa_name.in (), 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Check that the returned ior is the expected partial ior with
- // missing ObjectKey.
- ACE_ASSERT(ACE_OS::strncmp(ior.c_str(), "corbaloc:", 9) == 0);
- ACE_ASSERT(ior[ior.length() - 1] == '/');
-
- CORBA::String_var key_str;
-
- // Unlike POA Current, this implementation cannot be cached.
- TAO_POA_Current *tao_current =
- ACE_dynamic_cast (TAO_POA_Current*, this->poa_current_var_.in ());
- TAO_POA_Current_Impl *impl = tao_current->implementation ();
- TAO::ObjectKey::encode_sequence_to_string (key_str.out(), impl->object_key ());
-
- // Append the key_string to the IOR that is received from the
- // activate_server_with_startup function call.
- ior += key_str.in();
-
- // Get the object corresponding to the string.
- forward_obj =
- this->orb_->string_to_object (ior.c_str () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCH (CORBA::SystemException, sysex)
- {
- ACE_PRINT_EXCEPTION (sysex, "Forwarder system exception");
- ACE_RE_THROW;
+ ACE_ERROR((LM_ERROR, "ImR_Forwarder::preinvoke() Invalid corbaloc ior.\n\t<%s>\n", ior.c_str()));
+ ACE_TRY_THROW (CORBA::OBJECT_NOT_EXIST (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
}
+
+ CORBA::String_var key_str;
+ // Unlike POA Current, this implementation cannot be cached.
+ TAO_POA_Current* tao_current =
+ ACE_dynamic_cast (TAO_POA_Current*, this->poa_current_var_.in ());
+ ACE_ASSERT(tao_current != 0);
+ TAO_POA_Current_Impl* impl = tao_current->implementation ();
+ TAO_ObjectKey::encode_sequence_to_string (key_str.out(), impl->object_key ());
+
+ ior += key_str.in();
+
+ forward_obj =
+ this->orb_->string_to_object (ior.c_str () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ }
+ ACE_CATCH (ImplementationRepository::CannotActivate, ex)
+ {
+ ACE_TRY_THROW (CORBA::TRANSIENT (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
+ }
+ ACE_CATCH (ImplementationRepository::NotFound, ex)
+ {
+ ACE_TRY_THROW (CORBA::TRANSIENT (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Forwarder exception");
- ACE_TRY_THROW (CORBA::TRANSIENT (
- CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
- CORBA::COMPLETED_NO));
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Forwarder");
+ ACE_TRY_THROW (CORBA::TRANSIENT (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
+ }
ACE_ENDTRY;
ACE_CHECK_RETURN (0);
@@ -124,20 +132,20 @@ ImR_Forwarder::preinvoke (const PortableServer::ObjectId &,
ACE_THROW_RETURN (PortableServer::ForwardRequest (forward_obj.in ()), 0);
ACE_ERROR ((LM_ERROR, "Error: Forward_to reference is nil.\n"));
- ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (), 0);
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO), 0);
}
-/**
- * The postinvoke method just deletes the passed in servant.
- */
void
-ImR_Forwarder::postinvoke (const PortableServer::ObjectId &,
- PortableServer::POA_ptr ,
- const char * ,
- PortableServer::ServantLocator::Cookie ,
- PortableServer::Servant servant
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
+ImR_Forwarder::postinvoke (
+ const PortableServer::ObjectId &,
+ PortableServer::POA_ptr,
+ const char *,
+ PortableServer::ServantLocator::Cookie,
+ PortableServer::Servant
+ ACE_ENV_ARG_DECL_NOT_USED
+ ) ACE_THROW_SPEC ((CORBA::SystemException))
{
- delete servant;
}
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/Forwarder.h b/TAO/orbsvcs/ImplRepo_Service/Forwarder.h
index fe0828939ad..2236f1cf7ff 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Forwarder.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Forwarder.h
@@ -17,6 +17,10 @@
#include "tao/PortableServer/PortableServerC.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
class ImR_Locator_i;
/**
@@ -31,7 +35,7 @@ class ImR_Locator_i;
class ImR_Forwarder: public PortableServer::ServantLocator
{
public:
- ImR_Forwarder (ImR_Locator_i *ir_impl, CORBA::ORB_ptr orb);
+ ImR_Forwarder (ImR_Locator_i& imr_impl);
/// Called before the invocation begins.
virtual PortableServer::Servant preinvoke (
@@ -42,18 +46,20 @@ public:
ACE_ENV_ARG_DECL
) ACE_THROW_SPEC ((CORBA::SystemException, PortableServer::ForwardRequest));
- /// Called after the invocation finishes.
- virtual void postinvoke (const PortableServer::ObjectId &oid,
- PortableServer::POA_ptr poa,
- const char * operation,
- PortableServer::ServantLocator::Cookie cookie,
- PortableServer::Servant servant
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void postinvoke (
+ const PortableServer::ObjectId & oid,
+ PortableServer::POA_ptr adapter,
+ const char * operation,
+ PortableServer::ServantLocator::Cookie the_cookie,
+ PortableServer::Servant the_servant
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ ) ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void init(CORBA::ORB_ptr orb ACE_ENV_ARG_DECL);
private:
/// Where we find out where to forward to.
- ImR_Locator_i *imr_impl_;
+ ImR_Locator_i& locator_;
/// POA reference.
PortableServer::Current_var poa_current_var_;
diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp
index 7dff48ece99..3713ed1449a 100644
--- a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.cpp
@@ -1,26 +1,50 @@
//=============================================================================
/**
- * @file INS_Locator.cpp
- *
- * $Id$
- *
- * @brief Implementation of the ImR's INS Locator class
- *
- * @author Darrell Brunsch <brunsch@cs.wustl.edu>
- */
+* @file INS_Locator.cpp
+*
+* $Id$
+*
+* @brief Implementation of the ImR's INS Locator class
+*
+* @author Darrell Brunsch <brunsch@cs.wustl.edu>
+*/
//=============================================================================
#include "INS_Locator.h"
#include "ImR_Locator_i.h"
-INS_Locator::INS_Locator (ImR_Locator_i* loc)
- : imr_locator_ (loc)
+INS_Locator::INS_Locator (ImR_Locator_i& loc)
+: imr_locator_ (loc)
{
}
char *
INS_Locator::locate (const char* object_key ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound))
+ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound))
{
- return this->imr_locator_->find_ior (object_key ACE_ENV_ARG_PARAMETER);
+ ACE_ASSERT(object_key != 0);
+ ACE_TRY
+ {
+ CORBA::String_var located =
+ this->imr_locator_.activate_server_by_object(object_key ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_CString tmp = located.in();
+ tmp += object_key;
+ return CORBA::string_dup(tmp.c_str());
+ }
+ ACE_CATCH(ImplementationRepository::CannotActivate, ex)
+ {
+ ACE_TRY_THROW (CORBA::TRANSIENT (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
+ }
+ ACE_CATCH(ImplementationRepository::NotFound, ex)
+ {
+ ACE_TRY_THROW (CORBA::TRANSIENT (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
+ }
+ ACE_ENDTRY;
+ return 0;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h
index 26071a51348..0536aac2fb0 100644
--- a/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h
+++ b/TAO/orbsvcs/ImplRepo_Service/INS_Locator.h
@@ -16,7 +16,10 @@
#include /**/ "ace/pre.h"
#include "tao/IORTable/IORTable.h"
-#include "tao/LocalObject.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
class ImR_Locator_i;
@@ -28,22 +31,18 @@ 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,
- public virtual TAO_Local_RefCounted_Object
+class INS_Locator : public virtual IORTable::Locator
{
public:
- /// Constructor
- INS_Locator (ImR_Locator_i* loc);
+ INS_Locator (ImR_Locator_i& loc);
/// Locate the appropriate IOR.
- char * locate (const char *object_key ACE_ENV_ARG_DECL)
+ char* locate (const char *object_key ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, IORTable::NotFound));
private:
-
- ImR_Locator_i* imr_locator_;
-
+ ImR_Locator_i& imr_locator_;
};
#include /**/ "ace/post.h"
-#endif
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
index 32bcac3b6c2..f9129a78124 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
@@ -6,15 +6,14 @@
#include "Activator_NT_Service.h"
int
-run_standalone (void)
+run_standalone (Options& opts)
{
ImR_Activator_i server;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- // Initialize the ImR_Activator_i server.
- int status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ int status = server.init (opts ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (status == -1)
@@ -27,8 +26,9 @@ run_standalone (void)
server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- // We should only get here if the shutdown_repo operation has
- // been called. That operation saves the Activator's state.
+ // End the server after its work is done.
+ status = server.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
if (status == -1)
return 1;
@@ -60,11 +60,7 @@ int
run_service (void)
{
#if defined (ACE_WIN32)
- // @todo: Update me
-
- // If we get here, we either run the app in debug mode (-d) or are
- // being called from the service manager to start the service.
-
+ SERVICE::instance()->name (IMR_ACTIVATOR_SERVICE_NAME, IMR_ACTIVATOR_DISPLAY_NAME);
ACE_NT_SERVICE_RUN (service, SERVICE::instance (), ret);
if (ret == 0)
@@ -76,18 +72,107 @@ run_service (void)
#endif /* ACE_WIN32 */
}
+/**
+ * Executes the various commands that are useful for a NT service. Right
+ * now these include 'install' and 'remove'. Others, such as 'start' and
+ * 'stop' can be added, but the 'net' program in Windows already handles
+ * these commands.
+ */
+static int
+run_service_command (Options& opts)
+{
+ if (opts.service_command() == Options::SC_NONE)
+ return 0;
+
+#if defined (ACE_WIN32)
+ SERVICE::instance()->name (IMR_ACTIVATOR_SERVICE_NAME, IMR_ACTIVATOR_DISPLAY_NAME);
+
+ if (opts.service_command() == Options::SC_INSTALL ||
+ opts.service_command() == Options::SC_INSTALL_NO_LOCATOR)
+ {
+ const DWORD MAX_PATH_LENGTH = 4096;
+ char pathname[MAX_PATH_LENGTH];
+
+ DWORD length = ACE_TEXT_GetModuleFileName(NULL, pathname, MAX_PATH_LENGTH);
+ if (length == 0 || length >= MAX_PATH_LENGTH - sizeof(" -s"))
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not get module file name\n"));
+ return -1;
+ }
+
+ // Append the command used for running the implrepo as a service
+ ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
+ int ret = -1;
+ if (opts.service_command() == Options::SC_INSTALL)
+ {
+ const char* DEPENDS_ON = "TAOIMRLocator"; // Must match Locator_NT_Service.h
+
+ ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
+ SERVICE_ERROR_NORMAL,
+ pathname,
+ 0, // group
+ 0, // tag
+ DEPENDS_ON
+ );
+ }
+ else
+ {
+ ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
+ SERVICE_ERROR_NORMAL,
+ pathname);
+ }
+ if (ret != -1) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service installed.\n"));
+ opts.save_registry_options();
+ } else {
+ ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
+ }
+ if (ret == 0)
+ return 1;
+ }
+ else if (opts.service_command() == Options::SC_REMOVE)
+ {
+ int ret = SERVICE::instance ()->remove ();
+ ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service removed.\n"));
+ if (ret == 0)
+ return 1; // If successfull, then we don't want to continue.
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
+ opts.service_command()));
+ return -1;
+ }
+
+ return -1;
+
+#else /* ACE_WIN32 */
+ ACE_ERROR ((LM_ERROR, "NT Service not supported on this platform"));
+ return -1;
+#endif /* ACE_WIN32 */
+}
+
int
main (int argc, char *argv[])
{
- int result = OPTIONS::instance ()->init (argc, argv);
+ Options opts;
+ int result = opts.init (argc, argv);
if (result < 0)
- return 1; // Error parsing args
+ return 1; // Error
else if (result > 0)
return 0; // No error, but we should exit anyway.
- if (OPTIONS::instance()->service())
- return run_service ();
+ result = run_service_command(opts);
+ if (result < 0)
+ return 1; // Error
+ else if (result > 0)
+ return 0; // No error, but we should exit anyway.
- return run_standalone ();
+ if (opts.service())
+ return run_service();
+
+ return run_standalone (opts);
}
+
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl
new file mode 100644
index 00000000000..0dbc830984b
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl
@@ -0,0 +1,30 @@
+// -*- IDL -*-
+
+// $Id$
+
+#include "tao/PortableServer/ImplRepo.idl"
+
+module ImplementationRepository
+{
+ interface Activator
+ {
+ // Tells the activator to launch the specified server using the given
+ // startup information. If the activator is already in the process of
+ // launching the server, then the StartupOptions are ignored and the
+ // call just waits for the server to start. Before, this call returns
+ // to the locator, the activator can verify that the server is indeed
+ // started by calling ServerObject::ping(). (Option)
+ // If the server is already running, then this will just verify that it
+ // is started by pinging it. (if enabled) Also, the ping() will only be
+ // called if it's been at least X ms since the last ping.
+ void start_server(in string name, in string cmdline, in string dir, in EnvironmentList env) raises(CannotActivate);
+
+ // The Locator will call the activator if it receives notification that
+ // the server is running. This will allow the activator to return from
+ // start_server, for any calls that may have been blocked waiting for this.
+ // This will also be called if the server is shutdown, or if the locator
+ // receives notice that the server is stopping.
+ void server_status_changed(in string name);
+ };
+};
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
index f48de6daf17..141682875b0 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
@@ -2,1338 +2,385 @@
#include "ImR_Activator_i.h"
-#include "INS_Locator.h"
-#include "Iterator.h"
#include "Activator_Options.h"
-#include "tao/PortableServer/Default_Acceptor_Filter.h"
-#include "tao/PortableServer/ImR_LocatorC.h"
-
-#include "tao/Acceptor_Registry.h"
-#include "tao/Thread_Lane_Resources.h"
#include "tao/ORB_Core.h"
-#include "tao/MProfile.h"
-#include "tao/Profile.h"
-#include "tao/default_ports.h"
-
-#include "ace/Auto_Ptr.h"
-#include "ace/OS_NS_netdb.h"
-#include "ace/OS_NS_sys_time.h"
-#include "ace/OS_NS_unistd.h"
-ACE_RCSID (ImplRepo_Service,
- ImR_Activator_i,
- "$Id$")
+#include "ace/ARGV.h"
-
-ImR_Activator_i::ImR_Activator_i (void)
- : registration_token_(0)
+static ACE_CString getActivatorName()
{
- char host_name[MAXHOSTNAMELEN + 1];
+ char host_name[MAXHOSTNAMELEN];
ACE_OS::hostname (host_name, MAXHOSTNAMELEN);
- name_ = host_name;
-}
-
-char *
-ImR_Activator_i::find_ior (const char* oname ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- // We assume that the first part of the object name is the poa name.
- // So we would think that a name of foo/bar means that the POA name
- // is foo.
- ACE_CString object_name(oname);
- ssize_t pos = object_name.find ('/');
-
- if (pos == ACE_CString::npos)
- pos = ACE_static_cast (ssize_t, object_name.length ());
-
- ACE_CString poa_name;
- poa_name.set (object_name.fast_rep (), pos, 1);
-
- ACE_CString endpoint;
- ACE_TRY
- {
- // Activate the server and return the object reference.
- endpoint = this->activate_server_with_startup (poa_name.c_str (), 1
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (0);
-
- // Have to do this so it is null terminated
- ACE_CString object_name2 (object_name.fast_rep (),
- object_name.length ());
-
- ACE_CString ior = endpoint;
- ior += object_name2;
-
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Found IOR"
- " for %s is %s\n", oname, endpoint.c_str()));
-
- return CORBA::string_dup (ior.c_str ());
-}
-
-
-// Starts the server defined by the POA name <server> if it is
-// not already started and if it can be started.
-void
-ImR_Activator_i::activate_server (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
-{
- // Since this is called through the Admin interface, we should ignore some
- // of the activation modes. Also ignore the return value.
- this->activate_server_i (server, 0 ACE_ENV_ARG_PARAMETER);
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Activate server %s.\n", server));
+ return ACE_CString(host_name);
}
-char *
-ImR_Activator_i::activate_server_with_startup (const char *server,
- int check_startup
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
+ImR_Activator_i::ImR_Activator_i (void)
+: registration_token_(0)
+, debug_(0)
+, name_(getActivatorName())
{
- if (OPTIONS::instance()->debug () >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Activate server"
- " %s. Check startup=%d.\n", server, check_startup));
- }
- return this->activate_server_i (server, check_startup ACE_ENV_ARG_PARAMETER);
}
-// Activates the server and returns the IOR of the object that is
-// activated.
-char *
-ImR_Activator_i::activate_server_i(const char *server,
- int check_startup
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
+int
+ImR_Activator_i::init_with_orb(CORBA::ORB_ptr orb, const Options& opts ACE_ENV_ARG_DECL)
{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- int start = 0;
- ACE_CString server_object_ior, partial_ior;
-
- ACE_CString logical, startup, working;
- ImplementationRepository::EnvironmentList environment;
- ImplementationRepository::ActivationMode activation;
-
- // Get the startup information for the server in question.
- if (this->repository_.get_startup_info (server,
- logical,
- startup,
- environment,
- working,
- activation) != 0)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find startup info for server <%s>\n",
- server));
- ACE_THROW_RETURN(ImplementationRepository::NotFound (), 0);
- }
-
- // Find out if it is already running
- if (this->repository_.get_running_info (server,
- partial_ior,
- server_object_ior) != 0)
- {
- // If we had problems getting the server_object_ior, probably meant that
- // there is no <server> registered
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find ServerObject IOR for server <%s>\n",
- server));
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
- }
-
- // Check to see if there is one running (if there is a server_object_ior)
- if (server_object_ior.length () != 0)
- {
- // It is running
- ACE_TRY
- {
- CORBA::Object_var object =
- orb->string_to_object (server_object_ior.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ImplementationRepository::ServerObject_var server_object =
- ImplementationRepository::ServerObject::_narrow (object.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (server_object.in ()))
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Invalid ServerObject IOR: <%s>\n",
- server_object_ior.c_str ()));
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
- }
+ ACE_ASSERT(! CORBA::is_nil(orb));
+ orb_ = CORBA::ORB::_duplicate(orb);
+ debug_ = opts.debug();
- // Check to see if we can ping it
- server_object->ping (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- // If we got an exception, then we have to restart it.
- start = 1;
- }
- ACE_ENDTRY;
- }
- else
- {
- start = 1;
- }
-
- if (start == 1)
- {
- // Make sure the activation allows us to start it up.
- if (activation == ImplementationRepository::MANUAL && check_startup)
- ACE_THROW_RETURN (CORBA::TRANSIENT (
- CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE,
- 0),
- CORBA::COMPLETED_NO),
- 0);
-
- this->start_server_i (server);
- ACE_CHECK_RETURN (0);
- }
-
- // Get the latest information about where the server is running and
- // it's IOR
- if (this->repository_.get_running_info (server,
- partial_ior,
- server_object_ior) != 0)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Can not resolve server <%s>\n",
- server));
- }
-
- if (activation == ImplementationRepository::PER_CLIENT && check_startup)
+ ACE_TRY
{
- if (this->repository_.update (server, "", "") != 0)
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Contacting ImplRepoService...\n"));
+
+ // First, resolve the ImR Locator, without this we can go no further
+ CORBA::Object_var obj =
+ orb_->resolve_initial_references ("ImplRepoService" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (CORBA::is_nil(obj.in ()))
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to resolve_initial_references(\"ImplRepoService\")\n"), -1);
+ }
+ locator_ = ImplementationRepository::Locator::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(locator_.in()));
+
+ // Create a new poa and poa manager
+ obj = orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(obj.in()));
+ this->root_poa_ = PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(this->root_poa_.in()));
+
+ // Note : There is no point in making the activator use a persistent POA, because
+ // it will always re-register with the ImR on startup anyway.
+ CORBA::PolicyList policies;
+ this->imr_poa_ = this->root_poa_->create_POA("ImR_Activator",
+ PortableServer::POAManager::_nil(), policies ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(this->imr_poa_.in()));
+
+ // Activate ourself
+ PortableServer::ObjectId_var id =
+ this->imr_poa_->activate_object(this ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ obj = this->imr_poa_->id_to_reference (id.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ImplementationRepository::Activator_var activator =
+ ImplementationRepository::Activator::_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(activator.in()));
+
+ CORBA::String_var ior = this->orb_->object_to_string(activator.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Starting %s\n", name_.c_str()));
+
+ // initialize our process manager.
+ ACE_Reactor *reactor = orb_->orb_core ()->reactor ();
+ if (reactor != 0)
+ {
+ if (this->process_mgr_.open (ACE_Process_Manager::DEFAULT_SIZE, reactor) == -1)
{
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Could not update information for server <%s>\n",
- server));
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "The ACE_Process_Manager didnt get initialized\n"), -1);
}
- }
-
- return CORBA::string_dup (partial_ior.c_str ());
-}
-
-
-// Starts the server process
-void
-ImR_Activator_i::start_server_i (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
-{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- int spawned_pid = 0;
- ACE_CString logical, startup, working;
- ImplementationRepository::EnvironmentList environment;
- ImplementationRepository::ActivationMode activation;
-
- // Get the server startup information.
- if (this->repository_.get_startup_info (server,
- logical,
- startup,
- environment,
- working,
- activation) != 0)
- {
- // In case of failure, print it out.
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find startup info for server <%s>\n",
- server));
-
- // And, throw the exception.
- ACE_THROW (ImplementationRepository::NotFound ());
- ACE_CHECK;
- }
-
- // Check to see if it is already starting up
- int startup_val = this->repository_.starting_up (server, 1);
-
- if (startup_val == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find startup info for server <%s>\n",
- server));
-
- ACE_THROW (ImplementationRepository::NotFound ());
- ACE_CHECK;
- }
-
- // startup_val will be zero only if the server is running.
- if (startup_val == 0)
- {
- if (startup.length () == 0)
- {
- // If there is no startup information, throw an exception
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: No startup information for server <%s>\n",
- server));
- ACE_THROW (ImplementationRepository::CannotActivate
- (CORBA::string_dup ("No startup information")));
- ACE_CHECK;
- }
-
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Starting server %s\n", server));
-
- // Set the Process parameters.
- ACE_Process_Options proc_opts;
-
- proc_opts.command_line (startup.c_str ());
- proc_opts.working_directory (working.c_str ());
- proc_opts.handle_inheritence (0);
-
- // Win32 does not support the CLOSE_ON_EXEC semantics for sockets
- // the way unix does, so in order to avoid having the child process
- // hold the listen socket open, we force the child to inherit no
- // handles. This includes stdin, stdout, logs, etc.
-
- for (CORBA::ULong i = 0; i < environment.length(); ++i)
- proc_opts.setenv (environment[i].name.in (), environment[i].value.in ());
-
- // Spawn the proces.
- spawned_pid = this->process_mgr_.spawn (proc_opts);
-
- if (spawned_pid == ACE_INVALID_PID)
- {
- // If invalid PID..
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot activate server <%s> using <%s>\n",
- server,
- startup.c_str ()));
-
- // and throw the exception
- ACE_THROW (ImplementationRepository::CannotActivate
- (CORBA::string_dup ("Process Creation Failed")));
- ACE_CHECK;
- }
- else if (OPTIONS::instance ()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::start_server_i: Process ID is %d\n", spawned_pid));
- }
-
- // Now that the server has been started up, we need to go back into the event
- // loop so we can get the reponse or handle other requests
- TAO_ORB_Core *orb_core = orb->orb_core ();
-
- int starting_up;
-
- ACE_Time_Value timeout = OPTIONS::instance ()->startup_timeout ();
-
- // We will wait till the timeout period for the server to get
- // started up. The starting_up value will be made zero when the
- // server is up and running. And, thats the condition that we are
- // checking.
- while ((starting_up = this->repository_.starting_up (server)) == 1)
- {
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::activate_server: Going into handle_events\n"));
-
- // Will wait for the specified timeout.
- int result = orb_core->reactor ()->handle_events (&timeout);
-
- if (result == 0 && timeout == ACE_Time_Value::zero)
- {
- // The timer is out and we are still in the while loop which
- // means that the server is not activated. Set the
- // starting_up_ value to '0' and
- this->repository_.starting_up (server, 0);
-
- // print the same.
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot activate server <%s> using <%s>, "
- "terminating it.\n",
- server,
- startup.c_str ()));
-
- // Kill the server
- this->process_mgr_.terminate (spawned_pid);
-
- ACE_THROW(ImplementationRepository::CannotActivate
- (CORBA::string_dup ("Timeout")));
- ACE_CHECK;
- }
}
- // If the control comes here, it means that the server got activated.
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::activate_server: Got out of handle_events loop\n"));
+ // Register with the ImR Locator
+ this->registration_token_ =
+ locator_->register_activator (name_.c_str(), activator.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Check to see if it disappeared on us
- if (starting_up == -1)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find startup info for server <%s>\n",
- server));
-
- ACE_THROW (ImplementationRepository::NotFound ());
- ACE_CHECK;
- }
-
- // Now check to see if it is responding yet.
- int ready_error = this->ready_check (server);
-
- if (ready_error < 0)
- {
- // We got an error in ready_check, so shutdown the server and
- // throw an exception
-
- this->process_mgr_.terminate (spawned_pid);
-
- if (ready_error == -1)
- {
- ACE_THROW (ImplementationRepository::CannotActivate
- (CORBA::string_dup ("Timeout while pinging for readiness")));
- }
- else
- {
- ACE_THROW (ImplementationRepository::CannotActivate
- (CORBA::string_dup ("Unknown error")));
- }
- }
-}
-
-
-// ready_check will continuously ping a server and either return when it
-// responds to the ping or return -1 if it times out.
-int
-ImR_Activator_i::ready_check (const char *server)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
-{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- ACE_CString ping_object_ior, location;
- ImplementationRepository::ServerObject_var ping_object;
-
- ACE_DECLARE_NEW_CORBA_ENV;
-
- // <end> is the end of the window where we can get a response before
- // timing out
- ACE_Time_Value end = ACE_OS::gettimeofday ()
- + OPTIONS::instance ()->startup_timeout ();
-
- // Get the ior for the "ping" object for the server
- if (this->repository_.get_running_info (server,
- location,
- ping_object_ior) != 0)
- {
- // If get_running_info fails, something weird must have happened.
- // Maybe it was removed after we started it up, but before we got here.
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find ServerObject IOR for server <%s>\n",
- server));
-
- ACE_THROW_RETURN (
- ImplementationRepository::NotFound (),
- -2
- );
- }
-
- // Narrow the ping object
-
- ACE_TRY_EX (ping1)
- {
- // Get the Object
- CORBA::Object_var object =
- orb->string_to_object (ping_object_ior.c_str () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (ping1);
+ // Activate the manager for the root poa
+ PortableServer::POAManager_var poaman =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ poaman->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Narrow it down to the correct interface
- ping_object =
- ImplementationRepository::ServerObject::_narrow (object.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (ping1);
+ // Activate the manager for the activator poa
+ poaman = this->imr_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ poaman->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- if (CORBA::is_nil (ping_object.in ()))
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Invalid ServerObject IOR: <%s>\n",
- ping_object_ior.c_str ()));
-
- ACE_THROW_RETURN (
- ImplementationRepository::NotFound (),
- -2
- );
- }
-
- }
- ACE_CATCHANY
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot activate server <%s>, "
- "terminating it (Server Ping Object failed).\n",
- server));
-
- return -2;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-2);
-
- // Now ping it until we get a response.
- while (ACE_OS::gettimeofday () < end)
- {
- ACE_TRY_EX (ping2);
- {
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::ready_check: ping server.\n"));
-
- ping_object->ping (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (ping2);
-
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::ready_check: Pinged Server OK\n"));
-
- // If we got here, we successfully pinged, therefore we
- // can exit the function.
- return 0;
- }
- ACE_CATCHANY // todo : I doubt we really want to retry on all exceptions. Maybe just transient?
- {
- // Ignore the exception
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::ready_check: Server not ready (Exception)\n"));
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-2);
-
- // Sleep between sending pings.
- ACE_OS::sleep (OPTIONS::instance ()->ping_interval ());
- }
-
- // If we fall out here, that means we didn't get a response before timing
- // out, so return an error.
- return -1;
-}
-
-
-// Adds an entry to the Repository about this <server>
-
-void
-ImR_Activator_i::register_server (
- const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::AlreadyRegistered,
- ImplementationRepository::NotFound
- ))
-{
- if (OPTIONS::instance ()->readonly ())
- {
- ACE_THROW (CORBA::NO_PERMISSION ());
- }
-
- if (OPTIONS::instance ()->debug () >= 1)
- ACE_DEBUG((LM_DEBUG, "Imr Activator: Register server %s.\n", server));
-
- if (OPTIONS::instance ()->debug () >= 2)
+ if (this->debug_ > 1)
{
ACE_DEBUG ((LM_DEBUG,
- "ImR_Activator_i::register_server:\nServer: %s\n"
- "Command Line: %s\n"
- "Working Directory: %s\n"
- "Activation Mode: %s\n\n",
- server,
- options.command_line.in (),
- options.working_directory.in (),
- OPTIONS::instance ()->convert_str (options.activation)));
-
- for (CORBA::ULong i = 0; i < options.environment.length (); ++i)
- ACE_DEBUG ((LM_DEBUG, "Environment variable %s=%s\n",
- options.environment[i].name.in (),
- options.environment[i].value.in ()));
+ "ImR_Activator_i::init: The Activator IOR is: <%s>\n", ior.in ()));
}
- // Add the server
- int status = this->repository_.add (server,
- "",
- options.command_line.in (),
- options.environment,
- options.working_directory.in (),
- options.activation);
-
- if (status == 1)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Server %s Already Registered!\n",
- server));
- ACE_THROW (ImplementationRepository::AlreadyRegistered ());
- }
-}
-
-
-// Updates the entry in the Repository about this <server> or adds it
-// if necessary.
-
-void
-ImR_Activator_i::reregister_server (const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::AlreadyRegistered,
- ImplementationRepository::NotFound
- ))
-{
- if (OPTIONS::instance ()->debug () >= 1)
- ACE_DEBUG((LM_DEBUG, "ImR Activator: Reregister server %s.\n", server));
-
- if (OPTIONS::instance ()->readonly ())
+ // The last thing we do is write out the ior so that a test program can assume
+ // that the activator is ready to go as soon as the ior is written.
+ if (opts.ior_filename().length() > 0)
{
- ACE_THROW (CORBA::NO_PERMISSION ());
+ FILE* fp = ACE_OS::fopen(opts.ior_filename().c_str(), "w");
+ if (fp == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ImR Activator: Could not open file: %s\n", opts.ior_filename().c_str()), -1);
+ }
+ ACE_OS::fprintf(fp, "%s", ior.in());
+ ACE_OS::fclose(fp);
}
-
- // Get current starting up value
- int starting_up = this->repository_.starting_up (server);
-
- // Get ready to save the running info
- ACE_CString location;
- ACE_CString server_object_ior;
-
- // Only save the running info if it's still running before we remove it.
- ACE_TRY
- {
- // Get the current running information
- ACE_CString ping_location;
- ACE_CString ping_object_ior;
- this->repository_.get_running_info (server,
- ping_location,
- ping_object_ior);
-
- // Narrow the server
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
- CORBA::Object_var object =
- orb->string_to_object (ping_object_ior.c_str () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ImplementationRepository::ServerObject_var ping_object =
- ImplementationRepository::ServerObject::_narrow (object.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!CORBA::is_nil (ping_object.in ()))
- {
- // Ok, we've found our ior, now we remove the server from the
- // repository in order to avoid restarting it if it's not
- // running
- this->repository_.remove (server);
-
- // Now ping the object
- ping_object->ping (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // If the ping succeeded, then we will save the
- // running information for this server
- location = ping_location;
- server_object_ior = ping_object_ior;
- }
}
ACE_CATCHANY
- {
- // Ignore all exceptions
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Activator_i::init_with_orb");
+ ACE_RE_THROW;
+ }
ACE_ENDTRY;
-
- // Remove old info
- this->repository_.remove (server);
-
- // Add server with new startup parameters
- this->repository_.add (server,
- "",
- options.command_line.in (),
- options.environment,
- options.working_directory.in (),
- options.activation);
-
- // Set the old running info
- if (location.length () != 0)
- this->repository_.update (server, location, server_object_ior);
-
- // Set old starting up value, if there was one.
- if (starting_up != -1)
- this->repository_.starting_up (server, starting_up);
-
- if (OPTIONS::instance()->debug () >= 2)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::reregister_server:\nServer: %s\n"
- "Command Line: %s\n"
- "Working Directory: %s\n"
- "Activation: %s\n\n",
- server,
- options.command_line.in (),
- options.working_directory.in (),
- OPTIONS::instance ()->convert_str (options.activation)));
- for (CORBA::ULong i = 0; i < options.environment.length (); ++i)
- ACE_DEBUG ((LM_DEBUG, "Environment variable %s=%s\n",
- options.environment[i].name.in (),
- options.environment[i].value.in ()));
- }
-}
-
-
-// Remove the server entry from the Repository
-
-void
-ImR_Activator_i::remove_server (const char *server
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
-{
- if (OPTIONS::instance ()->readonly ())
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Activator is readonly. Can't remove server %s.\n",
- server));
- ACE_THROW (CORBA::NO_PERMISSION ());
- }
-
- if (this->repository_.remove (server) == 0)
- {
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Removed Server %s.\n", server));
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Can't remove unknown server %s.\n",
- server));
- ACE_THROW (ImplementationRepository::NotFound ());
- }
+ ACE_CHECK_RETURN (-1);
+ return 0;
}
-// Register the current location of the server
-void
-ImR_Activator_i::server_is_running (const char *server,
- const char *partial_ior,
- ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+int
+ImR_Activator_i::init (Options& opts ACE_ENV_ARG_DECL)
{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Server %s is running.\n", server));
-
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::server_is_running: at %s\n", partial_ior));
-
- CORBA::String_var server_object_ior =
- orb->object_to_string (server_object ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ ACE_ARGV av(opts.cmdline().c_str());
+ int argc = av.argc();
- // Update the status of the server in the repository.
- if (this->repository_.update (server, partial_ior, server_object_ior.in ()) == 0)
- {
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG,
- "ImR Activator: Status updated for server %s.\n", server));
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Could not update running information for server <%s>\n",
- server));
- ACE_THROW(ImplementationRepository::NotFound());
- }
+ CORBA::ORB_var orb =
+ CORBA::ORB_init(argc, av.argv(), "TAO_ImR_Activator" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
- this->repository_.starting_up (server, 0);
-}
+ int ret = this->init_with_orb(orb.in(), opts ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
-// Remove the state information for the current server
-void
-ImR_Activator_i::server_is_shutting_down (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
-{
- if (this->repository_.update (server, "", "") == 0)
- {
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Shut down server %s.\n", server));
- }
- else
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Could not update information for unknown server <%s>\n",
- server));
- ACE_THROW (ImplementationRepository::NotFound ());
- }
+ return ret;
}
int
-ImR_Activator_i::init (ACE_ENV_SINGLE_ARG_DECL)
+ImR_Activator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
ACE_TRY
- {
- CORBA::Object_var obj =
- orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
- return -1;
- }
-
- obj = orb->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- if (CORBA::is_nil (obj.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to initialize the ROOT POA.\n"),
- -1);
- }
- this->root_poa_ = PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- PortableServer::POAManager_var poa_manager =
- this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::PolicyList policies (2);
- policies.length (2);
-
- policies[0] =
- this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- policies[1] =
- this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- // Create a child POA with userId "ImR_Activator"
- this->imr_poa_ =
- this->root_poa_->create_POA ("ImR_Activator",
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- // If create_POA throws an exception then the process will end, and free all memory.
- for (CORBA::ULong i = 0; i < policies.length (); ++i)
- {
- CORBA::Policy_ptr policy = policies[i];
- policy->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- // Get the ObjectId for the string 'ImR_Activator'
- PortableServer::ObjectId_var imr_id =
- PortableServer::string_to_ObjectId ("ImR_Activator");
-
- // Activate the object
- this->imr_poa_->activate_object_with_id (imr_id.in (),
- this
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = this->imr_poa_->id_to_reference (imr_id.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- ImplementationRepository::Administration_var activator =
- ImplementationRepository::Administration::_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
-
- CORBA::String_var ior = orb->object_to_string (activator.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- adapter->bind ("ImR_Activator", ior.in() ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- obj = orb->resolve_initial_references ("ImplRepoService" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- if (CORBA::is_nil (obj.in ()))
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to get a reference to a Locator.\n"),
- -1);
- }
-
- ImplementationRepository::Locator_var locator =
- ImplementationRepository::Locator::_narrow (obj.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG((LM_DEBUG, "Starting activator : %s\n", this->name_.c_str()));
-
- ACE_Reactor *reactor = orb->orb_core ()->reactor ();
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Shutting down...\n"));
- if (reactor != 0)
- {
- if (this->process_mgr_.open (ACE_Process_Manager::DEFAULT_SIZE,
- reactor) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "The ACE_Process_Manager didnt get initialized\n"),
- -1);
- }
- }
+ this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Initialize the persistent storage
- if (this->repository_.init ())
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Repository failed to initialize\n"),
- -1);
- }
+ this->unblock_all_servers();
-
- // We need to send the list of our persisted server names to the Locator
- // so that it knows we are managing them.
- auto_ptr<Server_Repository::HASH_IMR_MAP::ITERATOR>
- server_iter(this->repository_.new_iterator());
- if (server_iter.get () == 0)
- {
- ACE_THROW_RETURN (CORBA::NO_MEMORY (), -1);
- }
- ImplementationRepository::Locator::ServerNameList server_names;
- server_names.length(this->repository_.get_repository_size());
- Server_Repository::HASH_IMR_MAP::ENTRY* next_entry = 0;
- for (CORBA::ULong idx = 0;server_iter->next(next_entry) != 0; server_iter->advance())
- {
- ACE_CString server_name = next_entry->ext_id_;
- server_names[idx++] = server_name.c_str();
- }
+ this->locator_->unregister_activator (name_.c_str(),
+ this->registration_token_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- this->registration_token_ =
- locator->register_activator (this->name_.c_str(),
- activator.in (),
- server_names
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ this->orb_->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // The last thing we do is write out the ior so that a test program can assume
- // that the activator is ready to go as soon as the ior is written.
- if (OPTIONS::instance ()->debug () >= 2)
- {
- ACE_DEBUG ((LM_DEBUG,
- "ImR_Activator_i::init: The Activator IOR is: <%s>\n",
- ior.in ()));
- }
-
- ACE_CString filename = OPTIONS::instance()->output_filename();
- if (filename.length() > 0)
- {
- FILE* fp = ACE_OS::fopen(filename.c_str(), "w");
- if (fp != 0) {
- ACE_OS::fprintf(fp, "%s", ior.in());
- ACE_OS::fclose(fp);
- } else {
- ACE_ERROR((LM_ERROR, "ImR Activator: Could not open file %s\n", filename.c_str()));
- }
- }
-
- }
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Shut down successfully.\n"));
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Server_i::init");
- ACE_RE_THROW;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Activator_i::fini");
+ ACE_RE_THROW;
+ }
ACE_ENDTRY;
ACE_CHECK_RETURN (-1);
return 0;
}
int
-ImR_Activator_i::fini1 (ACE_ENV_SINGLE_ARG_DECL)
-{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- ACE_TRY
- {
- CORBA::Object_var table_object =
- orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (table_object.in () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
- }
- else
- {
- adapter->set_locator (IORTable::Locator::_nil ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Server_i::init");
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
- return 0;
-}
-
-int
-ImR_Activator_i::fini2 (ACE_ENV_SINGLE_ARG_DECL)
+ImR_Activator_i::run (ACE_ENV_SINGLE_ARG_DECL)
{
- ACE_TRY
- {
- this->imr_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Server_i::init");
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
+ this->orb_->run(ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
return 0;
}
-int
-ImR_Activator_i::run (ACE_ENV_SINGLE_ARG_DECL)
+void
+ImR_Activator_i::start_server
+(
+ ImplementationRepository::AMH_ActivatorResponseHandler_ptr rh,
+ const char* name,
+ const char* cmdline,
+ const char* dir,
+ const ImplementationRepository::EnvironmentList & env ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
-
- PortableServer::POAManager_var poa_manager =
- this->imr_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
-
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- auto_ptr<Server_Repository::HASH_IMR_MAP::ITERATOR>
- server_iter (this->repository_.new_iterator ());
-
- if (server_iter.get () == 0)
- ACE_THROW_RETURN (CORBA::NO_MEMORY (), -1);
-
- Server_Repository::HASH_IMR_MAP::ENTRY *server_entry;
-
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::run: Activating AUTO_START servers\n"));
+ RHListPtr server;
+ waiting_servers_.find(name, server);
+ if (server.null())
+ {
+ server = RHListPtr(new RHList);
+ int err = waiting_servers_.bind(name, server);
+ ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
+ }
- // For each of the entries in the Server_Repository, get the startup
- // information and activate the servers, if they are not already
- // running.
- while (!server_iter->done ())
+ if (server->size() == 0)
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Spawn server <%s>\n", name));
+ if (debug_ > 1)
+ ACE_DEBUG((LM_DEBUG, "\tcommand line : <%s>\n\tdirectory : <%s>\n", cmdline, dir));
+
+ // Launch the process using the given command line.
+ ACE_Process_Options proc_opts;
+ proc_opts.command_line (cmdline);
+ proc_opts.working_directory (dir);
+ // Win32 does not support the CLOSE_ON_EXEC semantics for sockets
+ // the way unix does, so in order to avoid having the child process
+ // hold the listen socket open, we force the child to inherit no
+ // handles. This includes stdin, stdout, logs, etc.
+ proc_opts.handle_inheritence (0);
+
+ for (CORBA::ULong i = 0; i < env.length(); ++i)
+ proc_opts.setenv (env[i].name.in(), env[i].value.in());
+
+ int pid = this->process_mgr_.spawn (proc_opts);
+ if (pid == ACE_INVALID_PID)
{
- server_iter->next (server_entry);
- server_iter->advance ();
+ ACE_ERROR ((LM_ERROR,
+ "ImR Activator: Cannot spawn server <%s> using <%s>\n", name, cmdline));
- ACE_CString logical, server, command_line, working_directory, location;
- ImplementationRepository::ActivationMode activation
- = ImplementationRepository::NORMAL;
- ImplementationRepository::EnvironmentList environment_vars ;
+ ImplementationRepository::CannotActivate* ex = new
+ ImplementationRepository::CannotActivate(CORBA::string_dup ("Process Creation Failed"));
- server_entry->int_id_->get_startup_info (logical,
- command_line,
- environment_vars,
- working_directory,
- activation);
+ ImplementationRepository::AMH_ActivatorExceptionHolder holder(ex);
ACE_TRY
- {
- if (activation == ImplementationRepository::AUTO_START)
- this->activate_server (server_entry->ext_id_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ {
+ rh->start_server_excep (&holder ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
ACE_CATCHANY
- {
- if (OPTIONS::instance()->debug () >= 2)
- {
- ACE_DEBUG ((LM_DEBUG,
- "ImR_Activator_i::run: AUTO_START Could not activate <%s>\n",
- server_entry->ext_id_.c_str ()));
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "AUTO_START");
- }
- // Ignore exceptions
- }
+ {
+ ACE_ERROR((LM_ERROR, "Exception during asynch exception throw.\n"));
+ }
ACE_ENDTRY;
+ return;
}
- orb->run (0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
+ if (debug_ > 0)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Activator: Successfully spawned. Waiting for status of <%s>...\n", name));
+ }
+ }
+ else if (debug_ > 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Waiting for status of <%s>...\n", name));
+ }
-ImR_Activator_i::~ImR_Activator_i (void)
-{
+ server->push_back(ImplementationRepository::AMH_ActivatorResponseHandler::_duplicate(rh));
}
-
-// Returns the startup information for a server
-
void
-ImR_Activator_i::find (const char *server,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
+ImR_Activator_i::server_status_changed
+(
+ ImplementationRepository::AMH_ActivatorResponseHandler_ptr rh,
+ const char* name ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
{
- ACE_CString logical, command_line, working_directory;
- ACE_CString location, server_object_ior;
- ImplementationRepository::EnvironmentList environment_vars;
- ImplementationRepository::ActivationMode activation;
-
- ACE_NEW_THROW_EX (info,
- ImplementationRepository::ServerInformation,
- CORBA::NO_MEMORY ());
+ // First, send the reply, because the servers server_is_running shouldn't
+ // have to wait for all of the waiting clients to return.
+ ACE_TRY_EX(ACE_TRY_LABEL2)
+ {
+ rh->server_status_changed(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX(ACE_TRY_LABEL2);
+ }
+ ACE_CATCHANY
+ {
+ if (debug_ > 1)
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Activator_i::server_status_changed() return");
+ }
+ ACE_ENDTRY;
ACE_CHECK;
- // Get the information from the server repository.
- if (this->repository_.get_startup_info (server,
- logical,
- command_line,
- environment_vars,
- working_directory,
- activation) != 0)
- ACE_THROW (ImplementationRepository::NotFound ());
-
- // Get the running information which would include the location
- // where the server is running and its IOR.
- if (this->repository_.get_running_info (server,
- location,
- server_object_ior) != 0)
+ RHListPtr server;
+ this->waiting_servers_.find(name, server);
+ if (! server.null() && server->size() > 0)
{
- ACE_THROW (ImplementationRepository::NotFound ());
+ this->unblock_server(server);
+ }
+ else
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: No waiting clients.\n"));
}
-
- // Fill in <info>.
- info->logical_server = CORBA::string_dup (logical.c_str ());
- info->server = CORBA::string_dup (server);
- info->startup.command_line = CORBA::string_dup (command_line.c_str ());
- info->startup.environment = environment_vars;
- info->startup.working_directory = CORBA::string_dup (working_directory.c_str ());
- info->startup.activation = activation;
- info->startup.activator = this->name_.c_str();
- info->location = CORBA::string_dup (location.c_str ());
-
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Found server %s.\n", server));
}
-
-// Used to access the list of servers registered. May also return an
-// iterator which can be used to access more than <how_many> of them.
-
void
-ImR_Activator_i::list (CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException))
+ImR_Activator_i::unblock_all_servers()
{
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: List servers.\n"));
-
- // Initialize the out variables, so if we return early, they will
- // not be dangling.
- server_iterator =
- ImplementationRepository::ServerInformationIterator::_nil ();
-
- ACE_NEW_THROW_EX (server_list,
- ImplementationRepository::ServerInformationList (0),
- CORBA::NO_MEMORY ());
-
- // Get a new iterator
- auto_ptr<Server_Repository::HASH_IMR_MAP::ITERATOR> server_iter (this->repository_.new_iterator ());
-
- // Check for a memory error.
- if (server_iter.get () == 0)
- ACE_THROW (CORBA::NO_MEMORY ());
-
- // Number of servers that will go into the server_list.
- CORBA::ULong n;
-
- if (this->repository_.get_repository_size () > how_many)
- n = how_many;
- else
- n = ACE_static_cast (CORBA::ULong,
- this->repository_.get_repository_size ());
-
- // Now copy over to the server list.
-
- server_list->length (n);
+ ServerMap::ENTRY* entry = 0;
+ ServerMap::ITERATOR it(this->waiting_servers_);
+ for (; it.next(entry); it.advance())
+ {
+ ACE_CString name = entry->ext_id_;
+ RHListPtr server = entry->int_id_;
+ this->unblock_server(server);
+ }
+ this->waiting_servers_.unbind_all();
+}
- Server_Repository::HASH_IMR_MAP::ENTRY *server_entry;
+void
+ImR_Activator_i::unblock_server(RHListPtr server)
+{
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Unblocking %u waiting clients.\n", server->size()));
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::list: Filling ServerList with %d servers\n", n));
+ RHList& svr = *server;
- for (CORBA::ULong i = 0; i < n; i++)
+ for (size_t i = 0; i < svr.size(); ++i)
+ {
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
{
- server_iter->next (server_entry);
- server_iter->advance ();
-
- ACE_CString logical, server, command_line, working_directory;
- ACE_CString location, server_ior;
-
- ImplementationRepository::EnvironmentList environment_vars;
- ImplementationRepository::ActivationMode activation =
- ImplementationRepository::NORMAL;
-
- server_entry->int_id_->get_running_info (location, server_ior);
- server_entry->int_id_->get_startup_info (logical,
- command_line,
- environment_vars,
- working_directory,
- activation);
-
- server_list[i].logical_server = CORBA::string_dup (logical.c_str ());
- server_list[i].server = CORBA::string_dup (server_entry->ext_id_.c_str ());
- server_list[i].startup.command_line = CORBA::string_dup (command_line.c_str ());
- server_list[i].startup.environment = environment_vars;
- server_list[i].startup.working_directory = CORBA::string_dup (working_directory.c_str ());
- server_list[i].startup.activation = activation;
- server_list[i].startup.activator = CORBA::string_dup(this->name_.c_str());
- server_list[i].location = CORBA::string_dup (location.c_str ());
+ ImplementationRepository::AMH_ActivatorResponseHandler_var ssrh = svr[i];
+ ssrh->start_server(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
-
-
- // Now work on the iterator
-
- // Only set up an iterator if we need to
- if (this->repository_.get_repository_size () > how_many)
+ ACE_CATCHANY
{
- if (OPTIONS::instance()->debug () >= 2)
- ACE_DEBUG ((LM_DEBUG, "ImR_Activator_i::list: Creating ServerInformationIterator\n"));
-
- // Create an imr_iter and give it the server_iter pointer
- ImR_Iterator *imr_iter;
-
- ACE_NEW_THROW_EX (imr_iter,
- ImR_Iterator (server_iter.release (), this->root_poa_.in ()),
- CORBA::NO_MEMORY ());
-
- ACE_TRY
- {
- PortableServer::ObjectId_var id =
- this->root_poa_->activate_object (imr_iter ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- server_iterator = imr_iter->_this (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- ACE_CHECK;
+ if (debug_ > 1)
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Activator_i::unblock_server()");
}
+ ACE_ENDTRY;
+ }
+ server->clear();
}
+//@@ todo : Use the process_manager so that we're notified when any of our launched
+// processes die. Add a new operation to the Locator idl, so that we can
+// notify the locator when this happens.
-/**
- * Attempt to gracefully shut down the server, if that fails, will try
- * to do it ungracefully.
- */
-void
-ImR_Activator_i::shutdown_server (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
-{
- if (OPTIONS::instance()->debug () >= 1)
- ACE_DEBUG ((LM_DEBUG, "ImR Activator: Shutting down server.\n"));
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
- CORBA::ORB_var orb = OPTIONS::instance ()->orb ();
+template class ACE_Array_Base<ImplementationRepository::AMH_ActivatorResponseHandler_var>;
+template class ACE_Array<ImplementationRepository::AMH_ActivatorResponseHandler_var>;
+template class ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>;
- ACE_CString server_object_ior, location;
+template class ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>;
- // Find out if it is already running
- if (this->repository_.get_running_info (server, location, server_object_ior) != 0)
- {
- // If we had problems getting the server_object_ior, probably meant that
- // there is no <server> registered
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Cannot find ServerObject IOR for server <%s>\n",
- server));
- ACE_THROW (ImplementationRepository::NotFound ());
- }
+template class ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> >;
+template class ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
- // Check to see if there is one running (if there is a server_object_ior)
- if (server_object_ior.length () != 0)
- {
- // It is running, so shut it down
- ACE_TRY
- {
- CORBA::Object_var object =
- orb->string_to_object (server_object_ior.c_str () ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ImplementationRepository::ServerObject_var server_object =
- ImplementationRepository::ServerObject::_narrow (object.in ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (CORBA::is_nil (server_object.in ()))
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Invalid ServerObject IOR: <%s>\n",
- server_object_ior.c_str ()));
- ACE_THROW (ImplementationRepository::NotFound ());
- }
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
- server_object->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
+#pragma instantiate ACE_Array_Base<ImplementationRepository::AMH_ActivatorResponseHandler_var>
+#pragma instantiate ACE_Array<ImplementationRepository::AMH_ActivatorResponseHandler_var>
+#pragma instantiate ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>
- // This removes running info from repository
- if (this->repository_.update (server, "", "") != 0)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR Activator: Could not update information for unknown server <%s>\n",
- server));
- ACE_THROW (ImplementationRepository::NotFound ());
- }
- }
- ACE_CATCHANY
- {
- ACE_RE_THROW;
- }
- ACE_ENDTRY;
- }
-}
+#pragma instantiate ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex>
-void ImR_Activator_i::shutdown_repo( ACE_ENV_SINGLE_ARG_DECL )
- ACE_THROW_SPEC( (CORBA::SystemException) )
-{
- CORBA::ORB_var orb = OPTIONS::instance ()->orb () ;
- this->fini1 (ACE_ENV_SINGLE_ARG_PARAMETER);
- orb->shutdown (0);
- this->fini2 (ACE_ENV_SINGLE_ARG_PARAMETER) ;
-}
+#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> >
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var>, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class auto_ptr<ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> >;
-template class ACE_Auto_Basic_Ptr<ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> >;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate auto_ptr<ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> >
-#pragma instantiate ACE_Auto_Basic_Ptr<ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex> >
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
index 71e5dd3eab4..fbc85911317 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
@@ -1,201 +1,105 @@
// -*- C++ -*-
//=============================================================================
/**
- * @file ImR_Activator_i.h
- *
- * $Id$
- *
- * @brief This class implements the Implementation Repository.
- *
- * @author Priyanka Gontla <gontla_p@ociweb.com>
- * @author Darrell Brunsch <brunsch@cs.wustl.edu>
- */
+* @file ImR_Activator_i.h
+*
+* $Id$
+*
+* @author Priyanka Gontla <gontla_p@ociweb.com>
+* @author Darrell Brunsch <brunsch@cs.wustl.edu>
+*/
//=============================================================================
#ifndef IMR_ACTIVATOR_I_H
#define IMR_ACTIVATOR_I_H
-#include "Server_Repository.h"
+#include "activator_export.h"
-#include "orbsvcs/IOR_Multicast.h"
-
-#include "tao/PortableServer/ImplRepoS.h"
-#include "tao/IORTable/IORTable.h"
+#include "ImR_ActivatorS.h"
+#include "ImR_LocatorC.h"
#include "ace/Process_Manager.h"
+#include "ace/Vector_T.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Bound_Ptr.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Options;
/**
- * @class ImR_Activator_i
- *
- * @brief IMR Activator Interface.
- *
- * This class provides the interface for the various activities
- * that can be done by the ImR_Activator.
- *
- */
-class ImR_Activator_i : public POA_ImplementationRepository::Administration
+* @class ImR_Activator_i
+*
+* @brief IMR Activator Interface.
+*
+* This class provides the interface for the various activities
+* that can be done by the ImR_Activator.
+*
+*/
+class Activator_Export ImR_Activator_i : public POA_ImplementationRepository::AMH_Activator
{
+ typedef ACE_Vector<ImplementationRepository::AMH_ActivatorResponseHandler_var> RHList;
+ typedef ACE_Strong_Bound_Ptr<RHList, ACE_Null_Mutex> RHListPtr;
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ RHListPtr,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> ServerMap;
+
public:
- // = Constructor and destructor
ImR_Activator_i (void);
- ~ImR_Activator_i (void);
-
- /// IOR_LookupTable_Callback method. Will return an IOR
- char *find_ior (const char* object_name ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // = Interface methods
-
- /// Starts up the server <server> if not already running.
- virtual void activate_server (
- const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate
- ));
-
- /// Adds the server to the repository and registers the startup information
- /// about the server <server>.
- virtual void register_server (
- const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::AlreadyRegistered,
- ImplementationRepository::NotFound
- ));
-
- /// Updates the startup information about the server <server>.
- virtual void reregister_server (
- const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::AlreadyRegistered,
- ImplementationRepository::NotFound
- ));
-
- /// Removes the server <server> from the repository.
- virtual void remove_server (
- const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// Attempts to gracefully shut down the server,
- virtual void shutdown_server (
- const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// Shuts down the repository.
- virtual void shutdown_repo (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Called by the server to update transient information such as current
- /// location of the <server> and its ServerObject.
- virtual void server_is_running (
- const char *server,
- const char * partial_ior,
- ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// What the server should call before it shuts down.
- virtual void server_is_shutting_down (
- const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// Returns the startup information for a server
- virtual void find (
- const char *server,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// Used to access the list of servers registered. May also return an
- /// iterator which can be used to access more than <how_many> of them.
- virtual void list (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((CORBA::SystemException));
-
- /// Implementation of activate_server. <check_startup> is a flag to check
- /// the activation mode before attempting to start it.
- virtual char *activate_server_with_startup (const char *server,
- int check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate
- ));
+
+ void start_server (
+ ImplementationRepository::AMH_ActivatorResponseHandler_ptr rh,
+ const char* name,
+ const char* cmdline,
+ const char* dir,
+ const ImplementationRepository::EnvironmentList & env ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ void server_status_changed(
+ ImplementationRepository::AMH_ActivatorResponseHandler_ptr rh,
+ const char* name ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
/// Initialize the Server state - parsing arguments and waiting.
- int init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ int init (Options& opts ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- /// Cleans up any state created by init (), called before ORB shutdown.
- int fini1 (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
-
- /// Cleans up any state created by init (), called after ORB shutdown.
- int fini2 (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ /// Cleans up any state created by init*.
+ int fini (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
/// Runs the orb.
int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
private:
- char* activate_server_i (const char *server,int check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS) ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate
- ));
-
- /// This method starts the server process.
- void start_server_i (
- const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- ) ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate
- ));
-
- /// This method will continuously ping a server and either return when it
- /// responds to the ping or return -1 if it times out.
- int ready_check (const char *server)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound));
-
- /// The Process Manager.
- ACE_Process_Manager process_mgr_;
+ int init_with_orb (CORBA::ORB_ptr orb, const Options& opts ACE_ENV_ARG_DECL_WITH_DEFAULTS);
- /// Repository containing information about each server.
- Server_Repository repository_;
+ void unblock_all_servers();
+ void unblock_server(RHListPtr server);
- /// The Root POA for this ORB.
- PortableServer::POA_var root_poa_;
+private:
+ ACE_Process_Manager process_mgr_;
- /// Implementation Repository's POA.
+ PortableServer::POA_var root_poa_;
PortableServer::POA_var imr_poa_;
+ /// IMR Locator Object
+ ImplementationRepository::Locator_var locator_;
+
/// We're given a token when registering with the locator, which
/// we must use when unregistering.
CORBA::Long registration_token_;
+ CORBA::ORB_var orb_;
+
+ unsigned int debug_;
+
ACE_CString name_;
+
+ ServerMap waiting_servers_;
};
#endif /* IMR_ACTIVATOR_I_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
index 33b21fbc734..ce7f36def02 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
@@ -5,17 +5,33 @@
#include "Locator_Options.h"
int
-run_standalone (void)
+run_standalone (Options& opts)
{
ImR_Locator_i server;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- int status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ int status = server.init (opts ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- if (status != -1)
- return 0;
+ if (status == -1)
+ {
+ return 1;
+ }
+ else
+ {
+ // Run the server if it is initialized correctly.
+ server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // End the server after its work is done.
+ status = server.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (status == -1)
+ return 1;
+ }
+ return 0;
}
ACE_CATCH (CORBA::SystemException, sysex)
{
@@ -56,20 +72,91 @@ run_service (void)
#endif /* ACE_WIN32 */
}
-#include <ace/streams.h>
+/**
+ * Executes the various commands that are useful for a NT service. Right
+ * now these include 'install' and 'remove'. Others, such as 'start' and
+ * 'stop' can be added, but the 'net' program in Windows already handles
+ * these commands.
+ */
+static int
+run_service_command (Options& opts)
+{
+ if (opts.service_command() == Options::SC_NONE)
+ return 0;
+
+#if defined (ACE_WIN32)
+ SERVICE::instance()->name (IMR_LOCATOR_SERVICE_NAME, IMR_LOCATOR_DISPLAY_NAME);
+
+ if (opts.service_command() == Options::SC_INSTALL)
+ {
+ const DWORD MAX_PATH_LENGTH = 4096;
+ char pathname[MAX_PATH_LENGTH];
+
+ DWORD length = ACE_TEXT_GetModuleFileName(NULL, pathname, MAX_PATH_LENGTH);
+ if (length == 0 || length >= MAX_PATH_LENGTH - sizeof(" -s"))
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Could not get module file name\n"));
+ return -1;
+ }
+
+ // Append the command used for running the implrepo as a service
+ ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
+
+ int ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
+ SERVICE_ERROR_NORMAL,
+ pathname);
+ if (ret != -1) {
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service installed.\n"));
+ opts.save_registry_options();
+ } else {
+ ACE_ERROR((LM_ERROR, "Error: Failed to install service. error:%d\n", errno));
+ }
+ if (ret == 0)
+ return 1;
+ }
+ else if (opts.service_command() == Options::SC_REMOVE)
+ {
+ int ret = SERVICE::instance ()->remove ();
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service removed.\n"));
+ if (ret == 0)
+ return 1; // If successfull, then we don't want to continue.
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
+ opts.service_command()));
+ return -1;
+ }
+
+ return -1;
+
+#else /* ACE_WIN32 */
+ ACE_ERROR ((LM_ERROR, "NT Service not supported on this platform"));
+ return -1;
+#endif /* ACE_WIN32 */
+}
int
main (int argc, char *argv[])
{
- int result = OPTIONS::instance()->init(argc, argv);
+ Options opts;
+
+ int result = opts.init (argc, argv);
+ if (result < 0)
+ return 1; // Error
+ else if (result > 0)
+ return 0; // No error, but we should exit anyway.
+ result = run_service_command(opts);
if (result < 0)
- return 1; // Error parsing args
+ return 1; // Error
else if (result > 0)
return 0; // No error, but we should exit anyway.
- if (OPTIONS::instance()->service())
- return run_service();
+ if (opts.service())
+ {
+ return run_service ();
+ }
- return run_standalone();
+ return run_standalone (opts);
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.idl b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.idl
new file mode 100644
index 00000000000..fc2795584cb
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.idl
@@ -0,0 +1,18 @@
+// -*- IDL -*-
+
+// $Id$
+
+#include "ImR_Activator.idl"
+
+module ImplementationRepository
+{
+ interface Locator : Administration
+ {
+ // returns a token that can be used (along with activator name) to unregister the activator.
+ long register_activator (in string name, in Activator act);
+
+ // You must pass in the token returned from register_activator.
+ void unregister_activator (in string name, in long token);
+ };
+};
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
index f2971a7fbc5..92cf89a0d5b 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
@@ -1,706 +1,889 @@
// $Id$
#include "ImR_Locator_i.h"
+#include "utils.h"
+#include "Iterator.h"
-#include "Locator_Options.h"
-#include "Forwarder.h"
-#include "INS_Locator.h"
-#include "Adapter_Activator.h"
-
-#include "orbsvcs/IOR_Multicast.h"
+#include "orbsvcs/Time_Utilities.h"
#include "tao/IORTable/IORTable.h"
#include "tao/PortableServer/POA.h"
-
#include "tao/ORB_Core.h"
#include "tao/default_ports.h"
+#include "tao/Messaging/Messaging.h"
+
+#include "ace/ARGV.h"
+
+static const int DEFAULT_START_LIMIT = 1;
+static const int IS_ALIVE_RETRY_COUNT = 60;
+static const ACE_Time_Value IS_ALIVE_RETRY_INTERVAL(1);
+
+static const ACE_Time_Value DEFAULT_SERVER_TIMEOUT(0, 100 * 1000); // 100ms
+
+// If the POA locking problem is ever corrected, this class (along with
+// some code in ImR_Locator_i::server_is_running) should be removed.
+#if !defined (ACE_HAS_RECURSIVE_MUTEXES)
+class Status_Changed_Timer: public ACE_Event_Handler
+{
+public:
+ Status_Changed_Timer(ImR_Locator_i* locator,
+ const Server_Info_Ptr& info);
+
+ virtual int handle_timeout (const ACE_Time_Value& current_time,
+ const void* act);
+private:
+ ImR_Locator_i* locator_;
+ Server_Info_Ptr info_;
+};
+
+Status_Changed_Timer::Status_Changed_Timer(ImR_Locator_i* locator,
+ const Server_Info_Ptr& info)
+ : locator_(locator),
+ info_(info)
+{
+}
+
+int
+Status_Changed_Timer::handle_timeout (const ACE_Time_Value&,
+ const void*)
+{
+ locator_->server_status_changed(*info_);
+ delete this;
+ return 0;
+}
+#endif /* ACE_HAS_RECURSIVE_MUTEXES */
-#include "ace/Get_Opt.h"
-#include "ace/Process_Manager.h"
-#include "ace/OS_NS_sys_time.h"
ImR_Locator_i::ImR_Locator_i ()
- :
- forwarder_impl_ (0),
- activator_ (0),
- ins_locator_ (0)
+: forwarder_(*this)
+, ins_locator_(*this)
+, debug_(0)
+, read_only_(false)
{
- this->ins_locator_ = new INS_Locator(this);
}
int
-ImR_Locator_i::init (ACE_ENV_SINGLE_ARG_DECL)
+ImR_Locator_i::init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL)
{
- orb_ = OPTIONS::instance()->orb();
+ orb_ = CORBA::ORB::_duplicate(orb);
+ debug_ = opts.debug();
+ read_only_ = opts.readonly();
+ startup_timeout_ = opts.startup_timeout();
+ ping_interval_ = opts.ping_interval();
CORBA::Object_var obj =
- orb_->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ this->orb_->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
-
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ this->root_poa_ = PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
+ ACE_ASSERT(! CORBA::is_nil(this->root_poa_.in()));
- if (CORBA::is_nil (root_poa.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to obtain RootPOA reference.\n"),
- -1);
+ this->forwarder_.init(orb ACE_ENV_ARG_PARAMETER);
+ this->adapter_.init(& this->forwarder_);
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ // Register the Adapter_Activator reference to be the RootPOA's
+ // Adapter Activator.
+ root_poa_->the_activator (&this->adapter_ ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- // We are going to set the policies to be used with the child
- // POA.
- CORBA::PolicyList policies (2);
- policies.length (2);
-
- policies[0] =
- root_poa->create_id_assignment_policy (PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
+ CORBA::PolicyList policies;
+ imr_poa_ = root_poa_->create_POA ("ImplRepoService",
+ PortableServer::POAManager::_nil(), policies ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- policies[1] =
- root_poa->create_lifespan_policy (PortableServer::PERSISTENT
- ACE_ENV_ARG_PARAMETER);
+ PortableServer::ObjectId_var id = this->imr_poa_->activate_object(this ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- PortableServer::POA_var locator_poa =
- root_poa->create_POA ("ImplRepoService",
- poa_manager.in (),
- policies
- ACE_ENV_ARG_PARAMETER);
+ obj = this->imr_poa_->id_to_reference (id.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ CORBA::String_var ior = this->orb_->object_to_string(obj.in() ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- // Creation of the new POAs is over, so destroy the Policy_ptr's as
- // we dont need them anymore.
- for (CORBA::ULong i = 0; i < policies.length (); ++i)
- {
- CORBA::Policy_ptr policy = policies[i];
- policy->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
- }
+ // Register the ImR for use with INS
+ obj = orb->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ IORTable::Table_var ior_table = IORTable::Table::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ ACE_ASSERT(! CORBA::is_nil(ior_table.in()));
+ ior_table->bind ("ImplRepoService", ior.in () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ ior_table->set_locator (&this->ins_locator_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
- // Register 'this' with the ImR_Forwarder
- ACE_NEW_RETURN (this->forwarder_impl_,
- ImR_Forwarder (this, orb_.in ()),
- -1);
+ // Set up multicast support (if enabled)
+ if (opts.multicast())
+ {
+ ACE_Reactor* reactor = orb->orb_core()->reactor();
+ if (this->setup_multicast (reactor, ior.in()) != 0)
+ return -1;
+ }
- // Get the ObjectID for the string child POA name.
- PortableServer::ObjectId_var locator_id =
- PortableServer::string_to_ObjectId ("ImplRepoService");
+ // Initialize the persistent storage. This will load any values that
+ // may have been persisted before.
+ // The init can return 1 if there is no persistent file yet. In
+ // that case, we need not do anything for now.
+ int init_result =
+ this->repository_.init (opts.repository_mode(), opts.persist_file_name());
+ if (init_result == -1)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, "Repository failed to initialize\n"), -1);
+ }
- // Activate the object with the given id.
- locator_poa->activate_object_with_id (locator_id.in (),
- this
- ACE_ENV_ARG_PARAMETER);
+ // Activate the two poa managers
+ PortableServer::POAManager_var poaman =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
-
- // Get the locator object reference
- CORBA::Object_var locator_obj =
- locator_poa->id_to_reference (locator_id.in () ACE_ENV_ARG_PARAMETER);
+ poaman->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
-
- // Get the reference to IORTable.
- obj = orb_->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ poaman = this->imr_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
-
- // Narrow it down to the correct type
- IORTable::Table_var adapter =
- IORTable::Table::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ poaman->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- CORBA::String_var ior;
-
- if (CORBA::is_nil (adapter.in ()))
- {
- ACE_ERROR ((LM_ERROR, "Nil IORTable\n"));
- }
- else
+ // We write the ior file last so that the tests can know we are ready.
+ if (opts.ior_filename().length() > 0)
+ {
+ FILE* fp = ACE_OS::fopen(opts.ior_filename().c_str(), "w");
+ if (fp == 0)
{
- // Set the locator
- adapter->set_locator (this->ins_locator_.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // Get the stringified format of the locator's object
- // reference.
- ior = orb_->object_to_string (locator_obj.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
-
- // Finally, bind this ior to the child POA's name in the
- // IORTable.
- adapter->bind ("ImplRepoService", ior.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "ImR Locator: Could not open file: %s\n", opts.ior_filename().c_str()), -1);
}
+ ACE_OS::fprintf(fp, "%s", ior.in());
+ ACE_OS::fclose(fp);
+ }
- ACE_CString output_filename = OPTIONS::instance()->output_filename();
-
- if (output_filename.length() > 0)
- {
- FILE* fp = ACE_OS::fopen(output_filename.c_str(), "w");
- ACE_ASSERT(fp != 0);
- ACE_OS::fprintf(fp, "%s", ior.in());
- ACE_OS::fclose(fp);
- }
+ return 0;
+}
- ACE_NEW_RETURN (this->activator_,
- ImR_Adapter_Activator (this->forwarder_impl_),
- -1);
+int
+ImR_Locator_i::init(Options& opts ACE_ENV_ARG_DECL)
+{
+ ACE_ARGV av(opts.cmdline().c_str());
+ int argc = av.argc();
+ char** argv = av.argv();
+
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "TAO_ImR_Locator" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ int err = this->init_with_orb(orb.in(), opts ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(-1);
+ return err;
+}
- // Register the Adapter_Activator reference to be the RootPOA's
- // Adapter Activator.
- root_poa->the_activator (this->activator_ ACE_ENV_ARG_PARAMETER);
+int
+ImR_Locator_i::run(ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (debug_ > 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Running\n"
+ "\tPing Interval : %ds\n"
+ "\tStartup Timeout : %ds\n"
+ "\tPersistence : %s\n"
+ "\tLocked : %s\n\n",
+ ping_interval_.sec(),
+ startup_timeout_.sec(),
+ repository_.repo_mode(),
+ read_only_ ? "true" : "false"));
+ }
+ this->auto_start_servers(ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
- if (OPTIONS::instance()->multicast())
- {
- ACE_Reactor *reactor = orb_->orb_core ()->reactor ();
+ this->orb_->run(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
- ACE_Process_Manager process_manager;
- process_manager.open (ACE_Process_Manager::DEFAULT_SIZE, reactor);
+int
+ImR_Locator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_TRY
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Shutting down...\n"));
- if (this->setup_multicast (reactor, ior.in ()) != 0)
- return -1;
- }
- else
- {
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Multicast Handler disabled.\n"));
- }
- }
+ this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (-1);
+ this->orb_->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Shut down successfully.\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Locator_i::fini");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
ACE_CHECK_RETURN (-1);
-
return 0;
}
-/**
- * First, figure out if we should set up a multicast handler (based on command
- * line settings) and which port to set it up (based on the environment,
- * command line, or the default IMPLREPOSERVICE port). Then register the
- * handler with the @param reactor.
- *
- * @retval 0 ok
- * @retval -1 failed
- */
int
-ImR_Locator_i::setup_multicast (ACE_Reactor *reactor,
- const char *ior)
+ImR_Locator_i::setup_multicast (ACE_Reactor* reactor, const char* ior)
{
ACE_ASSERT (reactor != 0);
+ ACE_ASSERT (ior != 0);
#if defined (ACE_HAS_IP_MULTICAST)
+ TAO_ORB_Core* core = TAO_ORB_Core_instance();
// See if the -ORBMulticastDiscoveryEndpoint option was specified.
- ACE_CString mde (TAO_ORB_Core_instance ()->orb_params ()->mcast_discovery_endpoint ());
-
- // First, see if the user has given us a multicast port number
- // on the command-line;
- u_short port =
- TAO_ORB_Core_instance ()->orb_params ()->service_port (IMPLREPOSERVICE);
+ ACE_CString mde (core->orb_params()->mcast_discovery_endpoint());
- if (port == 0)
+ if (mde.length () != 0)
+ {
+ if (this->ior_multicast_.init(ior,
+ mde.c_str(), TAO_SERVICEID_IMPLREPOSERVICE) == -1)
+ {
+ return -1;
+ }
+ }
+ else
+ {
+ // Port can be specified as param, env var, or default
+ CORBA::UShort port = core->orb_params()->service_port(IMPLREPOSERVICE);
+ if (port == 0)
{
// Check environment var. for multicast port.
- const char *port_number = ACE_OS::getenv ("ImplRepoServicePort");
+ const char* port_number = ACE_OS::getenv ("ImplRepoServicePort");
if (port_number != 0)
port = ACE_OS::atoi (port_number);
}
+ if (port == 0)
+ port = TAO_DEFAULT_IMPLREPO_SERVER_REQUEST_PORT;
- // Port wasn't specified on the command-line or in environment -
- // use the default.
- if (port == 0)
- port = TAO_DEFAULT_IMPLREPO_SERVER_REQUEST_PORT;
-
- // Instantiate a handler which will handle client requests for
- // the ImplRepoService ior, received on the multicast port.
- TAO_IOR_Multicast *ior_multicast;
-
- ACE_NEW_RETURN (ior_multicast,
- TAO_IOR_Multicast (),
- -1);
-
- if (mde.length () != 0)
- {
- // initializes
- if (ior_multicast->init (ior,
- mde.c_str (),
- TAO_SERVICEID_IMPLREPOSERVICE) == -1)
- return -1;
- }
- else
+ if (this->ior_multicast_.init(ior, port,
+ ACE_DEFAULT_MULTICAST_ADDR, TAO_SERVICEID_IMPLREPOSERVICE) == -1)
{
- if (ior_multicast->init (ior,
- port,
- ACE_DEFAULT_MULTICAST_ADDR,
- TAO_SERVICEID_IMPLREPOSERVICE) == -1)
- return -1;
+ return -1;
}
+ }
// Register event handler for the ior multicast.
- if (reactor->register_handler (ior_multicast,
- ACE_Event_Handler::READ_MASK) == -1)
- {
- if (OPTIONS::instance()->debug() >= 1)
- ACE_DEBUG ((LM_DEBUG,
- "ImR Locator: "
- "cannot register Event handler\n"));
- return -1;
- }
+ if (reactor->register_handler (&this->ior_multicast_,
+ ACE_Event_Handler::READ_MASK) == -1)
+ {
+ if (debug_ >= 1)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: cannot register Event handler\n"));
+ return -1;
+ }
- if (OPTIONS::instance()->debug() >= 1)
- ACE_DEBUG ((LM_DEBUG,
- "ImR Locator: Multicast Handler enabled.\n"));
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Multicast Handler enabled.\n"));
return 0;
-#else /* ACE_HAS_IP_MULTICAST */
-
+#else /* ACE_HAS_IP_MULTICAST*/
ACE_UNUSED_ARG (reactor);
ACE_UNUSED_ARG (ior);
- ACE_DEBUG ((LM_WARNING,
- "ImR Locator: "
- "ACE_HAS_IP_MULTICAST is not defined. "
- "Multicast support disabled.\n"));
-
return 0;
-#endif /* ACE_HAS_IP_MULTICAST */
+#endif /* ACE_HAS_IP_MULTICAST*/
}
CORBA::Long
-ImR_Locator_i::register_activator (const char* activator,
- ImplementationRepository::Administration_ptr admin,
- const ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
+ImR_Locator_i::register_activator (const char* aname,
+ ImplementationRepository::Activator_ptr activator
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
{
- for (CORBA::ULong idx = 0; idx < servers.length(); ++idx) {
- const char* server = servers[idx];
- int err = this->server_map_.bind(server, activator);
- ACE_ASSERT(err == 0 || err == 1);
- ACE_UNUSED_ARG (err);
- }
+ ACE_ASSERT(aname != 0);
+ ACE_ASSERT(! CORBA::is_nil(activator));
- ActivatorInfo info;
- // We save the unique hash value of the passed in admin object, so that
- // we can prevent accidental unregister by a different activator.
- info.token = ACE_OS::gettimeofday().msec();
- info.admin = ImplementationRepository::Administration::_duplicate(admin);
+ // Before we can register the activator, we need to ensure that any existing
+ // registration is purged.
+ this->unregister_activator_i(aname);
+ ACE_CHECK_RETURN(0);
- int bind_return = this->activator_map_.bind (activator, info);
+ CORBA::String_var ior =
+ this->orb_->object_to_string (activator ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (-1);
- if (bind_return == 1) // Success, but was already bound.
+ CORBA::Long token = ACE_OS::gettimeofday().msec();
+
+ int err = this->repository_.add_activator (aname, token, ior.in(), activator);
+ ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
+
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activator registered for %s.\n", aname));
+
+ return token;
+}
+
+void
+ImR_Locator_i::unregister_activator (const char* aname,
+ CORBA::Long token
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_ASSERT(aname != 0);
+ Activator_Info_Ptr info =
+ this->get_activator (aname);
+ ACE_CHECK;
+
+ if (! info.null())
{
- if (OPTIONS::instance()->debug() >= 1)
+ if (info->token != token && this->debug_ > 0)
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: New activator registered for %s.\n", activator));
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Ignoring unregister activator:%s. Wrong token.\n", aname));
+ return;
}
- return info.token;
+
+ this->unregister_activator_i(aname);
+ ACE_CHECK;
+
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activator %s unregistered.\n", aname));
}
- else if (bind_return != 0)
+ else
{
- ACE_ASSERT(bind_return != 0);
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Ignoring unregister activator:%s. Unknown activator.\n", aname));
}
+}
+
+void
+ImR_Locator_i::unregister_activator_i(const char* aname)
+{
+ ACE_ASSERT(aname != 0);
+ int err = this->repository_.remove_activator (aname);
+ ACE_UNUSED_ARG(err);
+}
+
+void
+ImR_Locator_i::activate_server (const char* server ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate))
+{
+ // This is the version called by tao_imr to activate the server, manually
+ // starting it if necessary.
+ activate_server_by_name(server, true ACE_ENV_ARG_PARAMETER);
+}
- if (OPTIONS::instance()->debug() >= 1)
+char*
+ImR_Locator_i::activate_server_by_name (const char* name, bool manual_start ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate))
+{
+ // Activate the server, starting it if necessary. Don't start MANUAL
+ // servers unless manual_start=true
+ ACE_ASSERT(name != 0);
+
+ Server_Info_Ptr info = this->repository_.get_server(name);
+ if (info.null())
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activator registered for %s.\n", activator));
+ ACE_ERROR ((LM_ERROR, "ImR Locator: Cannot find info for server <%s>\n", name));
+ ACE_THROW_RETURN(ImplementationRepository::NotFound (), 0);
}
- return info.token;
+
+ return activate_server_i(*info, manual_start ACE_ENV_ARG_PARAMETER);
}
-// Remove a activator when it no longer wants to receive requests.
-// object_ref is set to the removed activator.
-void
-ImR_Locator_i::unregister_activator (const char * activator,
- CORBA::Long token
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
+char*
+ImR_Locator_i::activate_server_i (Server_Info& info, bool manual_start ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate))
{
- ActivatorInfo info;
- if (this->activator_map_.find (activator, info) == 0)
+ if (info.activation_mode == ImplementationRepository::PER_CLIENT && ! manual_start)
+ {
+ info.reset();
+ }
+
+ while(true)
{
- if (info.token != token && OPTIONS::instance()->debug() >= 1)
+ if (is_alive(info))
{
- ACE_DEBUG((LM_DEBUG, "ImR Locator: Ignoring unregister activator:%s. Wrong token.\n", activator));
- return;
+ if (debug_ > 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Successfully activated <%s> at \n\t%s\n",
+ info.name.c_str(), info.partial_ior.c_str()));
+ }
+ info.start_count = 0;
+ return CORBA::string_dup(info.partial_ior.c_str());
}
-
- int bind_return = this->activator_map_.unbind (activator, info);
- ACE_UNUSED_ARG (bind_return);
- ACE_ASSERT(bind_return == 0);
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activator %s unregistered.\n", activator));
- }
- }
- else
- {
- if (OPTIONS::instance()->debug() >= 1)
+ if (info.start_count >= info.start_limit)
{
- ACE_DEBUG((LM_DEBUG, "ImR Locator: Ignoring unregister activator:%s. Unknown activator.\n", activator));
+ break;
}
+
+ ++info.start_count;
+
+ // Note : If the activator is already in the process of starting a server, then
+ // this will simply block with the others currently waiting.
+ start_server(info, manual_start ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
}
+
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Cannot Activate <%s>. Too many retries.\n", info.name.c_str()));
+
+ ACE_THROW_RETURN (ImplementationRepository::CannotActivate
+ (CORBA::string_dup ("Too many retries.")), 0);
+}
+
+char*
+ImR_Locator_i::activate_server_by_object (const char* object_name ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate))
+{
+ ACE_ASSERT(object_name != 0);
+
+ // We assume that the first part of the object name is the server name.
+ // So a name of foo/bar means that the server name is foo.
+ ACE_CString server_name(object_name);
+ ssize_t pos = server_name.find ('/');
+ if (pos != ACE_CString::npos)
+ server_name = server_name.substr(pos + 1);
+
+ return activate_server_by_name(server_name.c_str(), false ACE_ENV_ARG_PARAMETER);
}
-// Starts up the server <server> at all the activators where it is
-// registered, if not already running.
void
-ImR_Locator_i::activate_server (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
+ImR_Locator_i::start_server(Server_Info& info, bool manual_start ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate))
{
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activating server %s.\n", server));
- }
+ if (info.activation_mode == ImplementationRepository::MANUAL && ! manual_start)
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Cannot Activate MANUAL server <%s>.\n", info.name.c_str()));
+ ACE_THROW(ImplementationRepository::CannotActivate
+ (CORBA::string_dup ("MANUAL server.")));
+ }
+ if (info.cmdline.length() == 0)
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Cannot Activate server <%s>."
+ " No command line.\n", info.name.c_str()));
+ ACE_THROW(ImplementationRepository::CannotActivate
+ (CORBA::string_dup ("No command line registered for server.")));
+ }
+
+ Activator_Info_Ptr ainfo = get_activator(info.activator);
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
+ if (ainfo.null() || CORBA::is_nil(ainfo->activator.in()))
{
- this->activate_server_in_activator(server, activator.c_str());
- }
- else
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Cannot Activate server <%s>. "
+ "Activator <%s> not found.\n", info.name.c_str(), info.activator.c_str()));
+ ACE_THROW(ImplementationRepository::CannotActivate
+ (CORBA::string_dup ("No activator registered for server.")));
+ }
+
+ if (this->debug_ > 0)
{
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for server:%s\n", server));
- ACE_THROW(ImplementationRepository::NotFound());
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Starting server <%s>. Attempt %d/%d.\n",
+ info.name.c_str(), info.start_count, info.start_limit));
}
-}
-// Starts up the server <server> at one or more activators
-// and returns the IOR of the activated server.
-char *
-ImR_Locator_i::activate_server_with_startup (const char *server,
- int check_startup
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
-{
- if (OPTIONS::instance()->debug() >= 1)
+ ACE_TRY
+ {
+ ++ ainfo->waiting_clients;
+ ainfo->activator->start_server(
+ info.name.c_str(),
+ info.cmdline.c_str(),
+ info.dir.c_str(),
+ info.env_vars
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ -- ainfo->waiting_clients;
+ }
+ ACE_CATCH(CORBA::TIMEOUT, ex)
+ {
+ -- ainfo->waiting_clients;
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator : Timeout or error waiting for startup.\n"));
+ info.reset();
+ }
+ ACE_CATCHANY
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activating server %s."
- " Check startup=%d.\n", server, check_startup));
+ -- ainfo->waiting_clients;
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "Exception during activator communication. Activator connection broken.\n"));
+ if (debug_ > 1)
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Locator_i::start_server()");
+ ainfo->reset();
+ info.reset();
}
+ ACE_ENDTRY;
+}
+
+void
+ImR_Locator_i::server_status_changed(Server_Info& info)
+{
+ Activator_Info_Ptr ainfo = get_activator(info.activator);
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
+ if (! ainfo.null()
+ && ! CORBA::is_nil(ainfo->activator.in())
+ && ainfo->waiting_clients > 0
+ )
{
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator.c_str() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- char* partial_ior = admin->activate_server_with_startup (server,
- check_startup ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
- if (partial_ior != 0) {
- return partial_ior;
+ ACE_TRY_NEW_ENV
+ {
+ ainfo->activator->server_status_changed(info.name.c_str() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
- }
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for server:%s\n", server));
- ACE_THROW_RETURN (ImplementationRepository::NotFound(), 0);
- return 0;
+ ACE_CATCHANY
+ {
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "Exception during activator communication. Activator connection broken.\n"));
+ if (debug_ > 1)
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Locator_i::server_status_changed()");
+ ainfo->reset();
+ }
+ ACE_ENDTRY;
+ }
}
-
-// Starts up the server <server> if not already running in the
-// specified activator.
void
-ImR_Locator_i::activate_server_in_activator (const char *server,
- const char * activator
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate))
+ImR_Locator_i::set_timeout_policy(CORBA::Object_ptr obj, const ACE_Time_Value& to)
{
- if (OPTIONS::instance()->debug() >= 1)
+ ACE_TRY_NEW_ENV
+ {
+ TimeBase::TimeT timeout;
+ ORBSVCS_Time::Time_Value_to_TimeT (timeout, to);
+ CORBA::Any tmp;
+ tmp <<= timeout;
+
+ CORBA::PolicyList policies(1);
+ policies.length(1);
+ policies[0] = orb_->create_policy(Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, tmp ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ obj->_set_policy_overrides (policies, CORBA::ADD_OVERRIDE ACE_ENV_ARG_PARAMETER);
+ }
+ ACE_CATCHANY
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Activating server"
- " %s in activator %s.\n", server, activator));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Locator_i::set_timeout_policy()");
}
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- admin->activate_server (server ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ ACE_ENDTRY;
}
-// Adds the server to the repository and registers the startup information
-// about the server <server>.
void
-ImR_Locator_i::register_server (const char *server,
+ImR_Locator_i::register_server (const char* server,
const ImplementationRepository::StartupOptions &options
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
-
-ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::AlreadyRegistered,
ImplementationRepository::NotFound))
{
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
+ register_server_i(server, options, false ACE_ENV_ARG_PARAMETER);
+}
+
+void
+ImR_Locator_i::reregister_server (const char* server,
+ const ImplementationRepository::StartupOptions &options
+ ACE_ENV_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::NotFound))
+{
+ register_server_i(server, options, true ACE_ENV_ARG_PARAMETER);
+}
+void
+ImR_Locator_i::register_server_i (const char* server,
+ const ImplementationRepository::StartupOptions &options,
+ bool allow_updates
+ ACE_ENV_ARG_DECL )
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::NotFound))
+{
+ ACE_ASSERT(server != 0);
+
+ if (this->read_only_)
{
- ACE_THROW(ImplementationRepository::AlreadyRegistered());
- return;
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Cannot register server <%s> due to locked database.\n", server));
+ ACE_THROW (CORBA::NO_PERMISSION (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
}
- ImplementationRepository::Administration_var admin =
- this->choose_activator (options.activator.in() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- admin->register_server (server, options ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- if (OPTIONS::instance()->debug() >= 1)
+ Server_Info_Ptr info = this->repository_.get_server(server);
+ if (info.null())
+ {
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Adding server <%s>.\n", server));
+
+ this->repository_.add_server (server,
+ options.activator.in(),
+ options.command_line.in (),
+ options.environment,
+ options.working_directory.in (),
+ options.activation,
+ options.start_limit < 1 ? 1 : options.start_limit);
+ }
+ else if (! allow_updates)
+ {
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: Server <%s> Already Registered!\n", server));
+ ACE_THROW (ImplementationRepository::AlreadyRegistered());
+ }
+ else
+ {
+ if (info->activator.length() > 0 && info->activator != options.activator.in())
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Registered server %s "
- "in activator %s.\n", server, options.activator.in()));
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: Server <%s> Already Registered with Activator <%s>\n",
+ server, info->activator.c_str()));
+ ACE_THROW (ImplementationRepository::AlreadyRegistered());
}
- int bind_return = this->server_map_.bind (server, options.activator.in());
- ACE_UNUSED_ARG (bind_return);
- ACE_ASSERT(bind_return == 0);
+
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Updating server <%s>.\n", server));
+
+ info->activator = options.activator.in();
+ info->cmdline = options.command_line.in();
+ info->env_vars = options.environment;
+ info->dir = options.working_directory.in();
+ info->activation_mode = options.activation;
+ info->start_limit = options.start_limit < 1 ? 1 : options.start_limit;
+ info->start_count = 0;
+ int err = this->repository_.update_server(*info);
+ ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
+ }
+
+ if (this->debug_ > 1)
+ {
+ // Note : The info var may be null
+ ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::register_server_i:\nServer: %s\n"
+ "Activator: %s\n"
+ "Command Line: %s\n"
+ "Working Directory: %s\n"
+ "Activation: %s\n"
+ "Start Limit: %d\n"
+ "\n",
+ server,
+ options.activator.in(),
+ options.command_line.in (),
+ options.working_directory.in (),
+ ImR_Utils::activationModeToString(options.activation).c_str(),
+ options.start_limit
+ ));
+
+ for (CORBA::ULong i = 0; i < options.environment.length(); ++i)
+ ACE_DEBUG ((LM_DEBUG, "Environment variable %s=%s\n",
+ options.environment[i].name.in(),
+ options.environment[i].value.in()));
+ }
}
-// Updates the startup information about the server <server>.
-// Can not currently be used to move a server from one activator to another,
-// this simply updates the registered info.
void
-ImR_Locator_i::reregister_server (
- const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL )
- ACE_THROW_SPEC ((CORBA::SystemException,ImplementationRepository::NotFound))
+ImR_Locator_i::remove_server (const char* name ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
{
- ACE_CString activator;
- if (this->server_map_.find(server, activator) != 0)
+ ACE_ASSERT(name != 0);
+ if (this->read_only_)
{
- ACE_THROW(ImplementationRepository::NotFound());
- }
- if (activator.compare(options.activator.in()) != 0)
- {
- ACE_THROW(ImplementationRepository::NotFound());
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: Can't remove server <%s> due to locked database.\n", name));
+ ACE_THROW (CORBA::NO_PERMISSION (
+ CORBA::SystemException::_tao_minor_code (TAO_IMPLREPO_MINOR_CODE, 0),
+ CORBA::COMPLETED_NO));
}
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator.c_str() ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ // Note : This will be safe, because any Server_Info_Ptr objects will still
+ // be valid, and the actual Server_Info will be destroyed when the last
+ // one goes out of scope.
- if (OPTIONS::instance()->debug() >= 1)
+ Server_Info_Ptr info = this->repository_.get_server(name);
+ if (! info.null())
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Reregister server %s "
- "in activator %s.\n", server, activator.c_str()));
+ server_status_changed(*info);
+
+ if (this->repository_.remove_server (name) == 0)
+ {
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Removed Server <%s>.\n", name));
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: Can't remove unknown server <%s>.\n", name));
+ ACE_THROW (ImplementationRepository::NotFound ());
}
- admin->reregister_server (server, options ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
}
-// Removes the server <server> from the repository.
void
-ImR_Locator_i::remove_server (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+ImR_Locator_i::shutdown_server (const char* server ACE_ENV_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
{
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Remove server %s.\n", server));
- }
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
+ ACE_ASSERT(server != 0);
+
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Shutting down server <%s>.\n", server));
+
+ Server_Info_Ptr info = this->repository_.get_server(server);
+ if (info.null())
{
- this->remove_server_in_activator(server, activator.c_str());
- }
- else
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: shutdown_server() Cannot find info for server <%s>\n", server));
+ ACE_THROW(ImplementationRepository::NotFound());
+ }
+
+ connect_server(*info);
+
+ if (CORBA::is_nil(info->server.in()))
{
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for server:%s\n", server));
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: shutdown_server() Cannot connect to server <%s>\n", server));
ACE_THROW(ImplementationRepository::NotFound());
}
-}
-// Removes the server <server> from the repository.
-void
-ImR_Locator_i::remove_server_in_activator (const char *server,
- const char *activator
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound
- ))
-{
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Remove server %s "
- "from activator %s.\n", server, activator));
- }
- ACE_CString registered_activator;
- if (this->server_map_.find(server, registered_activator) != 0)
+ ACE_TRY_NEW_ENV
{
- ACE_THROW(ImplementationRepository::NotFound()); // todo : Add to signature in pidl and others
+ ImplementationRepository::ServerObject_var server = info->server;
+ server->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
- if (registered_activator.compare(activator) != 0)
+ ACE_CATCHANY
{
- ACE_ASSERT(false);
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Exception ignored while shutting down <%s>\n", server));
}
+ ACE_ENDTRY;
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- admin->remove_server (server ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- int err = this->server_map_.unbind(server);
- ACE_UNUSED_ARG (err);
+ info->reset();
+
+ int err = this->repository_.update_server(*info);
ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
+
+ server_status_changed(*info);
}
-// Attempts to gracefully shut down the server, at all activators that
-// it is running.
void
-ImR_Locator_i::shutdown_server (const char *server ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+ImR_Locator_i::server_is_running (const char* name,
+ const char* partial_ior,
+ ImplementationRepository::ServerObject_ptr server
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound))
{
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Shutdown server %s.\n", server));
- }
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
+ ACE_ASSERT(name != 0);
+ ACE_ASSERT(partial_ior != 0);
+ ACE_ASSERT(! CORBA::is_nil(server));
+
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Server %s is running at %s.\n", name, partial_ior));
+
+ set_timeout_policy(server, DEFAULT_SERVER_TIMEOUT);
+
+ CORBA::String_var ior = orb_->object_to_string (server ACE_ENV_ARG_PARAMETER);
+
+ Server_Info_Ptr info = this->repository_.get_server(name);
+ if (info.null())
{
- this->shutdown_server_in_activator(server, activator.c_str());
- }
- else
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Auto adding NORMAL server:<%s>\n", name));
+
+ ImplementationRepository::EnvironmentList env(0);
+ this->repository_.add_server (name,
+ "", // no activator
+ "", // no cmdline
+ ImplementationRepository::EnvironmentList(),
+ "", // no working dir
+ ImplementationRepository::NORMAL,
+ DEFAULT_START_LIMIT,
+ partial_ior,
+ ior.in(),
+ server
+ );
+ }
+ else
{
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for server:%s\n", server));
- ACE_THROW(ImplementationRepository::NotFound());
+ info->ior = ior.in();
+ info->partial_ior = partial_ior;
+ info->server = ImplementationRepository::ServerObject::_duplicate(server);
+
+ int err = this->repository_.update_server(*info);
+ ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
+
+ // Temporarily disable this optimization since it only works on Windows, due to root poa lock
+ // being held in the server, preventing us from calling back to the server from within this call.
+ //is_alive(*info); // We don't really care if it is or not, we just want to cache the result.
+
+#if !defined (ACE_HAS_RECURSIVE_MUTEXES)
+ // Schedule a timer to call server_status_changed() on this
+ // ImR_Locator_i. Due to locking problems within the POA, we need to
+ // do this after we return from this method. Status_Changed_Timer is
+ // allocated on the heap here, but is deleted within the
+ // handle_timeout() call.
+ Status_Changed_Timer* sct;
+ ACE_NEW_THROW_EX (sct,
+ Status_Changed_Timer (this, info),
+ CORBA::NO_MEMORY ());
+
+ ACE_Time_Value delay(0, 10000);
+ this->orb_->orb_core()->reactor()->schedule_timer (sct, 0, delay);
+#else
+ server_status_changed(*info);
+#endif /* ACE_HAS_RECURSIVE_MUTEXES */
}
}
-// Attempts to gracefully shut down the server,
void
-ImR_Locator_i::shutdown_server_in_activator (
- const char *server,
- const char *activator
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- if (OPTIONS::instance()->debug() >= 1)
+ImR_Locator_i::server_is_shutting_down (const char* server ACE_ENV_ARG_DECL_NOT_USED)
+ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+{
+ ACE_ASSERT(server != 0);
+ Server_Info_Ptr info = this->repository_.get_server(server);
+ if (info.null())
+ {
+ if (this->debug_ > 1)
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Shutdown server %s "
- "in activator %s.\n", server, activator));
+ ACE_DEBUG((LM_DEBUG,
+ "ImR_Locator_i::server_is_shutting_down: Unknown server:%s\n", server));
}
- admin->shutdown_server (server ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
+ return;
+ }
-void
-ImR_Locator_i::server_is_running (const char *,
- const char *,
- ImplementationRepository::ServerObject_ptr
- ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound))
-{
- ACE_ERROR((LM_ERROR, "ImR_Locator_i::server_is_running() "
- "This operation is only for the ImR_Activator.\n"));
- ACE_ASSERT(false);
-}
+ if (this->debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: server <%s> is shutting down.\n", server));
-void
-ImR_Locator_i::server_is_running_in_activator (const char* server,
- const char* activator,
- const char* partial_ior,
- ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- // todo : At this point we could automatically register the server, so that
- // manually started servers don't require tao_imr add first.
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Server %s "
- "running in activator %s.\n", server, activator));
- }
- admin->server_is_running (server, partial_ior, server_object ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
+ info->reset();
-void
-ImR_Locator_i::server_is_shutting_down (const char* ACE_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- ACE_ERROR((LM_ERROR, "ImR_Locator_i::server_is_shutting_down()"
- " This operation is only for the ImR_Activator.\n"));
- ACE_ASSERT(false);
-}
+ int err = this->repository_.update_server(*info);
+ ACE_ASSERT(err == 0);
+ ACE_UNUSED_ARG(err);
-// What the server should call before it shuts down.
-void
-ImR_Locator_i::server_is_shutting_down_in_activator (
- const char *server,
- const char *activator
- ACE_ENV_ARG_DECL
- ) ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Server %s "
- "shutting down in activator %s.\n", server, activator));
- }
- admin->server_is_shutting_down (server ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ server_status_changed(*info);
}
-// Find
void
-ImR_Locator_i::find (
- const char * server,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+ImR_Locator_i::find (const char* server,
+ ImplementationRepository::ServerInformation_out imr_info
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
{
- ACE_CString activator;
- if (this->server_map_.find(server, activator) == 0)
- {
- this->find_in_activator(server, activator.c_str(), info);
- }
- else
+ ACE_ASSERT(server != 0);
+ ACE_NEW_THROW_EX (imr_info, ImplementationRepository::ServerInformation, CORBA::NO_MEMORY ());
+
+ Server_Info_Ptr info = this->repository_.get_server(server);
+ if (info.null())
{
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for server:%s\n", server));
+ ACE_ERROR ((LM_ERROR,
+ "ImR Locator: Cannot find info for server <%s>\n",
+ server));
ACE_THROW(ImplementationRepository::NotFound());
}
-}
-void
-ImR_Locator_i::find_in_activator (
- const char* server,
- const char* activator,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
-{
- ImplementationRepository::Administration_var admin =
- this->choose_activator (activator ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- if (OPTIONS::instance()->debug() >= 1)
- {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Find server %s "
- "in activator %s.\n", server, activator));
- }
- admin->find(server, info ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ imr_info = info->createImRServerInfo(ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ if (this->debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR Locator: Found server %s.\n", server));
}
-// Used to access the list of servers registered. May also return an
-// iterator which can be used to access more than <how_many> of them.
void
ImR_Locator_i::list (CORBA::ULong how_many,
ImplementationRepository::ServerInformationList_out server_list,
@@ -708,158 +891,364 @@ ImR_Locator_i::list (CORBA::ULong how_many,
ACE_ENV_ARG_DECL
) ACE_THROW_SPEC ((CORBA::SystemException))
{
- if (OPTIONS::instance()->debug() >= 1)
- {
+ if (this->debug_ > 0)
ACE_DEBUG ((LM_DEBUG, "ImR Locator: List servers.\n"));
+
+ // Initialize the out variables, so if we return early, they will
+ // not be dangling.
+ server_iterator = ImplementationRepository::ServerInformationIterator::_nil();
+ ACE_NEW_THROW_EX (server_list,
+ ImplementationRepository::ServerInformationList(0), CORBA::NO_MEMORY());
+
+ Locator_Repository::SIMap::ENTRY* entry = 0;
+ Locator_Repository::SIMap::ITERATOR it(this->repository_.servers());
+
+ // Number of servers that will go into the server_list.
+ CORBA::ULong n = this->repository_.servers().current_size();
+ if (how_many > 0 && n > how_many)
+ {
+ n = how_many;
}
- ActivatorMap::ENTRY *next_entry = 0;
- int cnt = 0;
- for (ActivatorMap::ITERATOR iterator (this->activator_map_);
- iterator.next (next_entry) != 0;
- iterator.advance ())
+ server_list->length(n);
+
+ if (this->debug_ > 1)
+ ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::list: Filling ServerList with %d servers\n", n));
+
+ for (CORBA::ULong i = 0; i < n; i++)
{
- ImplementationRepository::Administration_ptr admin = next_entry->int_id_.admin.in();
- ++cnt;
- // todo : Check to make sure activator implementation supports repeat calls correctly.
- admin->list (how_many,
- server_list,
- server_iterator
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
+ it.next(entry);
+ it.advance();
+ ACE_ASSERT(entry != 0);
+
+ Server_Info_Ptr info = entry->int_id_;
+
+ ImplementationRepository::ServerInformation_var imr_info = info->createImRServerInfo(ACE_ENV_SINGLE_ARG_PARAMETER);
+ server_list[i] = *imr_info;
}
- if (cnt <= 0)
+ if (this->repository_.servers().current_size() > n)
{
- // Temporary fix for the seg fault that occurs when the skel tries to
- // handle the unitialised sequence when this method is called and
- // no activator has been registered yet.
- // @todo A full rework of this method is needed - see bug #1543.
- server_iterator =
- ImplementationRepository::ServerInformationIterator::_nil ();
- ACE_NEW_THROW_EX (server_list,
- ImplementationRepository::ServerInformationList (0),
+ if (this->debug_ > 1)
+ ACE_DEBUG ((LM_DEBUG, "ImR_Locator_i::list: Creating ServerInformation Iterator\n"));
+
+ ImR_Iterator* imr_iter;
+
+ ACE_NEW_THROW_EX (imr_iter,
+ ImR_Iterator (n, this->repository_, this->imr_poa_.in()),
CORBA::NO_MEMORY ());
+
+ PortableServer::ServantBase_var tmp(imr_iter);
+
+ ACE_TRY
+ {
+ PortableServer::ObjectId_var id =
+ this->imr_poa_->activate_object (imr_iter ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ CORBA::Object_var obj = this->imr_poa_->id_to_reference(id.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ server_iterator = ImplementationRepository::
+ ServerInformationIterator::_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
}
}
-ImplementationRepository::Administration_ptr
-ImR_Locator_i::choose_activator (const char *activator ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ImplementationRepository::NotFound, CORBA::SystemException))
+Activator_Info_Ptr
+ImR_Locator_i::get_activator (const ACE_CString& aname)
{
- ActivatorInfo info;
- if (this->activator_map_.find (activator, info) != 0)
+ Activator_Info_Ptr info = this->repository_.get_activator (aname);
+ if (! info.null())
+ {
+ this->connect_activator (*info);
+ }
+ return info;
+}
+
+void
+ImR_Locator_i::connect_activator (Activator_Info& info)
+{
+ if (! CORBA::is_nil(info.activator.in()) || info.ior.length() == 0)
+ return;
+
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var obj =
+ this->orb_->string_to_object (info.ior.c_str()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil(obj.in()))
{
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
+ info.reset();
+ return;
}
- return info.admin._retn();
+
+ info.activator =
+ ImplementationRepository::Activator::_narrow (obj.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil(info.activator.in()))
+ {
+ info.reset();
+ return;
+ }
+
+ set_timeout_policy(info.activator.in(), startup_timeout_);
+
+ if (debug_ > 0)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: reconnected to activator <%s>\n", info.name.c_str()));
+ }
+ ACE_CATCHANY
+ {
+ info.reset();
+ }
+ ACE_ENDTRY;
}
-char *
-ImR_Locator_i::find_ior (const char *object_name ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+void
+ImR_Locator_i::auto_start_servers(ACE_ENV_SINGLE_ARG_DECL)
{
- if (OPTIONS::instance()->debug() >= 1)
+ if (this->repository_.servers().current_size() == 0)
+ return;
+
+ Locator_Repository::SIMap::ENTRY* server_entry;
+ Locator_Repository::SIMap::ITERATOR server_iter(this->repository_.servers());
+
+ // For each of the entries in the Locator_Repository, get the startup
+ // information and activate the servers, if they are not already
+ // running.
+ for (;server_iter.next(server_entry) != 0; server_iter.advance())
+ {
+ Server_Info_Ptr info = server_entry->int_id_;
+ ACE_ASSERT(! info.null());
+
+ ACE_TRY
+ {
+ if (info->activation_mode == ImplementationRepository::AUTO_START
+ && info->cmdline.length() > 0)
+ {
+ this->activate_server_i (*info, true ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCHANY
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Find ior %s.\n", object_name));
+ if (this->debug_ > 1)
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ "ImR_Locator_i::run: AUTO_START Could not activate <%s>\n",
+ server_entry->ext_id_.c_str ()));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "AUTO_START");
+ }
+ // Ignore exceptions
}
+ ACE_ENDTRY;
+ ACE_CHECK;
+ }
+}
+
+void
+ImR_Locator_i::connect_server(Server_Info& info)
+{
+ if (! CORBA::is_nil(info.server.in()) || info.ior.length() == 0)
+ return;
+
+ ACE_TRY_NEW_ENV
+ {
+ CORBA::Object_var obj = orb_->string_to_object (info.ior.c_str() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- ActivatorMap::ENTRY *next_entry = 0;
-
- for (ActivatorMap::ITERATOR iterator (this->activator_map_);
- iterator.next (next_entry) != 0;
- iterator.advance ())
+ if (CORBA::is_nil(obj.in()))
{
- ImplementationRepository::Administration_ptr admin = next_entry->int_id_.admin.in();
- ACE_TRY
- {
- char* ior = admin->find_ior (object_name ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ info.reset();
+ return;
+ }
- return ior;
- }
- ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_UNUSED_ARG(ex);
- }
- ACE_ENDTRY;
+ info.server =
+ ImplementationRepository::ServerObject::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (CORBA::is_nil(info.server.in()))
+ {
+ info.reset();
+ return;
}
-
- ACE_ERROR ((LM_ERROR, "ImR Locator: Couldn't find an activator for object:%s\n", object_name));
- ACE_THROW_RETURN (ImplementationRepository::NotFound (), 0);
- return 0;
+
+ set_timeout_policy(info.server.in(), DEFAULT_SERVER_TIMEOUT);
+
+ if (debug_)
+ ACE_DEBUG((LM_DEBUG, "ImR Locator: Reconnected server <%s>\n", info.name.c_str()));
+ }
+ ACE_CATCHANY
+ {
+ info.reset();
+ }
+ ACE_ENDTRY;
+}
+
+bool
+ImR_Locator_i::is_alive(Server_Info& info)
+{
+ for (int i = 0; i < IS_ALIVE_RETRY_COUNT; ++i)
+ {
+ int status = this->is_alive_i(info);
+ if (status == 0)
+ return false;
+ if (status == 1)
+ return true;
+
+ // This is evil, but there's not much else we can do for now. We should never
+ // reach this code once the ImR Servers are fixed so that they don't lie about
+ // server_is_running. Currently, they send this notification during poa creation.
+ // We have to run the orb, because the very thing that may be slowing the
+ // aliveness of the servers is the fact that they're trying to register more
+ // objects with us.
+ ACE_Time_Value tv = IS_ALIVE_RETRY_INTERVAL;
+ this->orb_->run(tv);
+ }
+ if (debug_ > 0)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> is_alive() retry count exceeded. alive=false.\n", info.name.c_str()));
+ }
+ // We return true here, because the server *might* be alive, it's just not starting in a timely
+ // manner. We can't return false, because then we'll just try to start another instance, and the
+ // same thing will likely happen.
+ info.last_ping = ACE_OS::gettimeofday();
+ return true;
}
-void ImR_Locator_i::shutdown_repo (ACE_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ( (CORBA::SystemException) )
+int
+ImR_Locator_i::is_alive_i(Server_Info& info)
{
- if (OPTIONS::instance()->debug() >= 1)
+ // This is used by the ACE_TRY below when exceptions are turned off.
+ ACE_DECLARE_NEW_CORBA_ENV;
+
+ if (info.ior.length() == 0 || info.partial_ior.length() == 0)
+ {
+ if (debug_ > 1)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> not running. alive=false.\n", info.name.c_str()));
+ }
+ info.last_ping = ACE_Time_Value::zero;
+ return 0;
+ }
+
+ if (ping_interval_ == ACE_Time_Value::zero)
+ {
+ if (debug_ > 1)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Ping verification disabled. alive=true.\n", info.name.c_str()));
+ }
+ return 1;
+ }
+
+ if (ACE_OS::gettimeofday() - info.last_ping < ping_interval_)
+ {
+ if (debug_ > 1)
{
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Shutting down repository\n"));
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> within ping interval. alive=true.\n", info.name.c_str()));
}
+ return 1;
+ }
+
+ connect_server(info);
- ActivatorMap::ENTRY *next_entry = 0;
-
- for (ActivatorMap::ITERATOR iterator (this->activator_map_);
- iterator.next (next_entry) != 0;
- iterator.advance ())
+ if (CORBA::is_nil (info.server.in()))
+ {
+ if (debug_ > 1)
{
- ImplementationRepository::Administration_ptr admin_ref = next_entry->int_id_.admin.in();;
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Could not connect. alive=false.\n", info.name.c_str()));
+ }
+ return 0;
+ }
+
+ ACE_TRY
+ {
+ // Make a copy, in case the info is updated during the ping.
+ ImplementationRepository::ServerObject_var server = info.server;
+
+ // This will timeout if it takes too long
+ server->ping (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- ACE_TRY
+ if (debug_ > 1)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Ping successfull. alive=true\n", info.name.c_str()));
+ }
+ info.last_ping = ACE_OS::gettimeofday();
+ }
+ ACE_CATCH(CORBA::TRANSIENT, ex)
+ {
+ const CORBA::ULong BITS_5_THRU_12_MASK = 0x00000f80;
+ switch (ex.minor() & BITS_5_THRU_12_MASK)
+ {
+ case TAO_INVOCATION_SEND_REQUEST_MINOR_CODE:
+ {
+ if (debug_ > 1)
{
- admin_ref->shutdown_repo (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Local TRANSIENT. alive=false.\n", info.name.c_str()));
}
- ACE_CATCH (ImplementationRepository::NotFound, ex)
+ }
+ info.last_ping = ACE_Time_Value::zero;
+ return 0;
+ case TAO_POA_DISCARDING:
+ case TAO_POA_HOLDING:
+ {
+ if (debug_ > 1)
{
- ACE_UNUSED_ARG(ex);
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Remote TRANSIENT. alive=maybe.\n", info.name.c_str()));
}
- ACE_ENDTRY;
+ }
+ return -1; // We keep trying to ping, because returning 1 now, would just lead
+ // to clients getting the same exception. If we can't ping after several
+ // attempts, then we'll give up and return 1, letting the client worry about it.
+ default:
+ ACE_ERROR ((LM_ERROR,
+ "ImR_Activator_i::is_alive(): <%s> unexpected TRANSIENT minor code (%d). alive=false\n",
+ info.name.c_str(), ex.minor()));
+ info.last_ping = ACE_Time_Value::zero;
+ return 0;
+ }
+ }
+ ACE_CATCH(CORBA::TIMEOUT, ex)
+ {
+ if (debug_ > 1)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Ping timed out. alive=true.\n", info.name.c_str()));
+ }
+ return -1; // See above.
+ }
+ ACE_CATCHANY
+ {
+ if (debug_ > 1)
+ {
+ ACE_DEBUG((LM_DEBUG,
+ "ImR Locator: <%s> Ping exception. alive=false.\n"));
}
-
- // Finally shutdown the ORB.
- //
- orb_->shutdown (0) ;
+ info.last_ping = ACE_Time_Value::zero;
+ return false;
+ }
+ ACE_ENDTRY;
+ return 1;
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Hash_Map_Manager<ACE_CString, ActivatorInfo, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Manager_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator<ACE_CString, ActivatorInfo, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Entry<ACE_CString, ActivatorInfo>;
-template class ACE_Hash_Map_Reverse_Iterator<ACE_CString, ActivatorInfo, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-
-template class ACE_Hash_Map_Manager<ACE_CString, ACE_CString, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator<ACE_CString, ACE_CString, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Entry<ACE_CString, ACE_CString>;
-template class ACE_Hash_Map_Reverse_Iterator<ACE_CString, ACE_CString, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Manager<ACE_CString,ActivatorInfo,ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator<ACE_CString,ActivatorInfo,ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, ActivatorInfo>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<ACE_CString, ActivatorInfo, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ActivatorInfo, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-
-#pragma instantiate ACE_Hash_Map_Manager<ACE_CString,ACE_CString,ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator<ACE_CString,ACE_CString,ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, ACE_CString>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator<ACE_CString, ACE_CString, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_CString, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
index 5f7ea07d604..61eeb883c33 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
@@ -4,212 +4,178 @@
#define IMR_LOCATOR_I_H
#include /**/ "ace/pre.h"
-#include "tao/PortableServer/ImR_LocatorS.h"
-#include "tao/IORTable/IORTable.h"
+#include "locator_export.h"
-#include "ace/Hash_Map_Manager.h"
-#include "ace/Null_Mutex.h"
-#include "ace/SString.h"
+#include "Adapter_Activator.h"
+#include "Forwarder.h"
+#include "INS_Locator.h"
+#include "Locator_Options.h"
+#include "Locator_Repository.h"
-class ACE_Reactor;
-
-struct ActivatorInfo {
- CORBA::Long token; // A unique token is assigned at registration
- ImplementationRepository::Administration_var admin;
-};
+#include "orbsvcs/orbsvcs/IOR_Multicast.h"
-// Look up activator information by activator name.
-typedef ACE_Hash_Map_Manager_Ex <ACE_CString,
- ActivatorInfo,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> ActivatorMap;
+#include "ImR_LocatorS.h"
-// Look up activator name by server name. (where the server name is the name of a poa
-// registered in the call to server_is_running().)
-typedef ACE_Hash_Map_Manager_Ex <ACE_CString,
- ACE_CString,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> ServerMap;
-
-class ImR_Adapter_Activator;
-class ImR_Forwarder;
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+class ACE_Reactor;
// Gets a request from a client and depending on the POA name,
// requests an activator to take care of activating the
// corresponding server and raises a forward exception to the
// client pointing to the correct server.
-class ImR_Locator_i : public virtual POA_ImplementationRepository::Locator
+class Locator_Export ImR_Locator_i : public virtual POA_ImplementationRepository::Locator
{
+public:
+ ImR_Locator_i();
- public:
+ /// Initialize the service, creating its own orb, poa, etc.
+ int init (Options& opts ACE_ENV_ARG_DECL);
- ImR_Locator_i ();
+ /// Same as above, but use the given orb
+ int init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL);
- // Initialize and gets the ImR_Locator running and ready to accept
- // requests.
- int init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ /// Cleans up any state created by init*.
+ int fini (ACE_ENV_SINGLE_ARG_DECL);
- // Register an activator with the locator.
- // Returns a token that must be used when unregistering.
- virtual CORBA::Long register_activator (const char *activator,
- ImplementationRepository::Administration_ptr admin,
- const ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ /// Run using the orb reference created during init()
+ int run (ACE_ENV_SINGLE_ARG_DECL);
+
+ // Note : See the IDL for descriptions of the operations.
+
+ // Activator->Locator
- // UnRegister an activator with the locator.
- virtual void unregister_activator (const char *activator,
- CORBA::Long token ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual CORBA::Long register_activator (const char* name,
+ ImplementationRepository::Activator_ptr admin
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void unregister_activator (const char* name,
+ CORBA::Long token ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
- // Starts up the server <server> if not already running.
- virtual void activate_server (const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate));
+ // tao_imr->Locator
- // Starts up the server <server> if not already running.
- virtual void activate_server_in_activator (const char *server,
- const char *activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual void activate_server (const char * name
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate));
-
- // Adds the server to the repository and registers the startup information
- // about the server <server>.
- virtual void register_server (const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::AlreadyRegistered,
- ImplementationRepository::NotFound));
-
- // Updates the startup information about the server <server>.
- virtual void reregister_server (const char *server,
- const ImplementationRepository::StartupOptions &options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException,ImplementationRepository::NotFound ));
-
- // Removes the server <server> from the repository.
- virtual void remove_server (const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // Removes the server <server> from the repository.
- virtual void remove_server_in_activator (const char *server,
- const char *activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate));
+ virtual void register_server (const char * name,
+ const ImplementationRepository::StartupOptions &options
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::NotFound));
+ virtual void reregister_server (const char * name,
+ const ImplementationRepository::StartupOptions &options
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::NotFound ));
+ virtual void remove_server (const char * name
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // Attempts to gracefully shut down the server,
- virtual void shutdown_server (const char *server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual void shutdown_server (const char * name
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // Attempts to gracefully shut down the server <server> in activator
- // <activator>
- virtual void shutdown_server_in_activator (const char *server,
- const char *activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual void find (const char * name,
+ ImplementationRepository::ServerInformation_out info
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // Shuts down the repository.
- virtual void shutdown_repo (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ virtual void list (
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ ImplementationRepository::ServerInformationIterator_out server_iterator
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
- // Invoked by the server to update transient information such as current
- // activator of the <server> and its ServerObject.
- virtual void server_is_running_in_activator (const char *server,
- const char* activator,
- const char* partial_ior,
- ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+ // Server->Locator
- // This version should only be used by the activator.
- virtual void server_is_running (const char* server,
- const char* partial_ior,
- ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual void server_is_running (const char* name,
+ const char* partial_ior,
+ ImplementationRepository::ServerObject_ptr server_object
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
-
- // Only used by activator.
- virtual void server_is_shutting_down (const char *server ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ virtual void server_is_shutting_down (const char * name ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
- // What the server <server> should call before it shuts down from
- // activator <activator>
- virtual void server_is_shutting_down_in_activator (const char *server,
- const char *activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+ // Used by the INS_Locator to start a sever given an object name
+ char* activate_server_by_object (const char* object_name ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate));
- /// IOR_LookupTable_Callback method helper. Will return an IOR
- char *find_ior (const char* object_name ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+ char* activate_server_by_name (const char * name, bool manual_start ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate));
- virtual void find (const char *server,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+ void server_status_changed(Server_Info& info);
- // Returns the startup information for a server
- virtual void find_in_activator (const char *server,
- const char* activator,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+private:
- // Used to access the list of servers registered. May also return an
- // iterator which can be used to access more than <how_many> of them.
- virtual void list (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((CORBA::SystemException));
+ char* activate_server_i (Server_Info& info, bool manual_start ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate));
+
+ void start_server(Server_Info& info, bool manual_start ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException,
+ ImplementationRepository::NotFound,
+ ImplementationRepository::CannotActivate));
- // Starts up the server <server> on one or more activators.
- // Returns a partial ior for the server that is missing only the ObjectKey.
- char *activate_server_with_startup (const char *server,
- int check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ void register_server_i (const char * name,
+ const ImplementationRepository::StartupOptions &options,
+ bool allow_updates
+ ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
- ImplementationRepository::NotFound,
- ImplementationRepository::CannotActivate));
- private:
+ ImplementationRepository::AlreadyRegistered,
+ ImplementationRepository::NotFound ));
+
+ bool is_alive(Server_Info& info);
+ int is_alive_i(Server_Info& info);
// Set up the multicast related if 'm' is passed on the command
// line.
int setup_multicast (ACE_Reactor *reactor, const char *ior);
- // As the name suggests, this methods helps choose the activator
- // based on the activator passed.
- ImplementationRepository::Administration_ptr
- choose_activator(const char *activator ACE_ENV_ARG_DECL_WITH_DEFAULTS)
- ACE_THROW_SPEC ((ImplementationRepository::NotFound, CORBA::SystemException));
+ void unregister_activator_i(const char* activator);
+
+ Activator_Info_Ptr get_activator (const ACE_CString& name);
+ void connect_activator (Activator_Info& info);
+
+ void auto_start_servers(ACE_ENV_SINGLE_ARG_DECL);
+
+ void set_timeout_policy(CORBA::Object_ptr obj, const ACE_Time_Value& to);
- // Table that maintains the activator to Object Reference of the
- // Activator running in that activator.
- ActivatorMap activator_map_;
- ServerMap server_map_;
+ void connect_server(Server_Info& info);
+
+private:
// The class that handles the forwarding.
- ImR_Forwarder *forwarder_impl_;
+ ImR_Forwarder forwarder_;
// Used for the forwarding of any type of POA.
- ImR_Adapter_Activator *activator_;
+ ImR_Adapter adapter_;
/// The locator interface for the IORTable
- IORTable::Locator_var ins_locator_;
+ INS_Locator ins_locator_;
+
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+ PortableServer::POA_var imr_poa_;
+
+ int debug_;
+
+ TAO_IOR_Multicast ior_multicast_;
+
+ Locator_Repository repository_;
- // The ORB.
- CORBA::ORB_var orb_ ;
+ bool read_only_;
+ ACE_Time_Value startup_timeout_;
+ ACE_Time_Value ping_interval_;
};
#include /**/ "ace/post.h"
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
index 39f5d0f11fb..c128b5b09ea 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
+++ b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc
@@ -1,41 +1,123 @@
-// $Id$
-project(ImR_Locator) : orbsvcsexe, core, acexml, minimum_corba, svc_utils, iortable, strategies {
- exename = ImplRepo_Service
+project(ImR_Activator_IDL) : orbsvcslib, portableserver {
+ sharedname = TAO_ImR_Activator_IDL
+ dynamicflags = ACTIVATOR_IDL_BUILD_DLL
+ idlflags += -GH -Wb,export_macro=ActivatorIDL_Export -Wb,export_include=activator_idl_export.h
+ idl_files {
+ ImR_Activator.idl
+ }
+ source_files {
+ ImR_ActivatorS.cpp
+ ImR_ActivatorC.cpp
+ }
+ header_files {
+ activator_idl_export.h
+ }
+}
+
+project(ImR_Locator_IDL) : orbsvcslib, portableserver {
+ sharedname = TAO_ImR_Locator_IDL
+ after += ImR_Activator_IDL
+ libs += TAO_ImR_Activator_IDL
+ dynamicflags = LOCATOR_IDL_BUILD_DLL
+ idlflags += -Wb,export_macro=LocatorIDL_Export -Wb,export_include=locator_idl_export.h
+ idl_files {
+ ImR_Locator.idl
+ }
+ source_files {
+ ImR_LocatorS.cpp
+ ImR_LocatorC.cpp
+ }
+ header_files {
+ locator_idl_export.h
+ }
+}
+
+project(ImR_Activator) : orbsvcslib, core, acexml, minimum_corba, portableserver {
+ sharedname = TAO_ImR_Activator
+ dynamicflags = ACTIVATOR_BUILD_DLL
+ after += ImR_Activator_IDL ImR_Locator_IDL
+ libs += TAO_ImR_Activator_IDL TAO_ImR_Locator_IDL
Source_Files {
+ ImR_Activator_i.cpp
+ Activator_Options.cpp
+ Activator_Loader.cpp
+ }
+ header_files {
+ activator_export.h
+ }
+ idl_files {
+ }
+}
+
+project(ImR_Locator) : orbsvcslib, core, minimum_corba, iortable, portableserver, messaging, svc_utils, acexml {
+ sharedname = TAO_ImR_Locator
+ dynamicflags = LOCATOR_BUILD_DLL
+ after += ImR_Locator_IDL ImR_Activator_IDL
+ libs += TAO_ImR_Locator_IDL TAO_ImR_Activator_IDL
+ Source_Files {
+ Activator_Info.cpp
Adapter_Activator.cpp
Forwarder.cpp
- ImR_Locator.cpp
ImR_Locator_i.cpp
- Locator_NT_Service.cpp
- Locator_Options.cpp
INS_Locator.cpp
+ Locator_XMLHandler.cpp
+ Locator_Loader.cpp
+ Locator_Options.cpp
+ Iterator.cpp
+ Server_Info.cpp
+ Locator_Repository.cpp
+ }
+ header_files {
+ utils.h
+ locator_export.h
+ }
+ idl_files {
}
}
+project(ImR_Locator_Service) : orbsvcsexe, core, minimum_corba, iortable, messaging, acexml ,svc_utils {
+ exename = ImplRepo_Service
+ after += ImR_Locator ImR_Activator_IDL ImR_Locator_IDL
+ libs += TAO_ImR_Locator TAO_ImR_Activator_IDL TAO_ImR_Locator_IDL
+
+ // Static Debug builds on Windows will not link properly due
+ // to a linker bug. It complains that the ACEXML library duplicates
+ // a couple of template instantiations from the TAO_ImR_Locator library.
+ // This option works around that bug. Unfortunately, there is no way to
+ // narrow the options down to only static debug builds.
+ specific(em3, nmake, vc6, vc71) {
+ link_options += /FORCE:MULTIPLE
+ }
-project(ImR_Activator) : orbsvcsexe, core, acexml, minimum_corba, svc_utils, iortable, strategies {
+ Source_Files {
+ ImR_Locator.cpp
+ Locator_NT_Service.cpp
+ }
+ idl_files {
+ }
+}
+
+
+project(ImR_Activator_Service) : orbsvcsexe, core, acexml, minimum_corba, svc_utils {
exename = ImR_Activator
+ after += ImR_Activator ImR_Activator_IDL ImR_Locator_IDL
+ libs += TAO_ImR_Activator TAO_ImR_Activator_IDL TAO_ImR_Locator_IDL
Source_Files {
ImR_Activator.cpp
- ImR_Activator_i.cpp
- Iterator.cpp
- Activator_Options.cpp
- Server_Info.cpp
- Server_Repository.cpp
- Repository_Configuration.cpp
- XML_ContentHandler.cpp
Activator_NT_Service.cpp
}
+ idl_files {
+ }
}
-project(tao_imr) : orbsvcsexe, core, acexml, minimum_corba, svc_utils, iortable {
+project(tao_imr) : orbsvcsexe, core, minimum_corba, portableserver {
exename = tao_imr
install = $(ACE_ROOT)/bin
Source_Files {
tao_imr.cpp
tao_imr_i.cpp
}
+ idl_files {
+ }
}
-
-
diff --git a/TAO/orbsvcs/ImplRepo_Service/Iterator.cpp b/TAO/orbsvcs/ImplRepo_Service/Iterator.cpp
index 59fcb5b6a10..4afae0cfc76 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Iterator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Iterator.cpp
@@ -12,24 +12,14 @@
#include "Iterator.h"
-ImR_Iterator::ImR_Iterator (Server_Repository::HASH_IMR_MAP::ITERATOR *iterator,
- PortableServer::POA_ptr poa)
- : iterator_ (iterator),
- poa_ (poa)
+ImR_Iterator::ImR_Iterator (CORBA::ULong n, Locator_Repository& repo, PortableServer::POA_ptr poa)
+ : repo_(repo)
+ , count_(n)
+ , poa_(poa)
{
- // Nothing
}
-ImR_Iterator::~ImR_Iterator ()
-{
- delete iterator_;
-}
-
-
-// Returns the next list of up to <how_many> servers. If empty, will return
-// false.
-
CORBA::Boolean
ImR_Iterator::next_n (CORBA::ULong how_many,
ImplementationRepository::ServerInformationList_out server_list
@@ -37,61 +27,65 @@ ImR_Iterator::next_n (CORBA::ULong how_many,
ACE_THROW_SPEC ((CORBA::SystemException))
{
ACE_NEW_THROW_EX (server_list,
- ImplementationRepository::ServerInformationList (0),
- CORBA::NO_MEMORY ());
-
- // If there are no more bindings...
- if (this->iterator_->done ())
- return 0; // Return false
-
- // Initially assume that iterator has the requested number of
- // bindings.
- server_list->length (how_many);
-
- Server_Repository::HASH_IMR_MAP::ENTRY *server_entry;
-
- // Iterate and populate the BindingList.
-
- for (CORBA::ULong i = 0; i < how_many; i++)
- {
- this->iterator_->next (server_entry);
-
- ACE_CString logical, server, command_line, working_directory, location, server_ior;
- ImplementationRepository::EnvironmentList environment_vars;
- ImplementationRepository::ActivationMode activation =
- ImplementationRepository::NORMAL;
-
- server_entry->int_id_->get_running_info (location, server_ior);
- server_entry->int_id_->get_startup_info (logical,
- command_line,
- environment_vars,
- working_directory,
- activation);
-
- server_list[i].logical_server = CORBA::string_dup (logical.c_str ());
- server_list[i].server = CORBA::string_dup (server_entry->ext_id_.c_str ());
- server_list[i].startup.command_line = CORBA::string_dup (command_line.c_str ());
- server_list[i].startup.environment = environment_vars;
- server_list[i].startup.working_directory = CORBA::string_dup (working_directory.c_str ());
- server_list[i].startup.activation = activation;
- server_list[i].location = CORBA::string_dup (location.c_str ());
-
- if (this->iterator_->advance () == 0)
- {
- // If no more servers left, reset length to the actual
- // number servers and get out of the loop.
- server_list->length (i + 1);
- break;
- }
- }
+ ImplementationRepository::ServerInformationList(0), CORBA::NO_MEMORY());
+
+ Locator_Repository::SIMap::ENTRY* entry = 0;
+ Locator_Repository::SIMap::ITERATOR it(this->repo_.servers());
+
+ // Number of servers that will go into the server_list.
+ CORBA::ULong n = this->repo_.servers().current_size();
+ if (n <= this->count_)
+ {
+ return 0; // We already finished.
+ }
+ else
+ {
+ n -= this->count_;
+ }
+
+ if (how_many > 0 && n > how_many)
+ {
+ n = how_many;
+ }
+
+ server_list->length(n);
+
+ CORBA::ULong i = 0;
+ for (; i < this->count_; ++i)
+ {
+ it.advance();
+ }
+
+ for (i = 0; i < n; ++i)
+ {
+ it.next(entry);
+ it.advance();
+ ACE_ASSERT(entry != 0);
+
+ Server_Info_Ptr info = entry->int_id_;
+
+ server_list[i].server = info->name.c_str();
+ server_list[i].startup.command_line = info->cmdline.c_str();
+ server_list[i].startup.environment = info->env_vars;
+ server_list[i].startup.working_directory = info->dir.c_str();
+ server_list[i].startup.activation = info->activation_mode;
+ server_list[i].startup.activator = info->activator.c_str();
+ server_list[i].startup.start_limit = info->start_limit;
+ server_list[i].partial_ior = info->partial_ior.c_str();
+ }
+
+ this->count_ += n;
+
return 1;
}
-// Destroys the iterator.
-
void
-ImR_Iterator::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+ImR_Iterator::destroy (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException))
{
+ PortableServer::ObjectId_var oid = poa_->servant_to_id(this ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ poa_->deactivate_object (oid.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/Iterator.h b/TAO/orbsvcs/ImplRepo_Service/Iterator.h
index 2acb593021e..40059bcd58f 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Iterator.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Iterator.h
@@ -14,10 +14,14 @@
#ifndef IMR_ITERATOR_H
#define IMR_ITERATOR_H
-#include "Server_Repository.h"
+#include "Locator_Repository.h"
#include "tao/PortableServer/PortableServerC.h"
#include "tao/PortableServer/ImplRepoS.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
/**
* @class ImR_Iterator
*
@@ -26,15 +30,10 @@
*/
class ImR_Iterator
: public POA_ImplementationRepository::ServerInformationIterator
+ , public PortableServer::RefCountServantBase
{
public:
- /// Constructor
- /// Ownership of iterator is transfered to this class (we'll delete it)
- ImR_Iterator (Server_Repository::HASH_IMR_MAP::ITERATOR *iterator,
- PortableServer::POA_ptr poa);
-
- /// Destructor
- ~ImR_Iterator ();
+ ImR_Iterator (CORBA::ULong n, Locator_Repository& repo, PortableServer::POA_ptr poa);
/// Returns the next list of up to <how_many> servers. If empty, will return
/// false.
@@ -45,15 +44,13 @@ public:
)
ACE_THROW_SPEC ((CORBA::SystemException));
- /// Destroys the iterator.
virtual void destroy (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
private:
- /// Our very own iterator for transversing the server repository.
- Server_Repository::HASH_IMR_MAP::ITERATOR *iterator_;
-
- PortableServer::POA_var poa_;
+ Locator_Repository& repo_;
+ CORBA::ULong count_;
+ PortableServer::POA_ptr poa_;
};
#endif /* IMR_ITERATOR_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.cpp
new file mode 100644
index 00000000000..458a8913bba
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.cpp
@@ -0,0 +1,113 @@
+// $Id$
+
+#include "Locator_Loader.h"
+#include "ace/Dynamic_Service.h"
+#include "ace/Task.h"
+
+class ImR_Locator_ORB_Runner : public ACE_Task_Base
+{
+ ImR_Locator_Loader& service_;
+public:
+ ImR_Locator_ORB_Runner(ImR_Locator_Loader& service)
+ : service_(service)
+ {
+ }
+ virtual int svc()
+ {
+ // Block until service_.fini() calls orb->destroy()
+ this->service_.run();
+ return 0;
+ }
+};
+
+ImR_Locator_Loader::ImR_Locator_Loader()
+{
+}
+
+int
+ImR_Locator_Loader::init (int argc, ACE_TCHAR *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ int err = this->opts_.init(argc, argv);
+ if (err != 0)
+ return -1;
+
+ err = this->service_.init(this->opts_ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (err != 0)
+ return -1;
+
+ // Create a thread in which to run the service
+ ACE_ASSERT(this->runner_.get() == 0);
+ this->runner_.reset(new ImR_Locator_ORB_Runner(*this));
+ this->runner_->activate();
+ }
+ ACE_CATCHANY
+ {
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+int
+ImR_Locator_Loader::fini (void)
+{
+ ACE_ASSERT(this->runner_.get() != 0);
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ int ret = this->service_.fini(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->runner_->wait();
+ this->runner_.reset(0);
+ return ret;
+ }
+ ACE_CATCHANY
+ {
+ }
+ ACE_ENDTRY;
+ return -1;
+}
+
+CORBA::Object_ptr
+ImR_Locator_Loader::create_object (CORBA::ORB_ptr,
+ int,
+ ACE_TCHAR**
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ ACE_THROW_RETURN(CORBA::NO_IMPLEMENT(), CORBA::Object::_nil());
+}
+
+int
+ImR_Locator_Loader::run(void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ return this->service_.run(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHALL
+ {
+ ACE_ERROR((LM_ERROR, "Exception in ImR_Locator_ORB_Runner()\n"));
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+
+ACE_FACTORY_DEFINE (Locator, ImR_Locator_Loader)
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Dynamic_Service<ImR_Locator_Loader>;
+template class ACE_Auto_Ptr<ImR_Locator_ORB_Runner>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Dynamic_Service<ImR_Locator_Loader>
+#pragma instantiate ACE_Auto_Ptr<ImR_Locator_ORB_Runner>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h
new file mode 100644
index 00000000000..dc44718b2ba
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Loader.h
@@ -0,0 +1,46 @@
+// $Id$
+#ifndef TAO_IMR_LOCATOR_LOADER_H
+#define TAO_IMR_LOCATOR_LOADER_H
+
+#include "ImR_Locator_i.h"
+
+#include "tao/Object_Loader.h"
+
+#include "ace/Auto_Ptr.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class ImR_Locator_ORB_Runner;
+
+class Locator_Export ImR_Locator_Loader : public TAO_Object_Loader
+{
+public:
+ ImR_Locator_Loader();
+
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ virtual int fini (void);
+
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ int argc,
+ ACE_TCHAR *argv[]
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ // Unlike other service objects, we have our own orb.
+ int run(void);
+
+private:
+ ImR_Locator_i service_;
+ Options opts_;
+ ACE_Auto_Ptr<ImR_Locator_ORB_Runner> runner_;
+private:
+ ACE_UNIMPLEMENTED_FUNC (ImR_Locator_Loader (const ImR_Locator_Loader &))
+ ACE_UNIMPLEMENTED_FUNC (ImR_Locator_Loader &operator = (const ImR_Locator_Loader &))
+};
+
+ACE_FACTORY_DECLARE (Locator, ImR_Locator_Loader)
+
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp
index 4fb3d110445..23ffa674a22 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.cpp
@@ -16,9 +16,10 @@
#if defined (ACE_WIN32)
#include "ImR_Locator_i.h"
+#include "Locator_Options.h"
#include "tao/ORB_Core.h"
-//#include "tao/corba.h"
+#include "tao/corba.h"
#include "ace/Reactor.h"
/**
@@ -59,19 +60,39 @@ int
Locator_NT_Service::svc (void)
{
ImR_Locator_i server;
+ Options opts;
+
+ if (opts.init_from_registry() != 0)
+ {
+ report_status (SERVICE_STOPPED);
+ return -1;
+ }
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
- report_status (SERVICE_RUNNING);
- int status = server.init (ACE_ENV_SINGLE_ARG_PARAMETER);
+ int status = server.init (opts ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
- report_status (SERVICE_STOPPED);
- if (status != -1)
+ if (status == -1)
+ {
+ report_status (SERVICE_STOPPED);
+ return -1;
+ }
+ else
{
- return 0;
+ report_status (SERVICE_RUNNING);
+ server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ status = server.fini (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ report_status (SERVICE_STOPPED);
+
}
+ if (status != -1)
+ return 0;
}
ACE_CATCH (CORBA::SystemException, sysex)
{
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h
index 20ba4866584..5e046236ae2 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_NT_Service.h
@@ -7,8 +7,8 @@
*
* @author Darrell Brunsch <brunsch@cs.wustl.edu>
* @author Jeff Parsons <parsons@cs.wustl.edu>
- * @author John Tucker <jtucker@infoglide.com>
- * @author Mike Vitalo <mvitalo@infoglide.com>
+ * @author John Tucker <jtucker@infoglide.com>
+ * @author Mike Vitalo <mvitalo@infoglide.com>
*/
//=============================================================================
@@ -19,10 +19,10 @@
#if defined (ACE_WIN32)
-#include "tao/orbconf.h"
-
#include "ace/NT_Service.h"
#include "ace/Singleton.h"
+#include "ace/Synch.h"
+#include "tao/orbconf.h"
static const char * IMR_LOCATOR_SERVICE_NAME = "TAOIMRLocator";
static const char * IMR_LOCATOR_DISPLAY_NAME = "TAO Implementation Repository Locator";
@@ -53,8 +53,10 @@ private:
friend class ACE_Singleton<Locator_NT_Service, MUTEX>;
};
-typedef ACE_Singleton<Locator_NT_Service, Locator_NT_Service::MUTEX> SERVICE;
+typedef ACE_Singleton<Locator_NT_Service, ACE_Mutex> SERVICE;
#endif /* ACE_WIN32 */
#endif /* Locator_NT_Service_H */
+
+
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
index 70ea00c9586..c7a404dce92 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
@@ -9,12 +9,7 @@
//=============================================================================
#include "Locator_Options.h"
-#include "Locator_NT_Service.h"
-#include "tao/Strategies/advanced_resource.h"
#include "ace/Arg_Shifter.h"
-#include "ace/ARGV.h"
-#include "ace/OS_NS_strings.h"
-#include "ace/Mutex.h"
ACE_RCSID (ImplRepo_Service,
Options,
@@ -28,25 +23,19 @@ static const ACE_TCHAR *SERVICE_REG_PATH =
ACE_TEXT ("SYSTEM\\CurrentControlSet\\Services\\TAOIMRLocator\\Parameters");
#endif /* ACE_WIN32 */
-/**
- * Default Constructor. Assigns default values to all the member variables.
- */
+static const int DEFAULT_PING_INTERVAL = 10; // seconds
+
Options::Options ()
- : debug_ (1)
- , multicast_ (false)
- , service_ (false)
- , service_command_(SC_NONE)
+: repo_mode_ (REPO_NONE)
+, debug_ (1)
+, multicast_ (false)
+, service_ (false)
+, ping_interval_(DEFAULT_PING_INTERVAL)
+, readonly_ (false)
+, service_command_(SC_NONE)
{
}
-/**
- * parse_args uses an ACE_Arg_Shifter to grab all the options that are
- * specific to the ImR.
- *
- * @retval 0 Success
- * @retval -1 Error parsing args
- * @retval 1 Success but we should exit.
- */
int
Options::parse_args (int &argc, char *argv[])
{
@@ -67,12 +56,12 @@ Options::parse_args (int &argc, char *argv[])
}
if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("install")) == 0)
+ ACE_TEXT ("install")) == 0)
{
this->service_command_ = SC_INSTALL;
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
- ACE_TEXT ("remove")) == 0)
+ ACE_TEXT ("remove")) == 0)
{
this->service_command_ = SC_REMOVE;
}
@@ -81,7 +70,7 @@ Options::parse_args (int &argc, char *argv[])
ACE_ERROR((LM_ERROR, "Error: Unknown service command : %s\n", shifter.get_current()));
this->print_usage ();
return -1;
- }
+ }
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-d")) == 0)
@@ -129,6 +118,74 @@ Options::parse_args (int &argc, char *argv[])
this->print_usage ();
return 1;
}
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-l")) == 0)
+ {
+ this->readonly_ = true;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-p")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -p option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->persist_file_name_ = shifter.get_current ();
+ this->repo_mode_ = REPO_HEAP_FILE;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-r")) == 0)
+ {
+ this->repo_mode_ = REPO_REGISTRY;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-x")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -x option needs a filename\n"));
+ this->print_usage ();
+ return -1;
+ }
+
+ this->persist_file_name_ = shifter.get_current ();
+ this->repo_mode_ = REPO_XML_FILE;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-t")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -t option needs a value\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->startup_timeout_ =
+ ACE_Time_Value (ACE_OS::atoi (shifter.get_current ()));
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-v")) == 0)
+ {
+ shifter.consume_arg ();
+
+ if (!shifter.is_anything_left () || shifter.get_current ()[0] == '-')
+ {
+ ACE_ERROR ((LM_ERROR, "Error: -v option needs a value\n"));
+ this->print_usage ();
+ return -1;
+ }
+ this->ping_interval_ =
+ ACE_Time_Value (0, 1000 * ACE_OS::atoi (shifter.get_current ()));
+ }
else
{
shifter.ignore_arg ();
@@ -141,163 +198,56 @@ Options::parse_args (int &argc, char *argv[])
return 0;
}
-/**
- * @retval 0 Success
- * @retval -1 Error parsing args
- * @retval 1 Success but we should exit.
- */
int
Options::init (int argc, char *argv[])
{
+ // Make an initial pass through and grab the arguments that we recognize.
+ // This may also run the commands to install or remove the nt service.
int result = this->parse_args (argc, argv);
- if (result != 0) {
+ if (result != 0)
+ {
return result;
}
- ACE_ARGV orb_args; // Save the leftovers to a ACE_ARGV class
- ACE_CString cmdline; // We'll save this in the registry when installing.
- for (int i = 1; i < argc; ++i)
- {
- cmdline += ACE_CString(argv[i]) + ACE_CString(" ");
- if (orb_args.add (argv[i]) == -1)
- {
- ACE_ERROR ((LM_ERROR, "Error: Could not save argument"));
- return -1;
- }
- }
-
- result = run_service_command(cmdline);
-
- if (result != 0)
- return result;
-
- char* argv_tmp = 0;
-
- // Load from the registry. This may replace the args.
- if (this->load_registry_options(argv_tmp, orb_args) != 0)
- return -1;
-
- ACE_Auto_Array_Ptr<char> argv_deleter(argv_tmp);
-
- int orb_argc = orb_args.argc ();
- // Now initialize the orb and pass it the leftover arguments
- ACE_TRY_NEW_ENV
- {
- // First make sure the ImplRepo doesn't pick up an environment setting
- // that would make it try to register with itself.
- char* use_IMR_env_var_value = ACE_OS::getenv ("TAO_USE_IMR");
- if (use_IMR_env_var_value != 0)
- {
- ACE_OS::putenv ("TAO_USE_IMR=0");
- }
-
- this->orb_ = CORBA::ORB_init (orb_argc,
- orb_args.argv (),
- 0
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "Caught exception \n");
- ACE_ERROR ((LM_ERROR, "Error: Cannot initialize ORB\n"));
- return -1;
- }
- ACE_ENDTRY;
+ for (int i = 0; i < argc; ++i)
+ {
+ this->cmdline_ += ACE_CString(argv[i]) + ACE_CString(" ");
+ }
+ return 0;
+}
- // Indicates successful parsing of command line.
+int
+Options::init_from_registry (void)
+{
+ this->load_registry_options();
return 0;
}
-/**
- * Just print out the usage message to STDERR
- */
void
Options::print_usage (void) const
{
ACE_ERROR ((LM_ERROR,
"Usage:\n"
"\n"
- "ImR_Locator [-c cmd] [-d 0|1|2] [-m] [-o file] [-s]\n"
- "\n"
+ "ImR_Locator [-c cmd] [-d 0|1|2] [-m] [-o file]\n"
+ " [-r|-p file|-x file] [-s] [-t secs] [-v secs]\n"
" -c command Runs nt service commands ('install' or 'remove')\n"
" -d level Sets the debug level (default 1)\n"
+ " -l Lock the database\n"
" -m Turn on multicast\n"
" -o file Outputs the ImR's IOR to a file\n"
- " -s Runs as a service (NT Only)\n")
- );
+ " -s Runs as a service (NT Only)\n"
+ " -p file Use file for storing/loading settings\n"
+ " -x file Use XML file for storing/loading setting\n"
+ " -r Use the registry for storing/loading settings\n"
+ " -t secs Server startup timeout.(Default=0)\n"
+ " -v secs Server verification interval.(Default=10)\n"
+ ));
}
-
-/**
- * Executes the various commands that are useful for a NT service. Right
- * now these include 'install' and 'remove'. Others, such as 'start' and
- * 'stop' can be added, but the 'net' program in Windows already handles
- * these commands.
- *
- * @todo Finish implementing Options::run_service_command
- * @todo Update to unicode
- */
int
-Options::run_service_command (const ACE_CString& cmdline)
-{
- if (this->service_command_ == SC_NONE)
- return 0;
-#if defined (ACE_WIN32)
- SERVICE::instance ()->name (IMR_LOCATOR_SERVICE_NAME, IMR_LOCATOR_DISPLAY_NAME);
-
- if (this->service_command_ == SC_INSTALL)
- {
- char pathname[_MAX_PATH * 2 + 3]; // +3 for the ' -s' at the end
-
- if (ACE_TEXT_GetModuleFileName(NULL, pathname, _MAX_PATH * 2) == 0)
- {
- ACE_ERROR ((LM_ERROR, "Error: Could not get module file name.\n"));
- return -1;
- }
-
- // Append the command used for running the implrepo as
- ACE_OS::strcat (pathname, ACE_TEXT (" -s"));
-
- int ret = SERVICE::instance ()->insert (SERVICE_DEMAND_START,
- SERVICE_ERROR_NORMAL,
- pathname
- );
- if (ret != -1) {
- if (debug() > 0) {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service installed.\n"));
- }
- this->save_registry_options(cmdline);
- } else {
- ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
- }
- if (ret == 0)
- return 1;
- }
- else if (this->service_command_ == SC_REMOVE)
- {
- int ret = SERVICE::instance ()->remove ();
- if (debug() > 0) {
- ACE_DEBUG ((LM_DEBUG, "ImR Locator: Service removed.\n"));
- }
- if (ret == 0)
- return 1; // If successfull, then we don't want to continue.
- }
-
- return -1;
-
-#else /* ACE_WIN32 */
- ACE_UNUSED_ARG (cmdline);
- ACE_ERROR ((LM_ERROR, "Service not supported on this platform"));
-
- return -1;
-#endif /* ACE_WIN32 */
-}
-
-int
-Options::save_registry_options(const ACE_CString& cmdline)
+Options::save_registry_options()
{
#if defined (ACE_WIN32)
HKEY key = 0;
@@ -315,66 +265,57 @@ Options::save_registry_options(const ACE_CString& cmdline)
if (err != ERROR_SUCCESS) {
return -1;
}
- err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
- (LPBYTE) cmdline.c_str(), cmdline.length() + 1);
+ err = ACE_TEXT_RegSetValueEx(key, "ORBInitOptions", 0, REG_SZ,
+ (LPBYTE) this->cmdline_.c_str(), this->cmdline_.length() + 1);
ACE_ASSERT(err == ERROR_SUCCESS);
- err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
+ err = ACE_TEXT_RegSetValueEx(key, "IORFile", 0, REG_SZ,
(LPBYTE) ior_output_file_.c_str(), ior_output_file_.length() + 1);
ACE_ASSERT(err == ERROR_SUCCESS);
- err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
+ err = ACE_TEXT_RegSetValueEx(key, "DebugLevel", 0, REG_DWORD,
(LPBYTE) &debug_ , sizeof(debug_));
ACE_ASSERT(err == ERROR_SUCCESS);
- DWORD tmp = multicast_ ? 1 : 0;
- err = ACE_TEXT_RegSetValueEx(key, "Multicast", 0, REG_DWORD,
+ err = ACE_TEXT_RegSetValueEx(key, "PersistFile", 0, REG_SZ,
+ (LPBYTE) this->persist_file_name_.c_str(), this->persist_file_name_.length() + 1);
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ DWORD tmp = this->ping_interval_.msec();
+ err = ACE_TEXT_RegSetValueEx(key, "PingInterval", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = this->readonly_ ? 1 : 0;
+ err = ACE_TEXT_RegSetValueEx(key, "Lock", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = this->repo_mode_;
+ err = ACE_TEXT_RegSetValueEx(key, "PersistType", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = this->startup_timeout_.sec();
+ err = ACE_TEXT_RegSetValueEx(key, "Timeout", 0, REG_DWORD,
+ (LPBYTE) &tmp, sizeof(DWORD));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
+ tmp = multicast_ ? 1 : 0;
+ err = ACE_TEXT_RegSetValueEx(key, "Multicast", 0, REG_DWORD,
(LPBYTE) &tmp, sizeof(DWORD));
ACE_ASSERT(err == ERROR_SUCCESS);
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
-#else
- ACE_UNUSED_ARG (cmdline);
#endif
return 0;
}
-namespace {
- // This both parses the cmdline by replacing spaces with \0's, and
- // adds each command to the ACE_ARGV.
- void parse_command_line(char* cmdline, ACE_ARGV& argv) {
- // This tokenizer will replace all spaces with end-of-string
- // characters and will preserve text between "" and '' pairs.
- ACE_Tokenizer parser (cmdline);
- parser.delimiter_replace (' ', '\0');
- parser.preserve_designators ('\"', '\"');
- parser.preserve_designators ('\'', '\'');
-
- for (char *p = parser.next (); p; p = parser.next ()) {
- argv.add(p);
- }
- }
-}
-/**
- * We will only load from the registry if we are a service.
- * We load each parameter from individual string keys, and then
- * we have to parse the cmdline property into the orb_options
- * so that they can be passed to ORB_init()
- */
int
-Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
+Options::load_registry_options ()
{
#if defined (ACE_WIN32)
- if (! this->service())
- {
- if (this->debug () > 1)
- ACE_DEBUG ((LM_DEBUG,
- "Locator_Options::load_registry_options: Not running "
- "as a service, will not load data from registry\n"));
- return 0;
- }
-
HKEY key = 0;
// Create or open the parameters key
LONG err = ACE_TEXT_RegOpenKeyEx (SERVICE_REG_ROOT,
@@ -387,110 +328,152 @@ Options::load_registry_options (char*& cmdline, ACE_ARGV& argv)
// If there aren't any saved parameters, then that's ok.
return 0;
}
- ACE_TCHAR tmpstr[4096];
+ TCHAR tmpstr[4096];
DWORD sz = sizeof(tmpstr);
DWORD type = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
+ err = ACE_TEXT_RegQueryValueEx(key, "ORBInitOptions", 0, &type,
(LPBYTE) tmpstr, &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_SZ);
- cmdline = new char[sz+1];
- ACE_OS::strncpy(cmdline, tmpstr, sz);
- parse_command_line(cmdline, argv);
+ tmpstr[sz - 1] = '\0';
+ this->cmdline_ = tmpstr;
}
sz = sizeof(tmpstr);
- err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
+ err = ACE_TEXT_RegQueryValueEx(key, "IORFile", 0, &type,
(LPBYTE) tmpstr, &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_SZ);
- tmpstr[sz] = ACE_TCHAR('\0');
- this->ior_output_file_ = ACE_CString(tmpstr);
+ tmpstr[sz - 1] = '\0';
+ this->ior_output_file_ = tmpstr;
}
sz = sizeof(debug_);
- err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
- (LPBYTE) &debug_ , &sz);
+ err = ACE_TEXT_RegQueryValueEx(key, "DebugLevel", 0, &type,
+ (LPBYTE) &this->debug_ , &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_DWORD);
}
DWORD tmp = 0;
- err = ACE_TEXT_RegQueryValueEx(key, "Multicast", 0, &type,
+ sz = sizeof(tmp);
+ err = ACE_TEXT_RegQueryValueEx(key, "PingInterval", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ ping_interval_.msec(tmp);
+ }
+
+ tmp = 0;
+ sz = sizeof(tmp);
+ err = ACE_TEXT_RegQueryValueEx(key, "Lock", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ readonly_ = tmp != 0;
+ }
+
+ sz = sizeof(this->repo_mode_);
+ err = ACE_TEXT_RegQueryValueEx(key, "PersistType", 0, &type,
+ (LPBYTE) &this->repo_mode_, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ }
+
+ tmp = 0;
+ sz = sizeof(tmp);
+ err = ACE_TEXT_RegQueryValueEx(key, "Timeout", 0, &type,
+ (LPBYTE) &tmp, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_DWORD);
+ this->startup_timeout_.sec(tmp);
+ }
+
+ tmp = 0;
+ sz = sizeof(tmp);
+ err = ACE_TEXT_RegQueryValueEx(key, "Multicast", 0, &type,
(LPBYTE) &tmp, &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_DWORD);
this->multicast_ = tmp != 0;
}
+ sz = sizeof(tmpstr);
+ err = ACE_TEXT_RegQueryValueEx(key, "PersistFile", 0, &type,
+ (LPBYTE) tmpstr, &sz);
+ if (err == ERROR_SUCCESS) {
+ ACE_ASSERT(type == REG_SZ);
+ tmpstr[sz - 1] = '\0';
+ this->persist_file_name_ = tmpstr;
+ }
+
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
-
- return 0;
-#else /* ACE_WIN32 */
- ACE_UNUSED_ARG (cmdline);
- ACE_UNUSED_ARG (argv);
+#endif
return 0;
-#endif /* ACE_WIN32 */
}
-/**
- * Standalone Mode
- *
- * @retval false Run as standalone service
- * @retval true Run as a service (only on NT right now)
- */
bool
Options::service (void) const
{
return this->service_;
}
-
-/**
- * Debug level for the IR.
- *
- * @retval 0 Quiet
- * @retval 1 Trace messages
- * @retval 2 Detailed messages
- */
unsigned int
Options::debug (void) const
{
return this->debug_;
}
-
-/**
- * @return The file where the IOR will be stored.
- */
-ACE_CString
-Options::output_filename (void) const
+const ACE_CString&
+Options::ior_filename (void) const
{
return this->ior_output_file_;
}
-/**
- * @return A pointer to the ORB.
- */
-CORBA::ORB_ptr
-Options::orb (void) const
+bool
+Options::multicast (void) const
{
- return CORBA::ORB::_duplicate (this->orb_.in ());
+ return this->multicast_;
+}
+
+Options::SERVICE_COMMAND
+Options::service_command(void) const
+{
+ return this->service_command_;
+}
+
+const ACE_CString&
+Options::cmdline(void) const {
+ return this->cmdline_;
+}
+
+const ACE_CString&
+Options::persist_file_name(void) const {
+ return this->persist_file_name_;
+}
+
+ACE_Time_Value
+Options::startup_timeout (void) const
+{
+ return this->startup_timeout_;
+}
+
+ACE_Time_Value
+Options::ping_interval (void) const
+{
+ return this->ping_interval_;
+}
+
+Options::RepoMode
+Options::repository_mode (void) const
+{
+ return this->repo_mode_;
}
-/**
- * @retval false Do not listen for multicast location requests.
- * @retval true Do Listen.
- */
bool
-Options::multicast (void) const
+Options::readonly (void) const
{
- return this->multicast_;
+ return this->readonly_;
}
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Singleton <Options, ACE_Null_Mutex>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Singleton <Options, ACE_Null_Mutex>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
index 3585e3bb2cd..cd46ff14751 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
@@ -15,17 +15,13 @@
#ifndef LOCATOR_OPTIONS_H
#define LOCATOR_OPTIONS_H
-#include "Repository_Configuration.h"
+#include "locator_export.h"
-#include "tao/ORB.h"
-
-#include "ace/Singleton.h"
#include "ace/SString.h"
-#include "ace/Auto_Ptr.h"
-
-// Forward declarations
-class ACE_ARGV;
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
/**
* @class Options
@@ -34,20 +30,29 @@ class ACE_ARGV;
*
* This is where the settings for TAO's Implementation Repository are stored.
*/
-class Options
+class Locator_Export Options
{
public:
+
enum SERVICE_COMMAND {
SC_NONE,
SC_INSTALL,
SC_REMOVE
};
- /// Default Constructor
+ enum RepoMode {
+ REPO_NONE,
+ REPO_XML_FILE,
+ REPO_HEAP_FILE,
+ REPO_REGISTRY
+ };
+
Options ();
/// Parse the command-line arguments and initialize the options.
int init (int argc, char *argv[]);
+ /// This version should only be used when run as an nt service.
+ int init_from_registry();
/// Service Mode
bool service (void) const;
@@ -56,14 +61,35 @@ public:
unsigned int debug (void) const;
/// Returns the file where the IOR should be stored.
- ACE_CString output_filename (void) const;
-
- /// Returns a pointer to the ORB.
- CORBA::ORB_ptr orb (void) const;
+ const ACE_CString& ior_filename (void) const;
/// Will we listen for multicast location requests?
bool multicast (void) const;
+ /// The nt service command to run (install/remove)
+ SERVICE_COMMAND service_command(void) const;
+
+ int save_registry_options();
+
+ const ACE_CString& cmdline(void) const;
+
+ /// File that contains the activator related information
+ /// that the persistent locator has to save.
+ const ACE_CString& persist_file_name(void) const;
+
+ /// Do we allow modifications to the servers?
+ bool readonly (void) const;
+
+ RepoMode repository_mode (void) const;
+
+ /// Returns the timeout value for program starting.
+ ACE_Time_Value startup_timeout (void) const;
+
+ /// If the server hasn't been verified for a while, then we'll
+ /// ping it. Note : No timers are currently used. We simply ping()
+ /// during indirect invocations, if this interval has elapsed.
+ ACE_Time_Value ping_interval (void) const;
+
private:
/// Parses and pulls out arguments for the ImR
int parse_args (int &argc, char *argv[]);
@@ -74,9 +100,11 @@ private:
/// Run a service command.
int run_service_command (const ACE_CString& cmdline);
- /// Loads ORB options from the registry
- int load_registry_options (char*& cmdline, ACE_ARGV& argv);
- int save_registry_options (const ACE_CString& cmdline);
+ int load_registry_options();
+private:
+
+ // xml, heap, or registry
+ RepoMode repo_mode_;
/// Debug level.
unsigned int debug_;
@@ -87,16 +115,26 @@ private:
/// Will we listen for multicast location requests?
bool multicast_;
- /// The ORB for the Implementation Repository.
- CORBA::ORB_var orb_;
-
/// Are we running as a service?
bool service_;
+ /// The amount of time between successive "are you started yet?" pings.
+ ACE_Time_Value ping_interval_;
+
+ /// The amount of time to wait for a server to response after starting it.
+ ACE_Time_Value startup_timeout_;
+
+ /// Can the server_repository be modified?
+ bool readonly_;
+
/// SC_NONE, SC_INSTALL, SC_REMOVE, ...
- int service_command_;
-};
+ SERVICE_COMMAND service_command_;
-typedef ACE_Singleton <Options, ACE_Null_Mutex> OPTIONS;
+ /// Our extra command line arguments
+ ACE_CString cmdline_;
+
+ /// The persistent XML file name.
+ ACE_CString persist_file_name_;
+};
-#endif
+#endif
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp
new file mode 100644
index 00000000000..506d21ff9e5
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp
@@ -0,0 +1,553 @@
+#include "Locator_Repository.h"
+#include "Locator_XMLHandler.h"
+#include "utils.h"
+
+#include "ACEXML/parser/parser/Parser.h"
+#include "ACEXML/common/FileCharStream.h"
+
+ACE_RCSID (ImplRepo_Service, Locator_Repository, "$Id$")
+
+static const char* STARTUP_COMMAND = "StartupCommand";
+static const char* WORKING_DIR = "WorkingDir";
+static const char* ENVIRONMENT = "Environment";
+static const char* ACTIVATION = "Activation";
+static const char* PARTIAL_IOR = "Location";
+static const char* IOR = "IOR";
+static const char* START_LIMIT = "StartLimit";
+static const char* ACTIVATOR = "Activator";
+static const char* SERVERS_ROOT_KEY = "Servers";
+static const char* ACTIVATORS_ROOT_KEY = "Activators";
+static const char* TOKEN = "Token";
+
+#if defined (ACE_WIN32)
+static const char* WIN32_REG_KEY = "Software\\TAO\\ImplementationRepository";
+#endif
+
+static void loadActivatorsAsBinary(ACE_Configuration& config, Locator_Repository::AIMap& map)
+{
+ ACE_Configuration_Section_Key root;
+ int err = config.open_section(config.root_section(), ACTIVATORS_ROOT_KEY, 0, root);
+ if (err == 0)
+ {
+ int index = 0;
+ ACE_CString name;
+ while (config.enumerate_sections (root, index, name) == 0)
+ {
+ ACE_CString ior;
+ u_int token;
+
+ ACE_Configuration_Section_Key key;
+
+ // Can't fail, because we're enumerating
+ config.open_section(root, name.c_str(), 0, key);
+
+ config.get_string_value (key, IOR, ior);
+ config.get_integer_value(key, TOKEN, token);
+
+ Activator_Info_Ptr info(new Activator_Info(name, token, ior));
+ map.bind (name, info);
+ index++;
+ }
+ }
+}
+
+static void loadServersAsBinary(ACE_Configuration& config, Locator_Repository::SIMap& map)
+{
+ ACE_Configuration_Section_Key root;
+ int err = config.open_section(config.root_section(), SERVERS_ROOT_KEY, 0, root);
+ if (err == 0)
+ {
+ int index = 0;
+ ACE_CString name;
+ while (config.enumerate_sections (root, index, name) == 0)
+ {
+ ACE_CString cmdline, dir, envstr, partial_ior, ior, aname;
+ u_int amodeint = ImplementationRepository::MANUAL;
+ u_int start_limit;
+
+ ACE_Configuration_Section_Key key;
+
+ // Can't fail, because we're enumerating
+ config.open_section(root, name.c_str(), 0, key);
+
+ // Ignore any missing values. Server name is enough on its own.
+ config.get_string_value (key, ACTIVATOR, aname);
+ config.get_string_value (key, STARTUP_COMMAND, cmdline);
+ config.get_string_value (key, WORKING_DIR, dir);
+ config.get_string_value (key, ENVIRONMENT, envstr);
+ config.get_integer_value(key, ACTIVATION, amodeint);
+ config.get_string_value (key, PARTIAL_IOR, partial_ior);
+ config.get_string_value (key, IOR, ior);
+ config.get_integer_value(key, START_LIMIT, start_limit);
+
+ ImplementationRepository::ActivationMode amode = ACE_static_cast (
+ ImplementationRepository::ActivationMode, amodeint);
+
+ ImplementationRepository::EnvironmentList env_vars =
+ ImR_Utils::parseEnvList(envstr);
+
+ Server_Info_Ptr info(new Server_Info(name, aname, cmdline,
+ env_vars, dir, amode, start_limit, partial_ior, ior));
+ map.bind (name, info);
+ index++;
+ }
+ }
+}
+
+static void loadAsBinary(ACE_Configuration& config, Locator_Repository& repo)
+{
+ loadServersAsBinary(config, repo.servers());
+ loadActivatorsAsBinary(config, repo.activators());
+}
+
+// Note : There is no saveAsBinary(), because the ACE_Configuration class
+// supports saving of individual entries.
+
+static void convertEnvList(const Locator_XMLHandler::EnvList& in, ImplementationRepository::EnvironmentList& out)
+{
+ CORBA::ULong sz = in.size();
+ out.length(sz);
+ for (CORBA::ULong i = 0; i < sz; ++i)
+ {
+ out[i].name = in[i].name.c_str();
+ out[i].value = in[i].value.c_str();
+ }
+}
+
+class Server_Repo_XML_Callback : public Locator_XMLHandler::Callback {
+ Locator_Repository& repo_;
+public:
+ Server_Repo_XML_Callback(Locator_Repository& repo)
+ : repo_(repo)
+ {
+ }
+ virtual void next_server(const ACE_CString& name,
+ const ACE_CString& aname, const ACE_CString& cmdline,
+ const Locator_XMLHandler::EnvList& envlst, const ACE_CString& dir,
+ const ACE_CString& amodestr, int start_limit,
+ const ACE_CString& partial_ior, const ACE_CString& ior)
+ {
+ ImplementationRepository::ActivationMode amode =
+ ImR_Utils::parseActivationMode(amodestr);
+
+ ImplementationRepository::EnvironmentList env_vars;
+ convertEnvList(envlst, env_vars);
+
+ int limit = start_limit < 1 ? 1 : start_limit;
+
+ Server_Info_Ptr si(new Server_Info(name, aname, cmdline,
+ env_vars, dir, amode, limit, partial_ior, ior));
+
+ this->repo_.servers().bind(name, si);
+ }
+ virtual void next_activator (const ACE_CString& aname,
+ long token,
+ const ACE_CString& ior)
+ {
+ Activator_Info_Ptr si(new Activator_Info(aname, token, ior));
+ this->repo_.activators().bind(aname, si);
+ }
+};
+
+static int loadAsXML(const ACE_CString& fname, Locator_Repository& repo) {
+
+ ACEXML_FileCharStream* fstm = new ACEXML_FileCharStream; // xml input source will take ownership
+
+ if (fstm->open(fname.c_str()) != 0)
+ {
+ // This is not a real error. The xml file may not exist yet.
+ delete fstm;
+ return 0;
+ }
+
+ Server_Repo_XML_Callback cb(repo);
+
+ Locator_XMLHandler handler(cb);
+
+ ACEXML_Parser parser;
+
+ // InputSource takes ownership
+ ACEXML_InputSource input(fstm);
+
+ parser.setContentHandler (&handler);
+ parser.setDTDHandler (&handler);
+ parser.setErrorHandler (&handler);
+ parser.setEntityResolver (&handler);
+
+ ACEXML_TRY_NEW_ENV
+ {
+ parser.parse (&input ACEXML_ENV_ARG_PARAMETER);
+ ACEXML_TRY_CHECK;
+ }
+ ACEXML_CATCH (ACEXML_Exception, ex)
+ {
+ ACE_ERROR((LM_ERROR, "Error during load of ImR persistence xml file."));
+ ex.print();
+ return -1;
+ }
+ ACEXML_ENDTRY;
+ return 0;
+}
+
+// Note : Would pass servers by const&, but ACE hash map const_iterator is broken.
+static void saveAsXML(const ACE_CString& fname, Locator_Repository& repo) {
+ FILE* fp = ACE_OS::fopen (fname.c_str(), "w");
+ if (fp == 0)
+ {
+ ACE_ERROR((LM_ERROR, "Couldn't write to file %s\n", fname.c_str()));
+ return;
+ }
+ ACE_OS::fprintf(fp,"<?xml version=\"1.0\"?>\n");
+ ACE_OS::fprintf(fp,"<!DOCTYPE %s/>\n", Locator_XMLHandler::ROOT_TAG);
+ ACE_OS::fprintf(fp,"<%s>\n", Locator_XMLHandler::ROOT_TAG);
+
+ // Save servers
+ Locator_Repository::SIMap::ENTRY* sientry = 0;
+ Locator_Repository::SIMap::ITERATOR siit(repo.servers());
+ for (; siit.next(sientry); siit.advance()) {
+ Server_Info_Ptr& info = sientry->int_id_;
+
+ ACE_OS::fprintf(fp,"\t<%s", Locator_XMLHandler::SERVER_INFO_TAG);
+ ACE_OS::fprintf(fp," name=\"%s\"", info->name.c_str());
+ ACE_OS::fprintf(fp," activator=\"%s\"", info->activator.c_str());
+ ACE_OS::fprintf(fp," command_line=\"%s\"", info->cmdline.c_str());
+ ACE_OS::fprintf(fp," working_dir=\"%s\"", info->dir.c_str());
+ ACE_CString amodestr = ImR_Utils::activationModeToString(info->activation_mode);
+ ACE_OS::fprintf(fp," activation_mode=\"%s\"", amodestr.c_str());
+ ACE_OS::fprintf(fp," start_limit=\"%d\"", info->start_limit);
+ ACE_OS::fprintf(fp," partial_ior=\"%s\"", info->partial_ior.c_str());
+ ACE_OS::fprintf(fp," ior=\"%s\"", info->ior.c_str());
+ ACE_OS::fprintf(fp,">\n");
+
+ for (CORBA::ULong i = 0; i < info->env_vars.length(); ++i)
+ {
+ ACE_OS::fprintf(fp,"\t\t<%s", Locator_XMLHandler::ENVIRONMENT_TAG);
+ ACE_OS::fprintf(fp," name=\"%s\"", info->env_vars[i].name.in());
+ ACE_OS::fprintf(fp," value=\"%s\"", info->env_vars[i].value.in());
+ ACE_OS::fprintf(fp,"/>\n");
+ }
+
+ ACE_OS::fprintf(fp,"\t</%s>\n", Locator_XMLHandler::SERVER_INFO_TAG);
+ }
+
+ // Save Activators
+ Locator_Repository::AIMap::ENTRY* aientry = 0;
+ Locator_Repository::AIMap::ITERATOR aiit(repo.activators());
+ for (; aiit.next(aientry); aiit.advance()) {
+ ACE_CString aname = aientry->ext_id_;
+ Activator_Info_Ptr& info = aientry->int_id_;
+ ACE_OS::fprintf(fp,"\t<%s", Locator_XMLHandler::ACTIVATOR_INFO_TAG);
+ ACE_OS::fprintf(fp," name=\"%s\"", aname.c_str());
+ ACE_OS::fprintf(fp," token=\"%d\"", info->token);
+ ACE_OS::fprintf(fp," ior=\"%s\"", info->ior.c_str ());
+ ACE_OS::fprintf(fp,"/>\n");
+ }
+
+ ACE_OS::fprintf(fp,"</%s>\n", Locator_XMLHandler::ROOT_TAG);
+ ACE_OS::fclose(fp);
+}
+
+Locator_Repository::Locator_Repository()
+: rmode_(Options::REPO_NONE)
+, config_(0)
+{
+}
+
+int
+Locator_Repository::init(Options::RepoMode rmode, const ACE_CString& name)
+{
+ this->rmode_ = rmode;
+ this->fname_ = name;
+
+ int err = 0;
+ switch (this->rmode_) {
+ case Options::REPO_NONE:
+ {
+ break;
+ }
+ case Options::REPO_HEAP_FILE:
+ {
+ ACE_Configuration_Heap* heap = new ACE_Configuration_Heap();
+ this->config_.reset(heap);
+ err = heap->open(this->fname_.c_str());
+ if (err == 0)
+ {
+ loadAsBinary(*this->config_, *this);
+ }
+ break;
+ }
+#if defined (ACE_WIN32)
+ case Options::REPO_REGISTRY:
+ {
+ HKEY root = ACE_Configuration_Win32Registry::
+ resolve_key(HKEY_LOCAL_MACHINE, WIN32_REG_KEY);
+ this->config_.reset(new ACE_Configuration_Win32Registry(root));
+ loadAsBinary(*this->config_, *this);
+ break;
+ }
+#endif
+ case Options::REPO_XML_FILE:
+ {
+ err = loadAsXML(this->fname_, *this);
+ break;
+ }
+ default:
+ {
+ bool invalid_rmode_specified = false;
+ ACE_ASSERT(invalid_rmode_specified);
+ ACE_UNUSED_ARG(invalid_rmode_specified);
+ err = -1;
+ }
+ }
+ return err;
+}
+
+int
+Locator_Repository::add_server (const ACE_CString& name,
+ const ACE_CString& aname,
+ const ACE_CString& startup_command,
+ const ImplementationRepository::EnvironmentList& env_vars,
+ const ACE_CString& working_dir,
+ ImplementationRepository::ActivationMode activation,
+ int start_limit,
+ const ACE_CString& partial_ior,
+ const ACE_CString& ior,
+ ImplementationRepository::ServerObject_ptr svrobj)
+{
+ int limit = start_limit < 1 ? 1 : start_limit;
+ Server_Info_Ptr info(new Server_Info(name, aname, startup_command,
+ env_vars, working_dir, activation, limit, partial_ior, ior, svrobj));
+
+ int err = servers().bind (name, info);
+ if (err != 0)
+ {
+ return err;
+ }
+ this->update_server(*info);
+ return 0;
+}
+
+int
+Locator_Repository::add_activator (const ACE_CString& name,
+ const CORBA::Long token,
+ const ACE_CString& ior,
+ ImplementationRepository::Activator_ptr act)
+{
+ Activator_Info_Ptr info(new Activator_Info(name, token, ior, act));
+
+ int err = activators().bind (name, info);
+ if (err != 0)
+ {
+ return err;
+ }
+ this->update_activator(*info);
+ return 0;
+}
+
+int
+Locator_Repository::update_server (const Server_Info& info)
+{
+ if (rmode_ == Options::REPO_HEAP_FILE || rmode_ == Options::REPO_REGISTRY)
+ {
+ ACE_ASSERT(this->config_.get() != 0);
+
+ ACE_Configuration& cfg = *this->config_;
+
+ ACE_Configuration_Section_Key root;
+ ACE_Configuration_Section_Key key;
+ int err = cfg.open_section (cfg.root_section(), SERVERS_ROOT_KEY, 1, root);
+ if (err != 0)
+ {
+ ACE_ERROR((LM_ERROR, "Unable to open config section:%s\n", SERVERS_ROOT_KEY));
+ return err;
+ }
+ err = cfg.open_section (root, info.name.c_str(), 1, key);
+ if (err != 0)
+ {
+ ACE_ERROR((LM_ERROR, "Unable to open config section:%s\n", info.name.c_str()));
+ return err;
+ }
+
+ ACE_CString envstr = ImR_Utils::envListToString(info.env_vars);
+
+ cfg.set_string_value (key, ACTIVATOR, info.activator.c_str());
+ cfg.set_string_value (key, STARTUP_COMMAND, info.cmdline.c_str());
+ cfg.set_string_value (key, WORKING_DIR, info.dir.c_str());
+ cfg.set_string_value (key, ENVIRONMENT, envstr);
+ cfg.set_integer_value (key, ACTIVATION, info.activation_mode);
+ cfg.set_integer_value (key, START_LIMIT, info.start_limit);
+ cfg.set_string_value (key, PARTIAL_IOR, info.partial_ior.c_str());
+ cfg.set_string_value (key, IOR, info.ior.c_str());
+ }
+ else if (rmode_ == Options::REPO_XML_FILE)
+ {
+ saveAsXML(this->fname_, *this);
+ }
+ return 0;
+}
+
+int
+Locator_Repository::update_activator (const Activator_Info& info)
+{
+ if (rmode_ == Options::REPO_HEAP_FILE || rmode_ == Options::REPO_REGISTRY)
+ {
+ ACE_ASSERT(this->config_.get() != 0);
+
+ ACE_Configuration& cfg = *this->config_;
+
+ ACE_Configuration_Section_Key root;
+ ACE_Configuration_Section_Key key;
+ int err = cfg.open_section (cfg.root_section(), ACTIVATORS_ROOT_KEY, 1, root);
+ if (err != 0)
+ {
+ ACE_ERROR((LM_ERROR, "Unable to open config section:%s\n", ACTIVATORS_ROOT_KEY));
+ return err;
+ }
+ err = cfg.open_section (root, info.name.c_str(), 1, key);
+ if (err != 0)
+ {
+ ACE_ERROR((LM_ERROR, "Unable to open config section:%s\n", info.name.c_str()));
+ return err;
+ }
+
+ cfg.set_integer_value (key, TOKEN, info.token);
+ cfg.set_string_value (key, IOR, info.ior.c_str());
+ }
+ else if (rmode_ == Options::REPO_XML_FILE)
+ {
+ saveAsXML(this->fname_, *this);
+ }
+ return 0;
+}
+
+Server_Info_Ptr
+Locator_Repository::get_server (const ACE_CString& name)
+{
+ Server_Info_Ptr server(0);
+ servers().find (name, server);
+ return server;
+}
+
+Activator_Info_Ptr
+Locator_Repository::get_activator (const ACE_CString& name)
+{
+ Activator_Info_Ptr activator(0);
+ activators().find (name, activator);
+ return activator;
+}
+
+int
+Locator_Repository::remove_server (const ACE_CString& name)
+{
+ int ret = this->servers().unbind (name);
+ if (ret != 0)
+ {
+ return ret;
+ }
+
+ if (rmode_ == Options::REPO_HEAP_FILE || rmode_ == Options::REPO_REGISTRY)
+ {
+ ACE_ASSERT(this->config_.get() != 0);
+ ACE_Configuration& cfg = *this->config_;
+ ACE_Configuration_Section_Key root;
+ int err = cfg.open_section (cfg.root_section(), SERVERS_ROOT_KEY, 0, root);
+ if (err != 0)
+ {
+ return 0; // Already gone.
+ }
+ ret = cfg.remove_section (root, name.c_str(), 1);
+ }
+ else if (rmode_ == Options::REPO_XML_FILE)
+ {
+ saveAsXML(this->fname_, *this);
+ }
+ return ret;
+}
+
+int
+Locator_Repository::remove_activator (const ACE_CString& name)
+{
+ int ret = activators().unbind (name);
+ if (ret != 0)
+ {
+ return ret;
+ }
+
+ if (rmode_ == Options::REPO_HEAP_FILE || rmode_ == Options::REPO_REGISTRY)
+ {
+ ACE_ASSERT(this->config_.get() != 0);
+ ACE_Configuration& cfg = *this->config_;
+ ACE_Configuration_Section_Key root;
+ int err = cfg.open_section (cfg.root_section(), ACTIVATORS_ROOT_KEY, 0, root);
+ if (err != 0)
+ {
+ return 0; // Already gone.
+ }
+ ret = cfg.remove_section (root, name.c_str(), 1);
+ }
+ else if (rmode_ == Options::REPO_XML_FILE)
+ {
+ saveAsXML(this->fname_, *this);
+ }
+ return ret;
+}
+
+Locator_Repository::SIMap&
+Locator_Repository::servers(void)
+{
+ return server_infos_;
+}
+
+Locator_Repository::AIMap&
+Locator_Repository::activators(void)
+{
+ return activator_infos_;
+}
+
+const char*
+Locator_Repository::repo_mode()
+{
+ switch (rmode_)
+ {
+ case Options::REPO_XML_FILE:
+ case Options::REPO_HEAP_FILE:
+ return fname_.c_str();
+ case Options::REPO_REGISTRY:
+ return "Registry";
+ case Options::REPO_NONE:
+ return "Disabled";
+ }
+ return "Disabled";
+}
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> >;
+template class ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+
+template class ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> >;
+template class ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>, ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex>,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
+
+template class ACE_Auto_Ptr<ACE_Configuration>;
+
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> >
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+
+#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> >
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, ACE_Strong_Bound_Ptr<Activator_Info, ACE_Null_Mutex> ,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
+
+#pragma instantiate ACE_Auto_Ptr<ACE_Configuration>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h
new file mode 100644
index 00000000000..bd727cecfd3
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h
@@ -0,0 +1,112 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+* @file Locator_Repository.h
+*
+* $Id$
+*
+* This class implements the Repository for the Implementation Repository.
+*
+* @author Darrell Brunsch <brunsch@cs.wustl.edu>
+* @author Priyanka Gontla <gontla_p@ociweb.com>
+*/
+//=============================================================================
+
+#ifndef REPOSITORY_H
+#define REPOSITORY_H
+
+#include "Server_Info.h"
+#include "Activator_Info.h"
+#include "Locator_Options.h"
+
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Configuration.h"
+#include "ace/Auto_Ptr.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+* @class Locator_Repository
+*
+* @brief Database containing all ImR persistent information.
+*
+*/
+class Locator_Repository
+{
+public:
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Server_Info_Ptr,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> SIMap;
+
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ Activator_Info_Ptr,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> AIMap;
+
+ Locator_Repository();
+
+ /// Initializes the Server Repository
+ int init (Options::RepoMode rmode, const ACE_CString& name);
+
+ /// Add a new server to the Repository
+ int add_server (const ACE_CString& name,
+ const ACE_CString& aname,
+ const ACE_CString& startup_command,
+ const ImplementationRepository::EnvironmentList& environment_vars,
+ const ACE_CString& working_dir,
+ ImplementationRepository::ActivationMode activation,
+ int start_limit,
+ const ACE_CString& partial_ior = ACE_CString(""),
+ const ACE_CString& ior = ACE_CString(""),
+ ImplementationRepository::ServerObject_ptr svrobj = ImplementationRepository::ServerObject::_nil()
+ );
+ /// Add a new activator to the Repository
+ int add_activator (const ACE_CString& name,
+ const CORBA::Long token,
+ const ACE_CString& ior = ACE_CString(""),
+ ImplementationRepository::Activator_ptr act = ImplementationRepository::Activator::_nil()
+ );
+
+ /// Update the associated information.
+ int update_server (const Server_Info& info);
+ /// Update the associated information.
+ int update_activator (const Activator_Info& info);
+
+ /// Returns information related to startup.
+ Server_Info_Ptr get_server (const ACE_CString& name);
+ /// Returns information related to startup.
+ Activator_Info_Ptr get_activator (const ACE_CString& name);
+
+ /// Removes the server from the Repository.
+ int remove_server (const ACE_CString& name);
+ /// Removes the activator from the Repository.
+ int remove_activator (const ACE_CString& name);
+
+ /// Returns the internal hash map containing the server information.
+ SIMap& servers(void);
+ /// Returns the internal hash map containing the activator information.
+ AIMap& activators(void);
+
+ const char* repo_mode();
+
+private:
+ // Type mechanism to use for persistence.
+ Options::RepoMode rmode_;
+ // The in-memory list of the server information.
+ SIMap server_infos_;
+ // The in-memory list of the activator information.
+ AIMap activator_infos_;
+ // Several rmode_ values require this.
+ ACE_Auto_Ptr<ACE_Configuration> config_;
+ // XML requires the file name
+ ACE_CString fname_;
+};
+
+
+#endif /* REPOSITORY_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.cpp
new file mode 100644
index 00000000000..0d5afca5ca7
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.cpp
@@ -0,0 +1,106 @@
+// $Id$
+
+#include "Locator_XMLHandler.h"
+
+ACE_RCSID (ImplRepo_Service,Locator_XMLHandler,"$Id$")
+
+const char* Locator_XMLHandler::ROOT_TAG = "ImplementationRepository";
+const char* Locator_XMLHandler::SERVER_INFO_TAG = "Servers";
+const char* Locator_XMLHandler::ACTIVATOR_INFO_TAG = "Activators";
+const char* Locator_XMLHandler::ENVIRONMENT_TAG = "EnvironmentVariables";
+
+Locator_XMLHandler::Locator_XMLHandler(Callback& cb)
+: callback_(cb)
+{
+}
+
+void
+Locator_XMLHandler::startElement (const ACEXML_Char*,
+ const ACEXML_Char*,
+ const ACEXML_Char* qName,
+ ACEXML_Attributes* attrs ACEXML_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_ASSERT(qName != 0);
+ if (ACE_OS::strcasecmp (qName, SERVER_INFO_TAG) == 0)
+ {
+ // We'll use this as a key to determine if we've got a valid record
+ this->server_name_ = "";
+ this->env_vars_.clear();
+
+ if (attrs != 0 && attrs->getLength () == 8)
+ {
+ this->server_name_ = attrs->getValue((size_t)0);
+ this->activator_name_ = attrs->getValue((size_t)1);
+ this->command_line_ = attrs->getValue((size_t)2);
+ this->working_dir_ = attrs->getValue((size_t)3);
+ this->activation_ = attrs->getValue((size_t)4);
+ this->env_vars_.clear();
+ int limit = ACE_OS::atoi (attrs->getValue((size_t)5));
+ this->start_limit_ = limit;
+ this->partial_ior_ = attrs->getValue((size_t)6);
+ this->server_object_ior_ = attrs->getValue((size_t)7);
+ }
+ }
+ else if (ACE_OS::strcasecmp (qName, ACTIVATOR_INFO_TAG) == 0)
+ {
+ if (attrs != 0 && attrs->getLength () == 3)
+ {
+ ACE_CString aname = attrs->getValue((size_t)0);
+ ACE_CString token_str = attrs->getValue((size_t)1);
+ long token = ACE_OS::atoi (token_str.c_str());
+ ACE_CString ior = attrs->getValue((size_t)2);
+ this->callback_.next_activator(aname, token, ior);
+ }
+ }
+ else if (ACE_OS::strcasecmp (qName, ENVIRONMENT_TAG) == 0)
+ {
+ if (attrs != 0 && attrs->getLength() == 2)
+ {
+ EnvVar ev;
+ ev.name = attrs->getValue((size_t)0);
+ ev.value = attrs->getValue((size_t)1);
+ this->env_vars_.push_back(ev);
+ }
+ }
+}
+
+void
+Locator_XMLHandler::endElement (const ACEXML_Char*,
+ const ACEXML_Char*,
+ const ACEXML_Char* qName ACEXML_ENV_ARG_DECL_NOT_USED)
+ ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ ACE_ASSERT(qName != 0);
+ if (ACE_OS::strcasecmp (qName, SERVER_INFO_TAG) == 0
+ && this->server_name_.length() > 0)
+ {
+ this->callback_.next_server(this->server_name_,
+ this->activator_name_, this->command_line_,
+ this->env_vars_, this->working_dir_, this->activation_,
+ this->start_limit_, this->partial_ior_, this->server_object_ior_);
+ }
+ // activator info is handled in the startElement
+}
+
+bool
+Locator_XMLHandler::EnvVar::operator==(const EnvVar& rhs) const
+{
+ return name == rhs.name && value == rhs.value;
+}
+bool
+Locator_XMLHandler::EnvVar::operator!=(const EnvVar& rhs) const
+{
+ return ! (rhs == *this);
+}
+
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Array_Base<Locator_XMLHandler::EnvVar>;
+template class ACE_Array<Locator_XMLHandler::EnvVar>;
+template class ACE_Vector<Locator_XMLHandler::EnvVar>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Array_Base<Locator_XMLHandler::EnvVar>
+#pragma instantiate ACE_Array<Locator_XMLHandler::EnvVar>
+#pragma instantiate ACE_Vector<Locator_XMLHandler::EnvVar>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.h b/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.h
new file mode 100644
index 00000000000..98526ac5acf
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_XMLHandler.h
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//=============================================================================
+/**
+ * @file Locator_XMLHandler.h
+ *
+ * $Id$
+ *
+ * @author Justin Michel <michel_j@ociweb.com>
+ */
+//=============================================================================
+
+#ifndef Locator_XMLHandler_H
+#define Locator_XMLHandler_H
+
+#include "ACEXML/common/DefaultHandler.h"
+
+#include "ace/Vector_T.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+/**
+ * Callback SAX XML Handler for parsing XML.
+ */
+class Locator_XMLHandler : public ACEXML_DefaultHandler
+{
+public:
+
+ // XML ELEMENT names
+ static const char* ROOT_TAG;
+ static const char* SERVER_INFO_TAG;
+ static const char* ENVIRONMENT_TAG;
+ static const char* ACTIVATOR_INFO_TAG;
+
+ struct EnvVar {
+ ACE_CString name;
+ ACE_CString value;
+ bool operator==(const EnvVar&) const; // To allow Vector explicit instantiation
+ bool operator!=(const EnvVar&) const; // To allow Vector explicit instantiation
+ };
+
+ typedef ACE_Vector<EnvVar> EnvList;
+
+ struct Callback {
+ virtual ~Callback() {}
+
+ virtual void next_server (const ACE_CString& server_name,
+ const ACE_CString& aname, const ACE_CString& startup_cmd,
+ const EnvList& env_vars, const ACE_CString& working_dir,
+ const ACE_CString& actmode, int start_limit,
+ const ACE_CString& partial_ior, const ACE_CString& ior) = 0;
+
+ virtual void next_activator (const ACE_CString& activator_name,
+ long token,
+ const ACE_CString& ior) = 0;
+ };
+
+ Locator_XMLHandler (Callback& cb);
+
+ virtual void startElement (const ACEXML_Char* namespaceURI,
+ const ACEXML_Char* localName,
+ const ACEXML_Char* qName,
+ ACEXML_Attributes* atts ACEXML_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((ACEXML_SAXException));
+
+ virtual void endElement (const ACEXML_Char* namespaceURI,
+ const ACEXML_Char* localName,
+ const ACEXML_Char* qName ACEXML_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((ACEXML_SAXException));
+
+ private:
+
+ // callback on completion of an element
+ Callback& callback_;
+
+ ACE_CString server_name_;
+ ACE_CString activator_name_;
+ ACE_CString command_line_;
+ ACE_CString activation_;
+ ACE_CString working_dir_;
+ ACE_CString server_object_ior_;
+ ACE_CString partial_ior_;
+ int start_limit_;
+ EnvList env_vars_;
+};
+
+#endif /* Locator_XMLHandler_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/README.txt b/TAO/orbsvcs/ImplRepo_Service/README.txt
index 34fe77ace81..35bfe25157c 100644
--- a/TAO/orbsvcs/ImplRepo_Service/README.txt
+++ b/TAO/orbsvcs/ImplRepo_Service/README.txt
@@ -184,9 +184,15 @@ Commandline Arguments that can be passed to ImplRepo_Service
-d debug information
-m support multicast discovery.
-o generate the ior.
+-x support persistence to the ImplRepo_Service. We use XML to support
+ persistence. Names of the activators registered with the locator,
+ their IORs, and the servers registered with each of the activators are
+ saved to the xml file. Use this option to pass the name of the file
+ where the data has to be saved.
And, ofcourse, the ORB Options.
+
@subsection activator ImR_Activator
ImR_Activators, as you might have guessed, do the real work of
@@ -501,6 +507,11 @@ Admin Tool or via the "net" program on the command line:
The Implementation Repository supports start and stop but not pause.
+When the Activator is installed using ImR_Activator -c install, it is added
+with a dependency on a locator service. If you don't wish to also install
+the locator on the same machine, then you must use the -c install_no_locator
+option instead.
+
@subsection serviceopts Service Options
Any options that are specified along with -c install, will be saved in
diff --git a/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.cpp b/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.cpp
deleted file mode 100644
index c71f1348294..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.cpp
+++ /dev/null
@@ -1,241 +0,0 @@
-#include "Repository_Configuration.h"
-#include "Activator_NT_Service.h"
-
-#include "ace/Configuration.h"
-#include "ace/OS_NS_stdio.h"
-
-
-ACE_RCSID (ImplRepo_Service,
- Repository_Configuration,
- "$Id$")
-
-
-Repository_Configuration::Repository_Configuration (const char *repository_mode)
- : config_ (0)
-{
- if (ACE_OS::strcmp (repository_mode, "x") == 0)
- {
- /// XML Mode : Dont do anything special
- }
- else if (ACE_OS::strcmp (repository_mode, "w") == 0)
- {
-#if defined (ACE_WIN32)
- /// Win32 Repository.
- HKEY root =
- ACE_Configuration_Win32Registry::resolve_key(HKEY_LOCAL_MACHINE,
- "Software\\TAO\\IR");
- ACE_NEW (this->config_, ACE_Configuration_Win32Registry(root));
-
-#endif /* ACE_WIN32 */
- }
- else if (ACE_OS::strcmp (repository_mode, "h") == 0)
- {
- ACE_NEW (this->config_, ACE_Configuration_Heap);
-
- if (this->config_ == 0)
- {
- ACE_ERROR ((LM_ERROR,
- "Initialization of config_ didnt happen correctly\n"));
- }
- }
-}
-
-Repository_Configuration::~Repository_Configuration (void)
-{
- delete this->config_;
-}
-
-const ACE_Configuration_Section_Key &
-Repository_Configuration::root_section ()
-{
- ACE_ASSERT(this->config_ != 0);
- return this->config_->root_section ();
-}
-
-int
-Repository_Configuration::open (void)
-{
- // This method would have been called only if some kind of
- // persistence is to be used: either the ACE_Configuration_Heap
- // or the XML format of the file.
- if (this->config_ != 0)
- {
- // Open the configuration heap.
- ACE_Configuration_Heap *heap =
- ACE_dynamic_cast (ACE_Configuration_Heap *,
- this->config_);
- ACE_ASSERT(heap != 0);
- return heap->open ();
- }
-
- // The persistence file type is to be in XML format. Dont do
- // anything here. Just return.
- return 0;
-}
-
-
-int
-Repository_Configuration::open (const char *file_name)
-{
- if (this->config_ == 0)
- {
- FILE *fp = ACE_OS::fopen (file_name, "w");
-
- if (fp == 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Couldnt open the file %s\n", file_name),
- -1);
- }
-
- // @@@ Initial setup: write the DTD here.
- ACE_OS::fprintf (fp,
- "<?xml version=\"1.0\"?>\n");
- ACE_OS::fprintf (fp,
- "<!DOCTYPE SERVER_REPOSITORY>\n");
- ACE_OS::fclose (fp);
- }
- else
- {
- ACE_Configuration_Heap *heap =
- ACE_dynamic_cast (ACE_Configuration_Heap *,
- this->config_);
- ACE_ASSERT(heap != 0);
- return heap->open (file_name);
- }
- return 0;
-}
-
-int
-Repository_Configuration::open_section (const ACE_Configuration_Section_Key& base,
- const char* sub_section,
- int create,
- ACE_Configuration_Section_Key& result)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->open_section (base,
- sub_section,
- create,
- result);
- }
- return 0;
-
-}
-
-int
-Repository_Configuration::remove_section (const ACE_Configuration_Section_Key& key,
- const char* sub_section,
- int recursive)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->remove_section (key,
- sub_section,
- recursive);
- }
-
- return 0;
-}
-
-int
-Repository_Configuration::enumerate_sections (const ACE_Configuration_Section_Key& key,
- int Index,
- ACE_CString& name)
-{
- if (this->config_ != 0)
- {
- return this->config_->enumerate_sections (key,
- Index,
- name);
- }
-
- /// @@ May be I need to write the initial DTD etc stuff here.
- return 0;
-}
-
-int
-Repository_Configuration::set_string_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- const ACE_CString& value)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->set_string_value (key,
- name,
- value);
- }
-
- return 0;
-
-}
-
-int
-Repository_Configuration::set_integer_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- u_int value)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->set_integer_value (key,
- name,
- value);
- }
-
- return 0;
-}
-
-int
-Repository_Configuration::get_string_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- ACE_CString& value)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->get_string_value (key,
- name,
- value);
- }
-
- return 0;
-}
-
-int
-Repository_Configuration::get_integer_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- u_int& value)
-{
- if (this->config_ == 0)
- {
- /// @@ May be I need to write the initial DTD etc stuff here.
- }
- else
- {
- return this->config_->get_integer_value (key,
- name,
- value);
- }
-
- return 0;
-
- }
diff --git a/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.h b/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.h
deleted file mode 100644
index 786cdcd9cd4..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/Repository_Configuration.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- C++ -*- */
-//=============================================================================
-/**
- * @file Repository_Configuration.h
- *
- * $Id$
- *
- * @brief Class to maintain the non-Win32 Registry Server
- * Configuration. Also is a wrapper around ACE_Configuration_Heap
- * class.
- *
- * @author Priyanka Gontla <gontla_p@ociweb.com>
- */
-//=============================================================================
-
-#ifndef REPOSITORY_CONFIGURATION_H
-#define REPOSITORY_CONFIGURATION_H
-
-#include "ace/Configuration.h"
-
-/**
- * @class Repository_Configuration
- *
- * @brief Maintains the server configurations.
- *
- * Class to help maintain the xml and non-win32 registry configuration.
- */
-class Repository_Configuration
-{
- public:
-
- /// Default Constructor
- Repository_Configuration (const char *repository_mode);
-
- /// Destructor
- ~Repository_Configuration ();
-
- const ACE_Configuration_Section_Key& root_section ();
-
- ///
- int open ();
-
- /// opens a configuration based on a file name
- int open (const char* file_name);
-
- int open_section (const ACE_Configuration_Section_Key& base,
- const char* sub_section,
- int create, ACE_Configuration_Section_Key& result);
-
- int remove_section (const ACE_Configuration_Section_Key& key,
- const char* sub_section,
- int recursive);
-
- int enumerate_sections (const ACE_Configuration_Section_Key& key,
- int Index,
- ACE_CString& name);
-
- int set_string_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- const ACE_CString& value);
-
- int set_integer_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- u_int value);
-
- int get_string_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- ACE_CString& value);
-
- int get_integer_value (const ACE_Configuration_Section_Key& key,
- const char* name,
- u_int& value);
-
- private:
-
- ACE_Configuration *config_;
-
-};
-
-#endif /* REPOSITORY_CONFIGURATION_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Server_Info.cpp b/TAO/orbsvcs/ImplRepo_Service/Server_Info.cpp
index d2d503911ec..63faa10e10f 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Server_Info.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Server_Info.cpp
@@ -1,67 +1,63 @@
+// $Id$
#include "Server_Info.h"
-
-ACE_RCSID (ImplRepo_Service,
- Server_Info,
- "$Id$")
-
-
-Server_Info::Server_Info (
- const ACE_CString POA_name,
- const ACE_CString logical_server_name,
- const ACE_CString startup_command,
- const ImplementationRepository::EnvironmentList environment_vars,
- const ACE_CString working_dir,
- const ImplementationRepository::ActivationMode activation)
- : starting_up_ (false),
- logical_server_name_ (logical_server_name),
- POA_name_ (POA_name),
- startup_command_ (startup_command),
- environment_vars_ (environment_vars),
- working_dir_ (working_dir),
- location_ (""),
- server_object_ior_ (""),
- activation_ (activation)
+Server_Info::Server_Info
+(
+ const ACE_CString& server_name,
+ const ACE_CString& aname,
+ const ACE_CString& cmdline,
+ const ImplementationRepository::EnvironmentList& env,
+ const ACE_CString& working_dir,
+ ImplementationRepository::ActivationMode amode,
+ int limit,
+ const ACE_CString& partial_ior,
+ const ACE_CString& server_ior,
+ ImplementationRepository::ServerObject_ptr svrobj
+ )
+ : name(server_name)
+ , activator(aname)
+ , cmdline(cmdline)
+ , env_vars(env)
+ , dir(working_dir)
+ , activation_mode(amode)
+ , start_limit (limit)
+ , partial_ior(partial_ior)
+ , ior(server_ior)
+ , server(ImplementationRepository::ServerObject::_duplicate(svrobj))
+ , start_count(0)
{
}
-
-Server_Info::~Server_Info (void)
+ImplementationRepository::ServerInformation*
+Server_Info::createImRServerInfo(ACE_ENV_SINGLE_ARG_DECL)
{
+ ImplementationRepository::ServerInformation* info;
+ ACE_NEW_THROW_EX (info, ImplementationRepository::ServerInformation, CORBA::NO_MEMORY());
+
+ info->server = name.c_str();
+ info->startup.command_line = cmdline.c_str();
+ info->startup.environment = env_vars;
+ info->startup.working_directory = dir.c_str();
+ info->startup.activation = activation_mode;
+ info->startup.activator = activator.c_str();
+ info->startup.start_limit = start_limit;
+ info->partial_ior = partial_ior.c_str();
+
+ return info;
}
-
-// Updates information that is relevant only when an instance
-// of the server is running.
void
-Server_Info::update_running_info (const ACE_CString location,
- const ACE_CString server_object_ior)
+Server_Info::reset(void)
{
- this->location_ = location;
- this->server_object_ior_ = server_object_ior;
- this->starting_up_ = false;
+ ior = "";
+ partial_ior = "";
+ last_ping = ACE_Time_Value::zero;
+ server = ImplementationRepository::ServerObject::_nil();
+ // start_count = 0; Note : We can't do this, because it would be reset during startup.
}
-
-void
-Server_Info::get_startup_info (
- ACE_CString &logical_server_name,
- ACE_CString &startup_command,
- ImplementationRepository::EnvironmentList &environment_vars,
- ACE_CString &working_dir,
- ImplementationRepository::ActivationMode &activation)
-{
- logical_server_name = this->logical_server_name_;
- startup_command = this->startup_command_;
- environment_vars = this->environment_vars_;
- working_dir = this->working_dir_;
- activation = this->activation_;
-}
-
-void
-Server_Info::get_running_info (ACE_CString &location,
- ACE_CString &server_object_ior)
-{
- location = this->location_;
- server_object_ior = this->server_object_ior_;
-}
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Server_Info.h b/TAO/orbsvcs/ImplRepo_Service/Server_Info.h
index 090eb2bb603..edbb2857df6 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Server_Info.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Server_Info.h
@@ -1,5 +1,3 @@
-/* -*- C++ -*- */
-
//=============================================================================
/**
* @file Server_Info.h
@@ -12,102 +10,64 @@
* @author Darrell Brunsch <brunsch@cs.wustl.edu>
* @author Priyanka Gontla <gontla_p@ociweb.com>
*/
-//=============================================================================
-
#ifndef SERVER_INFO_H
#define SERVER_INFO_H
-#include "XML_ContentHandler.h"
+#include "ace/Bound_Ptr.h"
#include "tao/PortableServer/ImplRepoC.h"
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
/**
- * @class Server_Info
- *
- * @brief Information about IMR registered servers.
- *
- * Contains all the necessary information about the server including
- * Information on how to start it up and where it is running.
- */
-class Server_Info
+* @brief Information about IMR registered servers.
+*/
+struct Server_Info
{
-public:
- // = Constructors
-
- /// Initialize the command_line and working_dir.
- Server_Info (const ACE_CString POA_name,
- const ACE_CString logical_server_name,
- const ACE_CString startup_command,
- const ImplementationRepository::EnvironmentList
- environment_vars,
- const ACE_CString working_dir,
- const ImplementationRepository::ActivationMode activation);
-
- // = Destructors
-
- /// The only destructor there is.
- ~Server_Info (void);
-
- /// Updates information that is relevant only when an instance
- /// of the server is running.
- void update_running_info (const ACE_CString location,
- const ACE_CString server_object_ior);
-
- /// Returns startup information.
- void get_startup_info (ACE_CString &logical_server_name,
- ACE_CString &startup_command,
- ImplementationRepository::EnvironmentList
- &environment_vars,
- ACE_CString &working_dir,
- ImplementationRepository::ActivationMode
- &activation);
-
- /// Returns information about a running instance.
- void get_running_info (ACE_CString &location,
- ACE_CString &server_object_ior);
-
- // ActivationMode get_activation (void);
- // Get the activation mode.
-
- // @@ Does this belong here?
- // int startup ();
- // Starts up the server based on the information.
- // Returns: 0 if successful
- // -1 if there is no registration command (it has to be manually
- // restarted)
-
- /// This is a flag to determine if the process has already been spawned
- /// and we are just waiting for it to start up.
- bool starting_up_;
-
-private:
- /// Which server process this poa is grouped in.
- ACE_CString logical_server_name_;
-
- /// The name of the POA.
- ACE_CString POA_name_;
-
+ Server_Info (const ACE_CString& server_name,
+ const ACE_CString& aname,
+ const ACE_CString& cmdline,
+ const ImplementationRepository::EnvironmentList& env,
+ const ACE_CString& working_dir,
+ ImplementationRepository::ActivationMode amode,
+ int start_limit,
+ const ACE_CString& partial_ior = ACE_CString(""),
+ const ACE_CString& server_ior = ACE_CString(""),
+ ImplementationRepository::ServerObject_ptr svrobj = ImplementationRepository::ServerObject::_nil()
+ );
+
+ /// Convert to the corba type
+ ImplementationRepository::ServerInformation* createImRServerInfo(ACE_ENV_SINGLE_ARG_DECL);
+
+ void reset();
+
+ /// The name of the server.
+ ACE_CString name;
+ /// The name of the activator in which this server runs
+ ACE_CString activator;
/// The command line startup command (program and arguments).
- ACE_CString startup_command_;
-
+ ACE_CString cmdline;
/// Environment Variables.
- ImplementationRepository::EnvironmentList environment_vars_;
-
+ ImplementationRepository::EnvironmentList env_vars;
/// The working directory.
- ACE_CString working_dir_;
-
+ ACE_CString dir;
+ /// The type of activation this supports.
+ ImplementationRepository::ActivationMode activation_mode;
+ /// Limit of retries to start the server
+ int start_limit;
/// Current endpoint used by the server.
- ACE_CString location_;
-
+ ACE_CString partial_ior;
/// IOR of the server object in the server.
- ACE_CString server_object_ior_;
-
- /// The type of activation this supports.
- ImplementationRepository::ActivationMode activation_;
-
- // No copying allowed.
- void operator= (Server_Info &);
- Server_Info (Server_Info &);
+ ACE_CString ior;
+ /// The timestamp of the last time we verified the server is alive
+ ACE_Time_Value last_ping;
+ /// The cached server object
+ ImplementationRepository::ServerObject_var server;
+ int start_count;
};
+typedef ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> Server_Info_Ptr;
+
#endif /* SERVER_INFO_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Server_Repository.cpp b/TAO/orbsvcs/ImplRepo_Service/Server_Repository.cpp
deleted file mode 100644
index 7ef2dc52637..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/Server_Repository.cpp
+++ /dev/null
@@ -1,726 +0,0 @@
-#include "Server_Repository.h"
-#include "XML_ContentHandler.h"
-#include "Activator_Options.h"
-
-#include "ACEXML/parser/parser/Parser.h"
-#include "ACEXML/common/FileCharStream.h"
-
-#include "ace/OS_NS_unistd.h"
-
-ACE_RCSID (ImplRepo_Service,
- Server_Repository,
- "$Id$")
-
-int
-Server_Repository::init (void)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
- if (rmode != Options::REPO_XML_FILE)
- {
- Repository_Configuration *config = OPTIONS::instance ()->config ();
- ACE_ASSERT(config != 0);
-
- // iterate through the list of registered servers and register them
-
- config->open_section (config->root_section (),
- ACE_LIB_TEXT ("Servers"),
- 1,
- this->servers_);
- int index = 0;
- ACE_CString name;
-
- while (config->enumerate_sections (servers_, index, name) == 0)
- {
- ACE_CString logical, startup, working_dir;
- u_int activation_val = 0;
- ImplementationRepository::ActivationMode activation;
-
- ImplementationRepository::EnvironmentList environment_vars;
-
- ACE_Configuration_Section_Key server_key;
- int error = 0;
-
- error += config->open_section (this->servers_,
- name.c_str(),
- 0,
- server_key);
-
- error += config->get_string_value (server_key,
- ACE_LIB_TEXT ("LogicalServer"),
- logical);
-
- error += config->get_string_value (server_key,
- ACE_LIB_TEXT ("StartupCommand"),
- startup);
-
- error += config->get_string_value (server_key,
- ACE_LIB_TEXT ("WorkingDir"),
- working_dir);
-
- error += config->get_integer_value (server_key,
- ACE_LIB_TEXT ("Activation"),
- activation_val);
-
- activation =
- ACE_static_cast (ImplementationRepository::ActivationMode,
- activation_val);
-
- // Maybe environments variables?? need a straightforward
- // way to store env vars.
-
- if (error != 0)
- {
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("Error reading configuration data for ")
- ACE_TEXT ("service '%s',skipping\n"),
- name.c_str ()));
- }
- else
- {
- this->add (name,
- logical,
- startup,
- environment_vars,
- working_dir,
- activation);
- }
-
- index++;
- }
- }
- else
- {
- /// @@ Not quite sure what I want to do here .. leave for
- /// now. I guess similar stuff like check if that particular
- /// server info exists etc.
- }
-
- return 0;
-}
-
-
-// Add a new server to the Repository
-
-int
-Server_Repository::add (
- const ACE_CString& POA_name,
- const ACE_CString& logical_server_name,
- const ACE_CString& startup_command,
- const ImplementationRepository::EnvironmentList& environment_vars,
- const ACE_CString& working_dir,
- const ImplementationRepository::ActivationMode& activation
- )
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
- if (rmode != Options::REPO_XML_FILE)
- {
- Repository_Configuration *config = OPTIONS::instance ()->config ();
- ACE_ASSERT(config != 0);
-
- // @@ Add this to the persistent configuration; environment_vars??
- ACE_Configuration_Section_Key server;
- config->open_section (this->servers_,
- POA_name.c_str(),
- 1,
- server);
-
- config->set_string_value (server,
- ACE_LIB_TEXT ("LogicalServer"),
- logical_server_name);
-
- config->set_string_value (server,
- ACE_LIB_TEXT ("StartupCommand"),
- startup_command);
-
- config->set_string_value (server,
- ACE_LIB_TEXT ("WorkingDir"),
- working_dir);
-
- config->set_integer_value (server,
- ACE_LIB_TEXT ("Activation"),
- activation);
-
- Server_Info *new_server = 0;
- ACE_NEW_RETURN (new_server,
- Server_Info (POA_name,
- logical_server_name,
- startup_command,
- environment_vars,
- working_dir,
- activation),
- -1);
-
- return this->repository_.bind (POA_name, new_server);
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r");
-
- if (fp != 0)
- {
- ACE_TCHAR buffer[4096];
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- /// Obviously, we need to/can update only if we find an
- /// entry for it in the xml file.
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found != 0)
- {
- /// An entry found for the POA_name. So, dont
- /// add it again.
- ACE_DEBUG ((LM_DEBUG,
- "ImR Activator: The %s is already added.\n", POA_name.c_str ()));
-
- ACE_OS::fclose (fp);
-
- return 0;
- }
- }
- }
-
- /// If control comes here, it means this server isnt added already.
- fp = ACE_OS::fopen (filename.c_str(), "a");
-
- if (fp == 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Coudnt open the file to append\n"),
- -1);
- }
-
- ACE_CString server_info = "<SERVER_INFORMATION>";
- server_info += "<Server>";
- server_info += POA_name.c_str ();
- server_info += "</Server>\n<StartupOptions>\n<Command_Line>";
- server_info += startup_command;
- server_info += "</Command_Line>\n<WorkingDir>";
- server_info += working_dir;
- server_info += "</WorkingDir>\n<Activation>";
- server_info += OPTIONS::instance ()->convert_str (activation);
- server_info += "</Activation>\n</StartupOptions>\n</SERVER_INFORMATION>\n";
-
- ACE_OS::fprintf(fp, server_info.c_str());
- ACE_OS::fclose(fp);
-
- return 0;
- }
-}
-
-// Update the associated process information.
-
-int
-Server_Repository::update (const ACE_CString& POA_name,
- const ACE_CString& location,
- const ACE_CString& server_object_ior)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
- if (rmode != Options::REPO_XML_FILE)
- {
- Server_Info *server = 0;
- int retval = this->repository_.find (POA_name, server);
-
- // Only fill in data if it was found
- if (retval == 0)
- {
- ACE_ASSERT(server != 0);
- server->update_running_info (location, server_object_ior);
- }
-
- return retval;
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r+");
- ACE_ASSERT(fp != 0);
-
- ACE_TCHAR buffer[4096];
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- /// Obviously, we need to/can update only if we find an
- /// entry for it in the xml file.
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found != 0)
- {
- /// found an entry. So, need to update the entry
- /// information.
- this->handler_->update_running_information (POA_name,
- location,
- server_object_ior);
- return 0;
- }
- }
- return -1;
- }
-}
-
-// Returns information related to startup.
-
-int
-Server_Repository::get_startup_info (
- const ACE_CString& POA_name,
- ACE_CString& logical_server_name,
- ACE_CString& startup_command,
- ImplementationRepository::EnvironmentList& environment_vars,
- ACE_CString& working_dir,
- ImplementationRepository::ActivationMode& activation
- )
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
- if (rmode != Options::REPO_XML_FILE)
- {
- Server_Info* server = 0;
- int retval = this->repository_.find (POA_name, server);
-
- // Only fill in data if it was found
- if (retval == 0)
- {
- ACE_ASSERT(server != 0);
- server->get_startup_info (logical_server_name,
- startup_command,
- environment_vars,
- working_dir,
- activation);
- }
- return retval;
- }
- else
- {
- ACEXML_FileCharStream *fstm = 0;
- ACE_NEW_RETURN (fstm,
- ACEXML_FileCharStream (),
- 1);
-
- const char* fname = OPTIONS::instance()->file_name().c_str();
- if (fstm->open (fname) != 0)
- {
- ACE_ERROR((LM_ERROR, ACE_LIB_TEXT("Fail to open XML file: %s\n"), fname));
- return 1;
- }
-
- this->handler_ = new XML_ContentHandler (POA_name.c_str ());
-
- ACEXML_Parser parser;
-
- ACEXML_InputSource input(fstm);
-
- parser.setContentHandler (this->handler_);
- parser.setDTDHandler (this->handler_);
- parser.setErrorHandler (this->handler_);
- parser.setEntityResolver (this->handler_);
-
- ACEXML_TRY_NEW_ENV
- {
- parser.parse (&input ACEXML_ENV_ARG_PARAMETER);
- ACEXML_TRY_CHECK;
- }
- ACEXML_CATCH (ACEXML_Exception, ex)
- {
- ex.print();
- return -1;
- }
- ACEXML_ENDTRY;
-
- ACE_CString activation_mode;
-
- this->handler_->get_startup_information (logical_server_name,
- startup_command,
- working_dir,
- activation_mode);
-
- activation = OPTIONS::instance ()->convert_mode (activation_mode.c_str ());
-
- return 0;
- }
-}
-
-
-// Returns information related to a running copy.
-
-int
-Server_Repository::get_running_info (const ACE_CString& POA_name,
- ACE_CString& location,
- ACE_CString& server_object_ior)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
-
- if (rmode != Options::REPO_XML_FILE)
- {
- Server_Info *server;
- int retval = this->repository_.find (POA_name, server);
-
- // Only fill in data if it was found
- if (retval == 0)
- {
- ACE_ASSERT(server != 0);
- server->get_running_info (location, server_object_ior);
- }
- return retval;
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r");
- ACE_ASSERT(fp != 0);
-
- ACE_TCHAR buffer[4096];
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found != 0)
- {
- /// Found an entry for the POA_name. So, we can proceed.
- this->handler_->get_running_information (POA_name,
- location,
- server_object_ior);
- return 0;
- }
- }
- /// If control comes here.. implies, there is no entry for the
- /// POA_name.
- return -1;
- }
-}
-
-
-// Checks the starting_up_ variable in the Server_Info and
-// returns the previous value or -1 if the POA_name wasn't found
-
-int
-Server_Repository::starting_up (const ACE_CString& POA_name,
- int new_value)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
-
- if (rmode != Options::REPO_XML_FILE)
- {
- Server_Info *server;
- int retval = this->repository_.find (POA_name, server);
-
- // Only fill in data if it was found
- if (retval == 0)
- {
- ACE_ASSERT(server != 0);
- retval = server->starting_up_ ? 1 : 0;
- server->starting_up_ = new_value != 0;
- }
- return retval;
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r");
- ACE_ASSERT(fp != 0);
-
- ACE_TCHAR buffer[4096];
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found != 0)
- {
- int retval;
- /// Found an entry for the POA_name. So, we can proceed.
- this->handler_->get_startup_value (POA_name, retval);
- this->handler_->set_startup_value (POA_name, new_value);
- return retval;
- }
- }
- /// If control comes here.. implies, there is no entry for the
- /// POA_name.
- return -1;
- }
-}
-
-// Same as above but does not alter the value
-
-int
-Server_Repository::starting_up (const ACE_CString& POA_name)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
-
- if (rmode != Options::REPO_XML_FILE)
- {
- Server_Info *server;
-
- int retval = this->repository_.find (POA_name, server);
-
- // Only fill in data if it was found
- if (retval == 0)
- {
- ACE_ASSERT(server != 0);
- retval = server->starting_up_ != 0;
- }
-
- return retval;
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r");
- ACE_ASSERT(fp != 0);
-
- ACE_TCHAR buffer[4096];
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found != 0)
- {
- int retval;
- /// Found an entry for the POA_name. So, we can proceed.
- this->handler_->get_startup_value (POA_name, retval);
- return retval;
- }
- }
- /// If control comes here.. implies, there is no entry for the
- /// POA_name.
- return -1;
- }
-}
-
-
-// Removes the server from the Repository.
-
-int
-Server_Repository::remove (const ACE_CString& POA_name)
-{
- int rmode = OPTIONS::instance ()->repository_mode ();
-
- if (rmode != Options::REPO_XML_FILE)
- {
- Repository_Configuration *config = OPTIONS::instance ()->config ();
- ACE_ASSERT(config != 0);
- // Remove the persistent configuration information
- config->remove_section (this->servers_,
- POA_name.c_str(),
- 1);
- return this->repository_.unbind (POA_name);
- }
- else
- {
- ACE_CString filename = OPTIONS::instance ()->file_name ();
-
- FILE *fp = ACE_OS::fopen (filename.c_str(), "r");
- ACE_ASSERT(fp != 0);
-
- /// Have a temporary file
- CORBA::String_var temp_file = "temporary_file";
-
- FILE *fp_temp = ACE_OS::fopen (temp_file.in (), "w");
- ACE_ASSERT(fp_temp != 0);
-
- ACE_TCHAR buffer[4096];
-
- bool remove_section = false;
- // int dtd_section = 0;
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp))
- {
- if (! remove_section)
- {
- ACE_TCHAR* found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found == 0)
- {
- ACE_OS::fprintf (fp_temp, buffer);
- }
- else
- {
- remove_section = true;
- }
- }
- else
- {
- ACE_TCHAR* found = ACE_OS::strstr (buffer, "</SERVER_INFORMATION>");
-
- if (found != 0)
- remove_section = false;
- }
- }
-
- ACE_OS::fclose (fp_temp);
- ACE_OS::fclose (fp);
-
- // Now copy the temporary file to the original file.
- fp_temp = ACE_OS::fopen (temp_file.in (), "r");
- ACE_ASSERT(fp_temp != 0);
-
- fp = ACE_OS::fopen (filename.c_str(), "w");
- ACE_ASSERT(fp != 0);
-
- while (ACE_OS::fgets (buffer, sizeof (buffer), fp_temp))
- {
- ACE_OS::fprintf (fp, buffer);
- }
-
- ACE_OS::fclose (fp);
- ACE_OS::fclose (fp_temp);
- ACE_OS::unlink (temp_file.in ());
- return 0;
- }
- /*
- /// There is no support for DTD in the XML parser as of
- /// now. Will uncomment this part when the support is
- /// added.
-
- if (dtd_section == 0)
- {
- found = ACE_OS::strstr (buffer, "]>");
-
- if (found != 0)
- {
- dtd_section = 1;
- remove_section = 0;
- }
-
- ACE_OS::fprintf (fp_temp,
- buffer);
- }
- else
- {
- if (remove_section == 0)
- {
- found = ACE_OS::strstr (buffer, POA_name.c_str ());
-
- if (found == 0)
- {
- ACE_OS::fprintf (fp_temp,
- buffer);
- }
- else
- {
- remove_section = 1;
- }
- }
- else
- {
- found = ACE_OS::strstr (buffer, "</SERVER_INFORMATION>");
-
- if (found != 0)
- remove_section = 0;
- }
- }
-
- }
- ACE_OS::fclose (fp_temp);
- ACE_OS::fclose (fp);
-
- // Now copy the temporary file to the original file.
- fp_temp = ACE_OS::fopen (temp_file, "r");
-
- fp = ACE_OS::fopen (filename, "w");
-
- while (ACE_OS::fgets (buffer, 4096, fp_temp))
- {
- ACE_OS::fprintf (fp,
- buffer);
- }
-
- ACE_OS::fclose (fp);
- ACE_OS::fclose (fp_temp);
- ACE_OS::unlink (temp_file);
- }
- */
-}
-
-int
-Server_Repository::write_to_xml (
- const ACE_CString&,
- const ACE_CString&,
- const ACE_CString&,
- const ImplementationRepository::EnvironmentList&,
- const ACE_CString&,
- const ImplementationRepository::ActivationMode&)
-{
- /*
- ACE_TCHAR *filename = "trial.xml";
-
- ACE_Configuration_Heap *heap = 0;
- ACE_NEW_RETURN (heap, ACE_Configuration_Heap, -1);
-
- if (heap->open (filename) != 0)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: Opening persistent heap file '%s'\n"),
- filename));
- }
-
- heap->open_section (heap->root_section (),
- "Trail_Servers",
- 1,
-
- */
- return 0;
-}
-
-
-// Returns a new iterator that travels over the repository.
-
-Server_Repository::HASH_IMR_MAP::ITERATOR *
-Server_Repository::new_iterator (void)
-{
- HASH_IMR_MAP::ITERATOR *hash_iter = 0;
- ACE_NEW_RETURN (hash_iter,
- Server_Repository::HASH_IMR_MAP::ITERATOR (this->repository_),
- 0);
-
- return hash_iter;
-}
-
-
-// Returns the number of entries in the repository.
-
-size_t
-Server_Repository::get_repository_size (void)
-{
- return this->repository_.current_size ();
-}
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Hash_Map_Entry<ACE_CString, Server_Info *>;
-template class ACE_Hash_Map_Manager_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>;
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC == 0x500)
-// This template is already defined in TAO, but Sun/CC 5.0 is broken
-template class ACE_Equal_To<ACE_CString>;
-#endif /* __SUNPRO_CC */
-// Instantiate for ACE_WString because ACE_CString can be either
-// ACE_CString or ACE_WString.
-template class ACE_Equal_To<ACE_WString>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Hash_Map_Entry<ACE_CString, Server_Info *>
-#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_CString, Server_Info *,ACE_Hash<ACE_CString>, ACE_Equal_To<ACE_CString>, ACE_Null_Mutex>
-
-#if defined(__SUNPRO_CC) && (__SUNPRO_CC == 0x500)
-// This template is already defined in TAO, but Sun/CC 5.0 is broken
-#pragma instantiate ACE_Equal_To<ACE_CString>
-#endif /* __SUNPRO_CC */
-// Instantiate for ACE_WString because ACE_CString can be either
-// ACE_CString or ACE_WString.
-#pragma instantiate ACE_Equal_To<ACE_WString>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/ImplRepo_Service/Server_Repository.h b/TAO/orbsvcs/ImplRepo_Service/Server_Repository.h
deleted file mode 100644
index 75e0b484d38..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/Server_Repository.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* -*- C++ -*- */
-
-//=============================================================================
-/**
- * @file Server_Repository.h
- *
- * $Id$
- *
- * This class implements the Repository for the Implementation Repository.
- *
- * @author Darrell Brunsch <brunsch@cs.wustl.edu>
- * @author Priyanka Gontla <gontla_p@ociweb.com>
- */
-//=============================================================================
-
-#ifndef REPOSITORY_H
-#define REPOSITORY_H
-
-#include "Server_Info.h"
-
-#include "ace/Hash_Map_Manager.h"
-#include "ace/Configuration.h"
-
-
-class XML_ContentHandler;
-
-
-/**
- * @class Server_Repository
- *
- * @brief Repository of Server_Infos.
- *
- * Handles the storage, updating, and startup of servers.
- */
-class Server_Repository
-{
-public:
- typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
- Server_Info *,
- ACE_Hash<ACE_CString>,
- ACE_Equal_To<ACE_CString>,
- ACE_Null_Mutex> HASH_IMR_MAP;
-
- /// Initializes the Server Repository
- int init (void);
-
- /// Add a new server to the Repository
- int add (const ACE_CString& POA_name,
- const ACE_CString& logical_server_name,
- const ACE_CString& startup_command,
- const ImplementationRepository::EnvironmentList& environment_vars,
- const ACE_CString& working_dir,
- const ImplementationRepository::ActivationMode& activation);
-
- /// Update the associated process information.
- int update (const ACE_CString& POA_name,
- const ACE_CString& location,
- const ACE_CString& server_object_ior);
-
- /// Returns information related to startup.
- int get_startup_info (const ACE_CString& POA_name,
- ACE_CString& logical_server_name,
- ACE_CString& startup_command,
- ImplementationRepository::EnvironmentList& environment_vars,
- ACE_CString& working_dir,
- ImplementationRepository::ActivationMode& activation);
-
- /// Returns information related to a running copy.
- int get_running_info (const ACE_CString& POA_name,
- ACE_CString& location,
- ACE_CString& server_object_ior);
-
- /// Checks the starting_up_ variable in the Server_Info and
- /// returns the previous value or -1 if the POA_name wasn't found
- int starting_up (const ACE_CString& POA_name, int new_value);
-
- /// Same as above but does not alter the value.
- int starting_up (const ACE_CString& POA_name);
-
- /// Removes the server from the Repository.
- int remove (const ACE_CString& POA_name);
-
- /// Write into the xml file.
- int write_to_xml (const ACE_CString& POA_name,
- const ACE_CString& logical_server_name,
- const ACE_CString& startup_command,
- const ImplementationRepository::EnvironmentList& environment_vars,
- const ACE_CString& working_dir,
- const ImplementationRepository::ActivationMode& activation);
- /// Returns a new iterator that travels over the repository.
- HASH_IMR_MAP::ITERATOR *new_iterator (void);
-
- /// Returns the number of entries in the repository.
- size_t get_repository_size (void);
-
-private:
-
- HASH_IMR_MAP repository_;
- ACE_Configuration_Section_Key servers_;
- XML_ContentHandler *handler_;
-};
-
-
-#endif /* REPOSITORY_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.cpp b/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.cpp
deleted file mode 100644
index b3a42b2c304..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-#include "XML_ContentHandler.h"
-
-
-ACE_RCSID (ImplRepo_Service,
- XML_ContentHandler,
- "$Id$")
-
-
-XML_ContentHandler::XML_ContentHandler (const char *server_name)
- : server_name_ (server_name),
- found_server_entry_ (false),
- command_line_entry_ (false),
- working_dir_entry_ (false),
- environment_vars_entry_ (false),
- activation_entry_ (false),
- server_object_ior_entry_ (false),
- location_entry_ (false),
- startup_value_ (false)
-{
- // no-op
-}
-
-XML_ContentHandler::~XML_ContentHandler (void)
-{
- // no-op
-}
-
-void
-XML_ContentHandler::characters (const ACEXML_Char *cdata,
- int /* start */,
- int /* end */
- ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- if (ACE_OS::strcmp (cdata, this->server_name_.c_str ()) == 0)
- {
- this->found_server_entry_ = true;
- }
-
- if (this->command_line_entry_ )
- {
- this->command_line_ = cdata;
- this->command_line_entry_ = false;
- }
- else if (this->working_dir_entry_ )
- {
- this->working_dir_ = cdata;
- this->working_dir_entry_ = false;
- }
- else if (this->activation_entry_ )
- {
- this->activation_ = cdata;
- this->activation_entry_ = false;
- }
- else if (this->environment_vars_entry_ )
- {
- this->environment_vars_ = cdata;
- this->environment_vars_entry_ = false;
- }
- else if (this->location_entry_ )
- {
- this->location_ = cdata;
- this->location_entry_ = false;
- }
- else if (this->server_object_ior_entry_ )
- {
- this->server_object_ior_ = cdata;
- this->server_object_ior_entry_ = false;
- }
-}
-
-void
-XML_ContentHandler::endDocument ( ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
-}
-
-void
-XML_ContentHandler::endElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char * /* qName */ ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
-}
-
-void
-XML_ContentHandler::endPrefixMapping (const ACEXML_Char * /* prefix */ ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // cout << "* Event endPrefixMapping (" << prefix << ") ***************" << endl;
-}
-
-void
-XML_ContentHandler::ignorableWhitespace (const ACEXML_Char *,
- int,
- int ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // cout << "* Event ignorableWhitespace () ***************" << endl;
-}
-
-void
-XML_ContentHandler::processingInstruction (const ACEXML_Char * /* target */,
- const ACEXML_Char * /* data */ ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // this->print_indent ();
-// cout << "<?" << target << " "
-// << data << "?>" << endl;
-}
-
-void
-XML_ContentHandler::setDocumentLocator (ACEXML_Locator *)
-{
- // cout << "* Event setDocumentLocator () ***************" << endl;
-}
-
-void
-XML_ContentHandler::skippedEntity (const ACEXML_Char * /* name */ ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // cout << "* Event skippedEntity (" << name << ") ***************" << endl;
-}
-
-void
-XML_ContentHandler::startDocument ( ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // cout << "* Event startDocument () ***************" << endl;
-}
-
-void
-XML_ContentHandler::startElement (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *qName,
- ACEXML_Attributes * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- if (this->found_server_entry_ )
- {
- if (ACE_OS::strcmp (qName, "Command_Line") == 0)
- {
- this->command_line_entry_ = true;
- }
- else if (ACE_OS::strcmp (qName, "WorkingDir") == 0)
- {
- this->working_dir_entry_ = true;
- }
- else if (ACE_OS::strcmp (qName, "Activation") == 0)
- {
- this->activation_entry_ = true;
- }
- else if (ACE_OS::strcmp (qName, "Command_Line") == 0)
- {
- this->environment_vars_entry_ = true;
- }
- else if (ACE_OS::strcmp (qName, "Location") == 0)
- {
- this->location_entry_ = true;
- }
- else if (ACE_OS::strcmp (qName, "Server_Object_IOR") == 0)
- {
- this->server_object_ior_entry_ = true;
- }
- }
-}
-
-void
-XML_ContentHandler::startPrefixMapping (const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-// *** Methods inherit from ACEXML_DTDHandler.
-
-void
-XML_ContentHandler::notationDecl (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-XML_ContentHandler::unparsedEntityDecl (const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-// Methods inherit from ACEXML_EnitityResolver.
-
-ACEXML_InputSource *
-XML_ContentHandler::resolveEntity (const ACEXML_Char *,
- const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
- return 0;
-}
-
-// Methods inherit from ACEXML_ErrorHandler.
-
- /*
- * Receive notification of a recoverable error.
- */
-void
-XML_ContentHandler::error (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-XML_ContentHandler::fatalError (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-void
-XML_ContentHandler::warning (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((ACEXML_SAXException))
-{
- // No-op.
-}
-
-int
-XML_ContentHandler::get_startup_information (ACE_CString &logical_server_name,
- ACE_CString &startup_command,
- // ImplementationRepository::EnvironmentList
- //&environment_vars,
- ACE_CString &working_dir,
- //ImplementationRepository::ActivationMode
- ACE_CString &activation)
-{
- startup_command = this->command_line_;
-
- logical_server_name = this->server_name_;
-
- working_dir = this->working_dir_;
-
- activation = this->activation_;
-
- return 0;
-}
-
-int
-XML_ContentHandler::get_running_information (ACE_CString POA_name,
- ACE_CString &location,
- ACE_CString &server_object_ior)
-{
- if (ACE_OS::strcmp (POA_name.c_str (), this->server_name_.c_str ()) == 0)
- {
- location = this->location_;
- server_object_ior = this->server_object_ior_;
- }
- return 0;
-}
-
-void
-XML_ContentHandler::set_startup_value (ACE_CString POA_name,
- int new_value)
-{
- this->server_name_ = POA_name;
- this->startup_value_ = new_value != 0;
-}
-
-void
-XML_ContentHandler::get_startup_value (ACE_CString /* POA_name */,
- int &new_value)
-{
- new_value = this->startup_value_ ? 1 : 0;
-}
-
-void
-XML_ContentHandler::update_running_information (ACE_CString /* POA_name */,
- ACE_CString location,
- ACE_CString server_object_ior)
-{
- this->location_ = location;
- this->server_object_ior_ = server_object_ior;
-}
diff --git a/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.h b/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.h
deleted file mode 100644
index ee3e69beab7..00000000000
--- a/TAO/orbsvcs/ImplRepo_Service/XML_ContentHandler.h
+++ /dev/null
@@ -1,221 +0,0 @@
-// -*- C++ -*-
-//=============================================================================
-/**
- * @file XML_ContentHandler.h
- *
- * $Id$
- *
- * @brief This is a content handler which helps update the existing
- * xml file used for store server configuration.
- *
- * @author Priyanka Gontla <gontla_p@ociweb.com>
- */
-//=============================================================================
-
-#ifndef XML_CONTENTHANDLER_H
-#define XML_CONTENTHANDLER_H
-
-#include "ACEXML/common/DefaultHandler.h"
-
-/**
- * @class XML_ContentHandler
- *
- * @brief Implementation Repository
- *
- * This provides the interface to update the Server Configuration
- * which is in an xml file.
- *
- */
-class XML_ContentHandler : public ACEXML_DefaultHandler
-{
-public:
- // = Constructor and destructor
- XML_ContentHandler (const char *server_name);
-
- virtual ~XML_ContentHandler (void);
-
- // Methods inherit from ACEXML_ContentHandler.
-
- /*
- * Receive notification of character data.
- */
- virtual void characters (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of the end of a document.
- */
- virtual void endDocument ( ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of the end of an element.
- */
- virtual void endElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * End the scope of a prefix-URI mapping.
- */
- virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of ignorable whitespace in element content.
- */
- virtual void ignorableWhitespace (const ACEXML_Char *ch,
- int start,
- int length ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of a processing instruction.
- */
- virtual void processingInstruction (const ACEXML_Char *target,
- const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive an object for locating the origin of SAX document events.
- */
- virtual void setDocumentLocator (ACEXML_Locator *locator) ;
-
- /*
- * Receive notification of a skipped entity.
- */
- virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of the beginning of a document.
- */
- virtual void startDocument ( ACEXML_ENV_SINGLE_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of the beginning of an element.
- */
- virtual void startElement (const ACEXML_Char *namespaceURI,
- const ACEXML_Char *localName,
- const ACEXML_Char *qName,
- ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Begin the scope of a prefix-URI Namespace mapping.
- */
- virtual void startPrefixMapping (const ACEXML_Char *prefix,
- const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- // *** Methods inherit from ACEXML_DTDHandler.
-
- /*
- * Receive notification of a notation declaration event.
- */
- virtual void notationDecl (const ACEXML_Char *name,
- const ACEXML_Char *publicId,
- const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of an unparsed entity declaration event.
- */
- virtual void unparsedEntityDecl (const ACEXML_Char *name,
- const ACEXML_Char *publicId,
- const ACEXML_Char *systemId,
- const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- // Methods inherit from ACEXML_EnitityResolver.
-
- /*
- * Allow the application to resolve external entities.
- */
- virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
- const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- // Methods inherit from ACEXML_ErrorHandler.
-
- /*
- * Receive notification of a recoverable error.
- */
- virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of a non-recoverable error.
- */
- virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- /*
- * Receive notification of a warning.
- */
- virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
- ACE_THROW_SPEC ((ACEXML_SAXException));
-
- int get_startup_information (ACE_CString &logical_server_name,
- ACE_CString &startup_command,
- // ImplementationRepository::EnvironmentList
- //&environment_vars,
- ACE_CString &working_dir,
- //ImplementationRepository::ActivationMode
- ACE_CString &activation);
-
- int get_running_information (ACE_CString POA_name,
- ACE_CString &location,
- ACE_CString &server_object_ior);
-
- void update_running_information (ACE_CString POA_name,
- ACE_CString location,
- ACE_CString server_object_ior);
-
- void set_startup_value (ACE_CString POA_name,
- int new_value);
-
- void get_startup_value (ACE_CString POA_name,
- int &new_value);
-
-
- private:
-
- // Holds the server_name
- ACE_CString server_name_;
-
- // Holds the command_line that is to be used to activate the
- // server
- ACE_CString command_line_;
-
-
- ACE_CString activation_;
-
- // Directory where it should be running
- ACE_CString working_dir_;
-
- // Environment variables if any
- ACE_CString environment_vars_;
-
- // IOR of the server
- ACE_CString server_object_ior_;
-
- // Hostname
- ACE_CString location_;
-
- // Checks to see if that particular entry exists.
- bool found_server_entry_;
- bool command_line_entry_;
- bool working_dir_entry_;
- bool environment_vars_entry_;
- bool activation_entry_;
- bool server_object_ior_entry_;
- bool location_entry_;
- bool startup_value_;
-};
-
-#endif /* XML_CONTENTHANDLER_H */
diff --git a/TAO/orbsvcs/ImplRepo_Service/activator_export.h b/TAO/orbsvcs/ImplRepo_Service/activator_export.h
new file mode 100644
index 00000000000..fcd22f8ccde
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/activator_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s Activator
+// ------------------------------
+#ifndef ACTIVATOR_EXPORT_H
+#define ACTIVATOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACTIVATOR_HAS_DLL)
+# define ACTIVATOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACTIVATOR_HAS_DLL */
+
+#if !defined (ACTIVATOR_HAS_DLL)
+# define ACTIVATOR_HAS_DLL 1
+#endif /* ! ACTIVATOR_HAS_DLL */
+
+#if defined (ACTIVATOR_HAS_DLL) && (ACTIVATOR_HAS_DLL == 1)
+# if defined (ACTIVATOR_BUILD_DLL)
+# define Activator_Export ACE_Proper_Export_Flag
+# define ACTIVATOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACTIVATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACTIVATOR_BUILD_DLL */
+# define Activator_Export ACE_Proper_Import_Flag
+# define ACTIVATOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACTIVATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACTIVATOR_BUILD_DLL */
+#else /* ACTIVATOR_HAS_DLL == 1 */
+# define Activator_Export
+# define ACTIVATOR_SINGLETON_DECLARATION(T)
+# define ACTIVATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACTIVATOR_HAS_DLL == 1 */
+
+// Set ACTIVATOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACTIVATOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACTIVATOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACTIVATOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACTIVATOR_NTRACE */
+
+#if (ACTIVATOR_NTRACE == 1)
+# define ACTIVATOR_TRACE(X)
+#else /* (ACTIVATOR_NTRACE == 1) */
+# define ACTIVATOR_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (ACTIVATOR_NTRACE == 1) */
+
+#endif /* ACTIVATOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/ImplRepo_Service/activator_idl_export.h b/TAO/orbsvcs/ImplRepo_Service/activator_idl_export.h
new file mode 100644
index 00000000000..5ae5cbc5e22
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/activator_idl_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s Activator
+// ------------------------------
+#ifndef ACTIVATOR_IDL_EXPORT_H
+#define ACTIVATOR_IDL_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (ACTIVATOR_IDL_HAS_DLL)
+# define ACTIVATOR_IDL_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && ACTIVATOR_IDL_HAS_DLL */
+
+#if !defined (ACTIVATOR_IDL_HAS_DLL)
+# define ACTIVATOR_IDL_HAS_DLL 1
+#endif /* ! ACTIVATOR_IDL_HAS_DLL */
+
+#if defined (ACTIVATOR_IDL_HAS_DLL) && (ACTIVATOR_IDL_HAS_DLL == 1)
+# if defined (ACTIVATOR_IDL_BUILD_DLL)
+# define ActivatorIDL_Export ACE_Proper_Export_Flag
+# define ACTIVATOR_IDL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define ACTIVATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* ACTIVATOR_IDL_BUILD_DLL */
+# define ActivatorIDL_Export ACE_Proper_Import_Flag
+# define ACTIVATOR_IDL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define ACTIVATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* ACTIVATOR_IDL_BUILD_DLL */
+#else /* ACTIVATOR_IDL_HAS_DLL == 1 */
+# define ActivatorIDL_Export
+# define ACTIVATOR_IDL_SINGLETON_DECLARATION(T)
+# define ACTIVATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* ACTIVATOR_IDL_HAS_DLL == 1 */
+
+// Set ACTIVATOR_IDL_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (ACTIVATOR_IDL_NTRACE)
+# if (ACE_NTRACE == 1)
+# define ACTIVATOR_IDL_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define ACTIVATOR_IDL_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !ACTIVATOR_IDL_NTRACE */
+
+#if (ACTIVATOR_IDL_NTRACE == 1)
+# define ACTIVATOR_IDL_TRACE(X)
+#else /* (ACTIVATOR_IDL_NTRACE == 1) */
+# define ACTIVATOR_IDL_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (ACTIVATOR_IDL_NTRACE == 1) */
+
+#endif /* ACTIVATOR_IDL_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/ImplRepo_Service/locator_export.h b/TAO/orbsvcs/ImplRepo_Service/locator_export.h
new file mode 100644
index 00000000000..8a3584386f1
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/locator_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s Locator
+// ------------------------------
+#ifndef LOCATOR_EXPORT_H
+#define LOCATOR_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCATOR_HAS_DLL)
+# define LOCATOR_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCATOR_HAS_DLL */
+
+#if !defined (LOCATOR_HAS_DLL)
+# define LOCATOR_HAS_DLL 1
+#endif /* ! LOCATOR_HAS_DLL */
+
+#if defined (LOCATOR_HAS_DLL) && (LOCATOR_HAS_DLL == 1)
+# if defined (LOCATOR_BUILD_DLL)
+# define Locator_Export ACE_Proper_Export_Flag
+# define LOCATOR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCATOR_BUILD_DLL */
+# define Locator_Export ACE_Proper_Import_Flag
+# define LOCATOR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCATOR_BUILD_DLL */
+#else /* LOCATOR_HAS_DLL == 1 */
+# define Locator_Export
+# define LOCATOR_SINGLETON_DECLARATION(T)
+# define LOCATOR_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCATOR_HAS_DLL == 1 */
+
+// Set LOCATOR_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCATOR_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCATOR_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCATOR_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCATOR_NTRACE */
+
+#if (LOCATOR_NTRACE == 1)
+# define LOCATOR_TRACE(X)
+#else /* (LOCATOR_NTRACE == 1) */
+# define LOCATOR_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (LOCATOR_NTRACE == 1) */
+
+#endif /* LOCATOR_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/ImplRepo_Service/locator_idl_export.h b/TAO/orbsvcs/ImplRepo_Service/locator_idl_export.h
new file mode 100644
index 00000000000..3016cfc767b
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/locator_idl_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s Locator
+// ------------------------------
+#ifndef LOCATOR_IDL_EXPORT_H
+#define LOCATOR_IDL_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (LOCATOR_IDL_HAS_DLL)
+# define LOCATOR_IDL_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && LOCATOR_IDL_HAS_DLL */
+
+#if !defined (LOCATOR_IDL_HAS_DLL)
+# define LOCATOR_IDL_HAS_DLL 1
+#endif /* ! LOCATOR_IDL_HAS_DLL */
+
+#if defined (LOCATOR_IDL_HAS_DLL) && (LOCATOR_IDL_HAS_DLL == 1)
+# if defined (LOCATOR_IDL_BUILD_DLL)
+# define LocatorIDL_Export ACE_Proper_Export_Flag
+# define LOCATOR_IDL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define LOCATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* LOCATOR_IDL_BUILD_DLL */
+# define LocatorIDL_Export ACE_Proper_Import_Flag
+# define LOCATOR_IDL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define LOCATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* LOCATOR_IDL_BUILD_DLL */
+#else /* LOCATOR_IDL_HAS_DLL == 1 */
+# define LocatorIDL_Export
+# define LOCATOR_IDL_SINGLETON_DECLARATION(T)
+# define LOCATOR_IDL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* LOCATOR_IDL_HAS_DLL == 1 */
+
+// Set LOCATOR_IDL_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (LOCATOR_IDL_NTRACE)
+# if (ACE_NTRACE == 1)
+# define LOCATOR_IDL_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define LOCATOR_IDL_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !LOCATOR_IDL_NTRACE */
+
+#if (LOCATOR_IDL_NTRACE == 1)
+# define LOCATOR_IDL_TRACE(X)
+#else /* (LOCATOR_IDL_NTRACE == 1) */
+# define LOCATOR_IDL_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (LOCATOR_IDL_NTRACE == 1) */
+
+#endif /* LOCATOR_IDL_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/ImplRepo_Service/repository.xml b/TAO/orbsvcs/ImplRepo_Service/repository.xml
index d8284ccf8eb..a0bf35ef009 100644
--- a/TAO/orbsvcs/ImplRepo_Service/repository.xml
+++ b/TAO/orbsvcs/ImplRepo_Service/repository.xml
@@ -1,22 +1,9 @@
<?xml version="1.0"?>
-<!DOCTYPE SERVER_REPOSITORY [
-<!ELEMENT SERVER_INFORMATION (Server, Logical_Server*, StartupOptions, Location)>
-<!ELEMENT Server (#PCDATA)>
-<!ELEMENT Logical_Server (#PCDATA)>
-<!ELEMENT StartupOptions (Command_Line, Environment*, Working_Directory*, Activation*, Location)>
-<!ELEMENT Command_Line (#PCDATA)>
-<!ELEMENT Working_Directory (#PCDATA)>
-<!ELEMENT Activation (NORMAL | MANUAL | PER_CLIENT | AUTO_START)>
-<!ELEMENT Location (#PCDATA)>
-]>
-
-<SERVER_REPOSITORY>
-
-<SERVER_INFORMATION>
-<Server>airplane_server</Server>
-<StartupOptions>
-<Command_Line>./airplane_server</Command_Line>
-<Location>doc</Location>
-</SERVER_INFORMATION>
-
-</SERVER_REPOSITORY>
+<!DOCTYPE ImplementationRepository/>
+<ImplementationRepository>
+ <Servers name="test" activator="MYHOST" command_line="mysrv" working_dir="mydir" activation_mode="NORMAL" start_limit="1" partial_ior="" ior="">
+ </Servers>
+ <Servers name="test2" activator="MYHOST" command_line="" working_dir="" activation_mode="NORMAL" start_limit="1" partial_ior="" ior="">
+ </Servers>
+ <Activators name="MYHOST" token="1610927480" ior="IOR:010000002b00000049444c3a496d706c656d656e746174696f6e5265706f7369746f72792f416374697661746f723a312e300000010000000000000090000000010102cd150000004a555354414c49454e2e6f63697765622e636f6d00cd1f083900000014010f004e555000000017000000000100000000496d525f416374697661746f7200000000000100000054414f496d52416374697661746f7200000002000000000000000800000001cdcdcd004f4154010000001400000001cdcdcd01000100000000000901010000000000"/>
+</ImplementationRepository>
diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr.cpp b/TAO/orbsvcs/ImplRepo_Service/tao_imr.cpp
index c10c54d5445..45b72a2790a 100644
--- a/TAO/orbsvcs/ImplRepo_Service/tao_imr.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr.cpp
@@ -2,15 +2,14 @@
// $Id$
#include "tao_imr_i.h"
-#include "ace/OS_main.h"
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
TAO_IMR_i tao_imr_i;
- if (tao_imr_i.init (argc, argv) == -1)
+ if (tao_imr_i.init (argc, argv) != 0)
return 1;
- else
- return tao_imr_i.run ();
+
+ return tao_imr_i.run ();
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
index 67500e37945..abdd74b7e32 100644
--- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
@@ -2,35 +2,28 @@
#include "tao_imr_i.h"
+#include "tao/PortableServer/POA.h"
+
#include "tao/Stub.h"
#include "tao/Profile.h"
#include "ace/Get_Opt.h"
#include "ace/Read_Buffer.h"
-#include "ace/OS_NS_stdio.h"
-#include "ace/OS_NS_netdb.h"
-#include "ace/OS_NS_strings.h"
-#include "ace/OS_NS_unistd.h"
-
-// How many servers should we get at once?
-const size_t IR_LIST_CHUNK = 10;
TAO_IMR_i::TAO_IMR_i (void)
- : imr_locator_ (ImplementationRepository::Locator::_nil ()),
- op_ (0)
+: imr_ (ImplementationRepository::Administration::_nil ())
{
// Nothing
}
TAO_IMR_i::~TAO_IMR_i (void)
{
- delete this->op_;
}
int
TAO_IMR_i::run ()
{
- if (this->op_ == 0)
+ if (this->op_.get() == 0)
{
ACE_ERROR ((LM_ERROR, "Unknown operation"));
return TAO_IMR_Op::UNKNOWN;
@@ -49,47 +42,46 @@ TAO_IMR_i::init (int argc, char **argv)
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- // Retrieve the ORB.
- this->orb_ = CORBA::ORB_init (this->argc_,
- this->argv_,
- "internet"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ {
+ // Retrieve the ORB.
+ this->orb_ = CORBA::ORB_init (this->argc_, this->argv_, "tao_imr_i" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Parse command line and verify parameters.
- if (this->parse_args () == -1)
- return -1;
+ // Parse command line and verify parameters.
+ if (this->parse_args () == -1)
+ return -1;
- // Get the ImplRepo object
- CORBA::Object_var imr_locator =
- orb_->resolve_initial_references ("ImplRepoService"
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ // Get the ImplRepo object
+ CORBA::Object_var obj =
+ orb_->resolve_initial_references ("ImplRepoService" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- if (CORBA::is_nil (imr_locator.in ()))
- {
- ACE_ERROR ((LM_ERROR,
- "Unable to resolve the ImR Locator.\n"));
- ACE_OS::exit (-1);
- }
+ if (CORBA::is_nil (obj.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "Unable to resolve the ImR Locator.\n"));
+ return -1;
+ }
- exception_message = "While narrowing ImR Locator";
+ exception_message = "While narrowing ImR Locator";
- this->imr_locator_ =
- ImplementationRepository::Locator::_narrow
- (imr_locator.in()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ this->imr_ =
+ ImplementationRepository::Administration::_narrow (obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- this->op_->set_imr_locator (this->imr_locator_.in ());
- }
- ACE_CATCHANY
+ if (CORBA::is_nil (imr_.in ()))
{
- ACE_ERROR ((LM_ERROR, "TAO_IMR_i::init - %s\n", exception_message));
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception");
+ ACE_ERROR ((LM_ERROR, "Unable to narrow the ImR Locator.\n"));
return -1;
}
+
+ this->op_->set_imr(this->imr_.in ());
+ }
+ ACE_CATCHANY
+ {
+ ACE_ERROR ((LM_ERROR, "TAO_IMR_i::init - %s\n", exception_message));
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception");
+ return -1;
+ }
ACE_ENDTRY;
return 0;
@@ -104,17 +96,18 @@ TAO_IMR_i::parse_args (void)
// Make sure one command was given
if (this->argc_ < 2)
{
+ ACE_ERROR((LM_ERROR, "Error: No operation specified.\n"));
this->print_usage ();
return -1;
}
- this->op_ = TAO_IMR_Op::make_op (this->argv_[1]);
+ this->op_.reset(TAO_IMR_Op::make_op (this->argv_[1]));
// Check for unrecognized operation
- if (this->op_ == 0)
+ if (this->op_.get() == 0)
{
- ACE_ERROR ((LM_ERROR, "ERROR: Unrecognized command: <%s>\n", this->argv_[1]));
+ ACE_ERROR((LM_ERROR, "Error: Unknown operation '%s'.\n", this->argv_[1]));
this->print_usage ();
return -1;
}
@@ -130,18 +123,17 @@ void
TAO_IMR_i::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Usage: tao_imr [options] command [command-arguments]\n"
- " where [options] are ORB options\n"
- " where command is one of the following:\n"
- " activate Activates a server through the IR\n"
- " add Add an entry to the IR\n"
- " autostart Activates all AUTO_START servers\n"
- " ior Creates a simplified IOR\n"
- " list List the entries in the IR\n"
- " remove Remove an entry from the IR\n"
- " shutdown Shuts down a server through the IR\n"
- " shutdown-repo Shuts down the IR\n"
- " update Update an entry in the IR\n"
- " where [command-arguments] depend on the command\n"));
+ " where [options] are ORB options\n"
+ " where command is one of the following:\n"
+ " activate Activates a server through the IR\n"
+ " add Add an entry to the IR\n"
+ " autostart Activates all AUTO_START servers\n"
+ " ior Creates a simplified IOR\n"
+ " list List the entries in the IR\n"
+ " remove Remove an entry from the IR\n"
+ " shutdown Shuts down a server through the IR\n"
+ " update Update an entry in the IR\n"
+ " where [command-arguments] depend on the command\n"));
}
@@ -164,8 +156,6 @@ TAO_IMR_Op::make_op (const ACE_TCHAR *op_name)
return new TAO_IMR_Op_Remove ();
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("shutdown")) == 0)
return new TAO_IMR_Op_Shutdown ();
- else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("shutdown-repo")) == 0)
- return new TAO_IMR_Op_Shutdown_Repo ();
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("update")) == 0)
return new TAO_IMR_Op_Update ();
@@ -179,9 +169,9 @@ TAO_IMR_Op::~TAO_IMR_Op ()
}
void
-TAO_IMR_Op::set_imr_locator (ImplementationRepository::Locator_ptr imr_locator)
+TAO_IMR_Op::set_imr (ImplementationRepository::Administration_ptr imr)
{
- this->imr_locator_ = imr_locator;
+ this->imr_ = imr;
}
void
@@ -200,37 +190,40 @@ TAO_IMR_Op::display_server_information (const ImplementationRepository::ServerIn
// Print out information
ACE_DEBUG ((LM_DEBUG, "Server <%s>\n", info.server.in ()));
+
ACE_DEBUG ((LM_DEBUG,
- " Activator: %s\n"
- " Command Line: %s\n"
- " Working Directory: %s\n"
- " Activation Mode: %s\n",
- info.startup.activator.in (),
- info.startup.command_line.in (),
- info.startup.working_directory.in (),
- act));
+ " Activator: %s\n"
+ " Command Line: %s\n"
+ " Working Directory: %s\n"
+ " Activation Mode: %s\n"
+ " Number of retries: %d\n",
+ info.startup.activator.in (),
+ info.startup.command_line.in (),
+ info.startup.working_directory.in (),
+ act,
+ info.startup.start_limit - 1));
for (CORBA::ULong i = 0; i < info.startup.environment.length (); ++i)
ACE_DEBUG ((LM_DEBUG, "Environment Variable: %s=%s \n",
- info.startup.environment[i].name.in (),
- info.startup.environment[i].value.in ()));
-
- // @@ add logical server once implemented
-
+ info.startup.environment[i].name.in (),
+ info.startup.environment[i].value.in ()));
if (info.startup.activation == ImplementationRepository::PER_CLIENT)
ACE_DEBUG ((LM_DEBUG, " No running info available for PER_CLIENT mode\n"));
- else if (ACE_OS::strlen (info.location.in()) > 0)
+ else if (ACE_OS::strlen (info.partial_ior.in()) > 0)
ACE_DEBUG ((LM_DEBUG,
- " Running at endpoint: %s\n",
- info.location.in ()));
- else // I am assuming that a blank location means currently not running.
+ " Running at endpoint: %s\n",
+ info.partial_ior.in ()));
+ else // I am assuming that a blank partial_ior means currently not running.
ACE_DEBUG ((LM_DEBUG,
- " Not currently running\n"));
+ " Not currently running\n"));
+
+ ACE_DEBUG ((LM_DEBUG, "\n"));
}
TAO_IMR_Op_Add::TAO_IMR_Op_Add (void)
- : activation_ (ImplementationRepository::NORMAL)
+: activation_ (ImplementationRepository::NORMAL)
+, retry_count_ (0)
{
// Nothing
}
@@ -242,9 +235,14 @@ TAO_IMR_Op_List::TAO_IMR_Op_List (void)
}
TAO_IMR_Op_Update::TAO_IMR_Op_Update (void)
-: set_command_line_ (0),
- set_working_dir_ (0),
- set_activation_ (0)
+: set_command_line_ (false)
+, set_environment_vars_(false)
+, set_working_dir_ (false)
+, set_activation_ (false)
+, activation_(ImplementationRepository::NORMAL)
+, set_retry_count_(false)
+, retry_count_ (0)
+, set_activator_ (false)
{
// Nothing
}
@@ -253,13 +251,11 @@ void
TAO_IMR_Op_Activate::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Activates a server\n"
- "\n"
- "Usage: tao_imr [options] activate <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
- " where [command-arguments] can be\n"
- " -l Activator name.\n"
- " -h Displays this\n"));
+ "\n"
+ "Usage: tao_imr [options] activate <name>\n"
+ " where [options] are ORB options\n"
+ " where <name> is the POA name used by the server object\n"
+ " -h Displays this\n"));
}
int
@@ -267,62 +263,63 @@ TAO_IMR_Op_Activate::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
+ {
+ this->print_usage ();
+ return -1;
+ }
// Skip both the program name and the "activate" command
- ACE_Get_Opt get_opts (argc, argv, "l:h");
+ ACE_Get_Opt get_opts (argc, argv, "h");
this->server_name_ = argv[1];
int c;
while ((c = get_opts ()) != -1)
switch (c)
- {
- case 'l':
- this->activator_ = get_opts.optarg;
- break;
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
- }
+ {
+ case 'h': // display help
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
- // Success
return 0;
}
void
-TAO_IMR_Op_Add::setenv (ACE_TCHAR *opt)
+TAO_IMR_Op_Add::addenv (ACE_TCHAR *opt)
{
- CORBA::ULong length = this->environment_vars_.length ();
-
- // Increase the length of the sequence
- this->environment_vars_.length (length + 1);
- ACE_CString tokens (opt);
- int index = tokens.find ("=");
- // Insert at position length since that is our new element
- this->environment_vars_ [length].name =
- CORBA::string_dup (tokens.substr (0, index).c_str ());
- this->environment_vars_ [length].value =
- CORBA::string_dup (tokens.substr (index + 1).c_str ());
+ CORBA::ULong length = this->environment_vars_.length ();
+
+ // Increase the length of the sequence
+ this->environment_vars_.length (length + 1);
+ ACE_CString tokens (opt);
+ int index = tokens.find ("=");
+ // Insert at position length since that is our new element
+ this->environment_vars_ [length].name =
+ CORBA::string_dup (tokens.substr (0, index).c_str ());
+ this->environment_vars_ [length].value =
+ CORBA::string_dup (tokens.substr (index + 1).c_str ());
}
void
TAO_IMR_Op_Add::print_usage (void)
{
- ACE_ERROR ((LM_ERROR, "Usage: tao_imr [options] add <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
- " where [command-arguments] can be\n"
- " -l Activator name. Defaults to local hostname.\n"
- " -h Displays this\n"
- " -c command Startup command\n"
- " -w dir Working directory\n"
- " -e vars Set environment variables\n"
- " -a mode Set activate mode (NORMAL|MANUAL|PER_CLIENT|AUTO_START)\n"));
+ ACE_ERROR ((LM_ERROR,
+ "Usage: tao_imr [options] add <name> [command-arguments]\n"
+ " where [options] are ORB options\n"
+ " where <name> is the POA name used by the server object\n"
+ " where [command-arguments] can be\n"
+ " -l Activator name. Defaults to local hostname.\n"
+ " -h Displays this\n"
+ " -c command Startup command\n"
+ " -w dir Working directory\n"
+ " -e name=value Set environment variables\n"
+ " -a mode Set activate mode (NORMAL|MANUAL|PER_CLIENT|AUTO_START)\n"
+ " -r count Set how many times to attempt restart. (default 0)\n"));
}
int
@@ -330,70 +327,82 @@ TAO_IMR_Op_Add::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
+ {
+ this->print_usage ();
+ return -1;
+ }
- // Skip both the program name and the "add" command
- ACE_Get_Opt get_opts (argc, argv, "hc:w:a:e:l:");
+ // Skip both the program name and the "add" command
+ ACE_Get_Opt get_opts (argc, argv, "hc:w:a:e:l:r:R:");
this->server_name_ = argv[1];
- if (this->server_name_.length() == 0)
+ if (this->server_name_.length() == 0 || this->server_name_[0] == '-')
{
- ACE_ERROR_RETURN ((LM_ERROR,
- "Server name > must be at least one character long!\n"),-1);
+ ACE_ERROR((LM_ERROR, "ERROR : name is required.\n"));
+ this->print_usage ();
+ return -1;
}
-
+
int c;
while ((c = get_opts ()) != -1)
+ {
switch (c)
+ {
+ case 'c': // Command line arguments
+ this->command_line_ = get_opts.opt_arg ();
+ break;
+ case 'e': // set environment variables
+ this->addenv( get_opts.opt_arg () ) ;
+ break;
+ case 'w': // Working Directory
+ this->working_dir_ = get_opts.opt_arg ();
+ break;
+ case 'a': // Activation Mode
+ if (ACE_OS::strcasecmp (get_opts.opt_arg (), "NORMAL") == 0)
+ this->activation_ = ImplementationRepository::NORMAL;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "MANUAL") == 0)
+ this->activation_ = ImplementationRepository::MANUAL;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "PER_CLIENT") == 0)
+ this->activation_ = ImplementationRepository::PER_CLIENT;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "AUTO_START") == 0)
+ this->activation_ = ImplementationRepository::AUTO_START;
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unknown Activation Mode <%s>!\n",
+ get_opts.opt_arg ()),
+ -1);
+ break;
+ case 'l': /// hostname of the activator
+ this->activator_ = get_opts.optarg;
+ break;
+ case 'r': // startup/ping Retry Count
+ case 'R':
{
- case 'c': // Command line arguments
- this->command_line_ = get_opts.opt_arg ();
- break;
- case 'e': // set environment variables
- this->setenv( get_opts.opt_arg () ) ;
- break;
- case 'w': // Working Directory
- this->working_dir_ = get_opts.opt_arg ();
- break;
- case 'a': // Activation Mode
- if (ACE_OS::strcasecmp (get_opts.opt_arg (), "NORMAL") == 0)
- this->activation_ = ImplementationRepository::NORMAL;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "MANUAL") == 0)
- this->activation_ = ImplementationRepository::MANUAL;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "PER_CLIENT") == 0)
- this->activation_ = ImplementationRepository::PER_CLIENT;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "AUTO_START") == 0)
- this->activation_ = ImplementationRepository::AUTO_START;
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unknown Activation Mode <%s>!\n",
- get_opts.opt_arg ()),
- -1);
- break;
- case 'l': /// hostname of the activator
- this->activator_ = get_opts.optarg;
- break;
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
+ int rc = ACE_OS::atoi(get_opts.optarg);
+ if (rc > 0)
+ this->retry_count_ = rc;
}
+ break;
+ case 'h': // display help
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
+ }
- // Success
return 0;
}
void
TAO_IMR_Op_Autostart::print_usage (void)
{
- ACE_ERROR ((LM_ERROR, "Usage: tao_imr [options] autostart [command-arguments]\n"
- " where [options] are ORB options\n"
- " where [command-arguments] can be\n"
- " -h Displays this\n"));
+ ACE_ERROR ((LM_ERROR, "Usage: tao_imr [options] autostart\n"
+ " where [options] are ORB options\n"
+ " -h Displays this\n"));
}
int
@@ -406,14 +415,16 @@ TAO_IMR_Op_Autostart::parse (int argc, ACE_TCHAR **argv)
while ((c = get_opts ()) != -1)
switch (c)
- {
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
- }
+ {
+ case 'h': // display help
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
- // Success
return 0;
}
@@ -421,15 +432,15 @@ void
TAO_IMR_Op_IOR::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Creates an IOR for a server that is registered with the IMR and uses\n"
- "the InterOperable Naming Service. Please see the documentation for\n"
- "more information on which server configurations work with this command.\n"
- "\n"
- "Usage: tao_imr [options] ior <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name of the server\n"
- " where [command-arguments] can be\n"
- " -f filename filename to output the IOR to\n"
- " -h Displays this\n"));
+ "the InterOperable Naming Service. Please see the documentation for\n"
+ "more information on which server configurations work with this command.\n"
+ "\n"
+ "Usage: tao_imr [options] ior <name> [command-arguments]\n"
+ " where [options] are ORB options\n"
+ " where <name> is the POA name of the server\n"
+ " where [command-arguments] can be\n"
+ " -f filename filename to output the IOR to\n"
+ " -h Displays this\n"));
}
int
@@ -445,36 +456,29 @@ TAO_IMR_Op_IOR::parse (int argc, ACE_TCHAR **argv)
// Skip both the program name and the "ior" command
ACE_Get_Opt get_opts (argc, argv, "hf:");
- int c;
-
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'f': // File name
- this->filename_ = get_opts.opt_arg ();
- break;
- case 'h': // display help
- default:
- this->print_usage();
- return -1;
- }
-
- int remaining_index = get_opts.opt_ind();
- if (get_opts.argc() - remaining_index > 1) {
- ACE_DEBUG((LM_DEBUG, "Error : Too many arguments.\n\n"));
- this->print_usage();
+ this->server_name_ = argv[1];
+ if (this->server_name_.length() == 0 || this->server_name_[0] == '-')
+ {
+ ACE_ERROR((LM_ERROR, "ERROR : name is required.\n"));
+ this->print_usage ();
return -1;
}
- if (remaining_index < get_opts.argc()) {
- this->server_name_ = get_opts.argv()[remaining_index];
- }
+ int c;
- if (this->server_name_.length() == 0)
+ while ((c = get_opts ()) != -1)
+ switch (c)
{
- ACE_DEBUG((LM_DEBUG, "Error : Missing server name.\n\n"));
- this->print_usage();
- return -1;
+ case 'f': // File name
+ this->filename_ = get_opts.opt_arg ();
+ break;
+ case 'h': // display help
+ this->print_usage();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
}
return 0;
@@ -484,14 +488,14 @@ void
TAO_IMR_Op_List::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Lists all or one of the servers in the Implementation Repository\n"
- "\n"
- "Usage: tao_imr [options] list [name] [command-arguments]\n"
- " where [options] are ORB options\n"
- " where [name] is the optional server name to search for\n"
- " where [command-arguments] can be\n"
- " -v Verbose: Displays more info for each server when\n"
- " displaying more than one server\n"
- " -h Displays this\n"));
+ "\n"
+ "Usage: tao_imr [options] list [name] [command-arguments]\n"
+ " where [options] are ORB options\n"
+ " where [name] is the optional server name to search for\n"
+ " where [command-arguments] can be\n"
+ " -v Verbose: Displays more info for each server when\n"
+ " displaying more than one server\n"
+ " -h Displays this\n"));
}
int
@@ -500,10 +504,10 @@ TAO_IMR_Op_List::parse (int argc, ACE_TCHAR **argv)
int server_flag = 0;
if (argc > 1 && argv[1][0] != '-')
- {
- this->server_name_ = argv[1];
- server_flag = 2;
- }
+ {
+ this->server_name_ = argv[1];
+ server_flag = 2;
+ }
// Skip both the program name and the "list" command
ACE_Get_Opt get_opts (argc, argv, "vh", server_flag);
@@ -512,17 +516,19 @@ TAO_IMR_Op_List::parse (int argc, ACE_TCHAR **argv)
while ((c = get_opts ()) != -1)
switch (c)
- {
- case 'v': // verbose server display
- this->verbose_server_information_ = 1;
- break;
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
- }
+ {
+ case 'v': // verbose server display
+ this->verbose_server_information_ = 1;
+ break;
+ case 'h': // display help
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
- // Success
return 0;
}
@@ -530,13 +536,11 @@ void
TAO_IMR_Op_Remove::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Removes a server entry\n"
- "\n"
- "Usage: tao_imr [options] remove <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
- " where [command-arguments] can be\n"
- " -l Activator name.\n"
- " -h Displays this\n"));
+ "\n"
+ "Usage: tao_imr [options] remove <name>\n"
+ " where [options] are ORB options\n"
+ " where <name> is the POA name used by the server object\n"
+ " -h Displays this\n"));
}
int
@@ -544,30 +548,29 @@ TAO_IMR_Op_Remove::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
+ {
+ this->print_usage ();
+ return -1;
+ }
// Skip both the program name and the "remove" command
- ACE_Get_Opt get_opts (argc, argv, "l:h");
+ ACE_Get_Opt get_opts (argc, argv, "h");
this->server_name_ = argv[1];
int c;
while ((c = get_opts ()) != -1)
switch (c)
- {
- case 'l':
- this->activator_ = get_opts.optarg;
- break;
- case 'h':
- default:
- this->print_usage ();
- return -1;
- }
+ {
+ case 'h':
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
- // Success
return 0;
}
@@ -575,13 +578,11 @@ void
TAO_IMR_Op_Shutdown::print_usage (void)
{
ACE_ERROR ((LM_ERROR, "Shuts down a server\n"
- "\n"
- "Usage: tao_imr [options] shutdown <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
- " where [command-arguments] can be\n"
- " -l Activator name.\n"
- " -h Displays this\n"));
+ "\n"
+ "Usage: tao_imr [options] shutdown <name>\n"
+ " where [options] are ORB options\n"
+ " where <name> is the name of the server object\n"
+ " -h Displays this\n"));
}
int
@@ -589,94 +590,64 @@ TAO_IMR_Op_Shutdown::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
+ {
+ this->print_usage ();
+ return -1;
+ }
// Skip both the program name and the "shutdown" command
- ACE_Get_Opt get_opts (argc, argv, "l:h");
+ ACE_Get_Opt get_opts (argc, argv, "h");
this->server_name_ = argv[1];
int c;
while ((c = get_opts ()) != -1)
switch (c)
- {
- case 'l':
- this->activator_ = get_opts.optarg;
- break;
- case 'h':
- default:
- this->print_usage ();
- return -1;
- }
-
- // Success
- return 0;
-}
-
-void
-TAO_IMR_Op_Shutdown_Repo::print_usage (void)
-{
- ACE_ERROR ((LM_ERROR, "Shuts down the Implementation Repository\n"
- "\n"
- "Usage: tao_imr [options] shutdown-repo [command-arguments]\n"
- " where [options] are ORB options\n"
- " where [command-arguments] can be\n"
- " -h Displays this\n"));
-}
-
-int
-TAO_IMR_Op_Shutdown_Repo::parse (int argc, ACE_TCHAR **argv)
-{
- // Skip both the program name and the "shutdown" command
- ACE_Get_Opt get_opts (argc, argv, "h");
- int c;
- while ((c = get_opts ()) != -1)
- switch (c)
- {
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
- }
+ {
+ case 'h':
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
- // Success
return 0;
}
void
-TAO_IMR_Op_Update::setenv (ACE_TCHAR *opt)
+TAO_IMR_Op_Update::addenv (ACE_TCHAR *opt)
{
- this->set_environment_vars_ = 1;
- CORBA::ULong length = this->environment_vars_.length ();
- // Increase the length of the sequence
- this->environment_vars_.length (length + 1);
- ACE_CString tokens (opt);
- int index = tokens.find ("=");
- // Insert at position length since that is our new element
- this->environment_vars_ [length].name =
- CORBA::string_dup (tokens.substr (0, index).c_str ());
- this->environment_vars_ [length].value =
- CORBA::string_dup (tokens.substr (index + 1).c_str ());
+ CORBA::ULong length = this->environment_vars_.length ();
+ // Increase the length of the sequence
+ this->environment_vars_.length (length + 1);
+ ACE_CString tokens (opt);
+ int index = tokens.find ("=");
+ // Insert at position length since that is our new element
+ this->environment_vars_ [length].name =
+ CORBA::string_dup (tokens.substr (0, index).c_str ());
+ this->environment_vars_ [length].value =
+ CORBA::string_dup (tokens.substr (index + 1).c_str ());
}
void
TAO_IMR_Op_Update::print_usage (void)
{
- ACE_ERROR ((LM_ERROR, "Updates a server entry\n"
- "\n"
- "Usage: tao_imr [options] update <name> [command-arguments]\n"
- " where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
- " where [command-arguments] can be\n"
- " -l Activator name.\n"
- " -h Displays this\n"
- " -c command Startup command\n"
- " -w dir Working directory\n"
- " -e vars Set environment variables\n"
- " -a mode Set activate mode (NORMAL|MANUAL|PER_CLIENT|AUTO_START)\n"));
+ ACE_ERROR ((LM_ERROR,
+ "Updates a server entry\n"
+ "\n"
+ "Usage: tao_imr [options] update <name> [command-arguments]\n"
+ " where [options] are ORB options\n"
+ " where <name> is the POA name used by the server object\n"
+ " where [command-arguments] can be\n"
+ " -h Displays this\n"
+ " -l Activator name.\n"
+ " -c command Startup command\n"
+ " -w dir Working directory\n"
+ " -e name=value Set environment variables\n"
+ " -a mode Set activate mode (NORMAL|MANUAL|PER_CLIENT|AUTO_START)\n"
+ " -r count Set the startup/ping retry count to count\n"));
}
int
@@ -684,55 +655,70 @@ TAO_IMR_Op_Update::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
- {
- this->print_usage ();
- return -1;
- }
+ {
+ ACE_ERROR((LM_ERROR, "Error: Must supply at least a server name.\n"));
+ this->print_usage ();
+ return -1;
+ }
// Skip both the program name and the "update" command
- ACE_Get_Opt get_opts (argc, argv, "hc:w:a:e:l:");
+ ACE_Get_Opt get_opts (argc, argv, "hc:w:a:e:r:R:l:");
this->server_name_ = argv[1];
int c;
while ((c = get_opts ()) != -1)
switch (c)
+ {
+ case 'c': // Command line arguments
+ this->set_command_line_ = true;
+ this->command_line_ = get_opts.opt_arg ();
+ break;
+ case 'e': // set environment variables
+ this->set_environment_vars_ = true;
+ this->addenv( get_opts.opt_arg () );
+ break;
+ case 'w': // Working Directory
+ this->set_working_dir_ = true;
+ this->working_dir_ = get_opts.opt_arg ();
+ break;
+ case 'a': // Activation Mode
+ this->set_activation_ = true;
+ if (ACE_OS::strcasecmp (get_opts.opt_arg (), "NORMAL") == 0)
+ this->activation_ = ImplementationRepository::NORMAL;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "MANUAL") == 0)
+ this->activation_ = ImplementationRepository::MANUAL;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "PER_CLIENT") == 0)
+ this->activation_ = ImplementationRepository::PER_CLIENT;
+ else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "AUTO_START") == 0)
+ this->activation_ = ImplementationRepository::AUTO_START;
+ else
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unknown Activation Mode <%s>!\n",
+ get_opts.opt_arg ()),
+ -1);
+ break;
+ case 'r':
+ case 'R': // startup/ping Retry Count
{
- case 'c': // Command line arguments
- this->set_command_line_ = 1;
- this->command_line_ = get_opts.opt_arg ();
- break;
- case 'e': // set environment variables
- this->setenv( get_opts.opt_arg () );
- break;
- case 'w': // Working Directory
- this->set_working_dir_ = 1;
- this->working_dir_ = get_opts.opt_arg ();
- break;
- case 'a': // Activation Mode
- this->set_activation_ = 1;
- if (ACE_OS::strcasecmp (get_opts.opt_arg (), "NORMAL") == 0)
- this->activation_ = ImplementationRepository::NORMAL;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "MANUAL") == 0)
- this->activation_ = ImplementationRepository::MANUAL;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "PER_CLIENT") == 0)
- this->activation_ = ImplementationRepository::PER_CLIENT;
- else if (ACE_OS::strcasecmp (get_opts.opt_arg (), "AUTO_START") == 0)
- this->activation_ = ImplementationRepository::AUTO_START;
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unknown Activation Mode <%s>!\n",
- get_opts.opt_arg ()),
- -1);
- break;
- case 'l':
- this->activator_ = get_opts.optarg;
- break;
- case 'h': // display help
- default:
- this->print_usage ();
- return -1;
+ this->set_retry_count_ = true;
+ int rc = ACE_OS::atoi(get_opts.optarg);
+ if (rc > 0)
+ this->retry_count_ = rc;
}
+ break;
+ case 'l': /// hostname of the activator
+ this->activator_ = get_opts.optarg;
+ this->set_activator_ = true;
+ break;
+ case 'h': // display help
+ this->print_usage ();
+ return -1;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
return 0;
}
@@ -745,53 +731,47 @@ TAO_IMR_Op_Update::parse (int argc, ACE_TCHAR **argv)
int
TAO_IMR_Op_Activate::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- if (this->activator_.length() == 0)
- {
- this->imr_locator_->activate_server (this->server_name_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- this->imr_locator_->activate_server_in_activator (
- this->server_name_.c_str (),
- this->activator_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_DEBUG ((LM_DEBUG,
- "Successfully Activated server <%s>\n",
- this->server_name_.c_str ()));
- }
+ {
+ this->imr_->activate_server (this->server_name_.c_str() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_DEBUG ((LM_DEBUG,
+ "Successfully Activated server <%s>\n",
+ this->server_name_.c_str ()));
+ }
ACE_CATCH (ImplementationRepository::CannotActivate, ex)
- {
- ACE_ERROR ((LM_ERROR, "Cannot activate server <%s>, reason: <%s>\n",
- this->server_name_.c_str (),
- ex.reason.in ()));
- return TAO_IMR_Op::CANNOT_ACTIVATE;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "Cannot activate server <%s>, reason: <%s>\n",
+ this->server_name_.c_str (),
+ ex.reason.in ()));
+ return TAO_IMR_Op::CANNOT_ACTIVATE;
+ }
ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
- return TAO_IMR_Op::NOT_FOUND;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
+ return TAO_IMR_Op::NOT_FOUND;
+ }
+ ACE_CATCH (PortableServer::ForwardRequest, ex)
+ {
+ ACE_RE_THROW;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Activating Server");
- return TAO_IMR_Op::UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Activating Server");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
- // Success
return TAO_IMR_Op::NORMAL;
}
int
TAO_IMR_Op_Add::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
ImplementationRepository::StartupOptions startup_options;
startup_options.command_line =
@@ -801,128 +781,102 @@ TAO_IMR_Op_Add::run (void)
startup_options.working_directory =
CORBA::string_dup (this->working_dir_.c_str ());
startup_options.activation = this->activation_;
+ startup_options.start_limit = this->retry_count_ + 1;
if (this->activator_.length() != 0)
- {
- startup_options.activator = CORBA::string_dup (this->activator_.c_str ());
- }
+ {
+ startup_options.activator = CORBA::string_dup (this->activator_.c_str ());
+ }
else
- {
- // else use the hostname on which tao_imr is run
- char host_name[MAXHOSTNAMELEN + 1];
- ACE_OS::hostname (host_name, MAXHOSTNAMELEN);
- startup_options.activator = CORBA::string_dup (host_name);
- }
+ {
+ // else use the hostname on which tao_imr is run
+ char host_name[MAXHOSTNAMELEN + 1];
+ ACE_OS::hostname (host_name, MAXHOSTNAMELEN);
+ startup_options.activator = CORBA::string_dup (host_name);
+ }
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- this->imr_locator_->register_server (this->server_name_.c_str (),
- startup_options ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ {
+ this->imr_->register_server (this->server_name_.c_str (),
+ startup_options ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- ACE_DEBUG ((LM_DEBUG,
- "Successfully registered server <%s>\n",
- this->server_name_.c_str ()));
- }
+ ACE_DEBUG ((LM_DEBUG,
+ "Successfully registered server <%s>\n",
+ this->server_name_.c_str ()));
+ }
ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_ERROR ((LM_ERROR,
- "Could not register server <%s>. Activator <%s> not found!\n",
- this->server_name_.c_str (),
- this->activator_.c_str()
- ));
- return TAO_IMR_Op::ALREADY_REGISTERED;
- }
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Could not register server <%s>. Activator <%s> not found!\n",
+ this->server_name_.c_str (),
+ this->activator_.c_str()
+ ));
+ return TAO_IMR_Op::ALREADY_REGISTERED;
+ }
ACE_CATCH (ImplementationRepository::AlreadyRegistered, ex)
- {
- ACE_ERROR ((LM_ERROR,
- "Server <%s> already registered!\n",
- this->server_name_.c_str ()));
- return TAO_IMR_Op::ALREADY_REGISTERED;
- }
+ {
+ ACE_ERROR ((LM_ERROR,
+ "Server <%s> already registered!\n",
+ this->server_name_.c_str ()));
+ return TAO_IMR_Op::ALREADY_REGISTERED;
+ }
ACE_CATCH (CORBA::NO_PERMISSION, ex)
- {
- ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
- return TAO_IMR_Op::NO_PERMISSION;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
+ return TAO_IMR_Op::NO_PERMISSION;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Adding server");
- return TAO_IMR_Op::UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Adding server");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
- // Success
return TAO_IMR_Op::NORMAL;
}
int
TAO_IMR_Op_Autostart::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
ImplementationRepository::ServerInformationList_var server_list;
ImplementationRepository::ServerInformationIterator_var server_iter;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- this->imr_locator_->list (0,
- server_list,
- server_iter
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ {
+ this->imr_->list (0,
+ server_list,
+ server_iter
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Check for more to be displayed
- if (!CORBA::is_nil (server_iter.in ()))
- {
- int flag = 1;
-
- while (flag)
- {
- server_iter->next_n (IR_LIST_CHUNK,
- server_list
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULong list_length = server_list->length ();
- if (list_length > 0)
- {
- for (CORBA::ULong i = 0; i < list_length; i++)
- {
- ACE_TRY_EX (inside)
- {
- this->imr_locator_->activate_server_in_activator (
- server_list[i].server.in (),
- server_list[i].startup.activator.in()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (inside);
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- server_list[i].server.in ());
- // Ignore exception
- }
- ACE_ENDTRY;
- }
- }
- else
- {
- flag = 0;
- }
- }
-
- // We are done with the iterator, so it can go away now.
- server_iter->destroy ();
- } else {
- ACE_DEBUG((LM_DEBUG, "There were no servers to start.\n"));
- }
- }
- ACE_CATCHANY
+ ACE_ASSERT(CORBA::is_nil(server_iter.in()));
+
+ CORBA::ULong len = server_list->length ();
+ for (CORBA::ULong i = 0; i < len; ++i)
{
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "autostart");
- return TAO_IMR_Op::UNKNOWN;
+ ACE_TRY_EX (inside)
+ {
+ this->imr_->activate_server(server_list[i].server.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK_EX (inside);
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, server_list[i].server.in ());
+ // Ignore exception
+ }
+ ACE_ENDTRY;
}
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "autostart");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
return TAO_IMR_Op::NORMAL;
@@ -931,78 +885,79 @@ TAO_IMR_Op_Autostart::run (void)
int
TAO_IMR_Op_IOR::run (void)
{
- // Todo : Most of this logic duplicates that in the POA.cpp
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
+ // Create a corbaloc string
+ // Todo : Most of this logic duplicates that in the POA.cpp
ACE_TRY_NEW_ENV
+ {
+ if (CORBA::is_nil (this->imr_)
+ || !this->imr_->_stubobj ()
+ || !this->imr_->_stubobj ()->profile_in_use ())
{
- if (CORBA::is_nil (this->imr_locator_)
- || !this->imr_locator_->_stubobj ()
- || !this->imr_locator_->_stubobj ()->profile_in_use ())
- {
- ACE_ERROR_RETURN ((
- LM_ERROR,
- ACE_TEXT ("Invalid ImR Locator IOR\n")
- ),
- -1
- );
- }
-
- CORBA::String_var imr_str =
- this->imr_locator_->_stubobj ()->
- profile_in_use ()->to_string (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ ACE_ERROR_RETURN ((
+ LM_ERROR,
+ ACE_TEXT ("Invalid ImR Locator IOR\n")
+ ), -1);
+ }
- // Search for "corbaloc:" alone, without the protocol. This code
- // should be protocol neutral.
- const char corbaloc[] = "corbaloc:";
- char *pos = ACE_OS::strstr (imr_str.inout (), corbaloc);
+ CORBA::String_var imr_str =
+ this->imr_->_stubobj ()->
+ profile_in_use ()->to_string (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- if (pos == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Could not parse IMR IOR\n"),
- -1);
+ // Search for "corbaloc:" alone, without the protocol. This code
+ // should be protocol neutral.
+ const char corbaloc[] = "corbaloc:";
+ char *pos = ACE_OS::strstr (imr_str.inout (), corbaloc);
+
+ if (pos == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, "Could not parse IMR IOR\n"), -1);
+ }
+ else
+ {
+ pos = ACE_OS::strchr (pos + sizeof (corbaloc), ':');
+ pos = ACE_OS::strchr (pos + 1,
+ this->imr_->_stubobj ()->profile_in_use ()->object_key_delimiter ());
+
+ if (pos)
+ {
+ *(pos + 1) = 0; // Crop the string
+ }
else
- {
- pos = ACE_OS::strchr (pos + sizeof (corbaloc), ':');
- pos = ACE_OS::strchr (pos + 1,
- this->imr_locator_->_stubobj ()->profile_in_use ()->object_key_delimiter ());
-
- if (pos)
- *(pos + 1) = 0; // Crop the string
- else
- ACE_ERROR_RETURN ((LM_ERROR,
- "Could not parse IMR IOR\n"),
- -1);
- }
- ACE_CString ior (imr_str.in ());
-
- // Add the key
- ior += this->server_name_;
-
- ACE_DEBUG ((LM_DEBUG, "%s\n", ior.c_str ()));
-
- if (this->filename_.length () > 0)
- {
- FILE *file = ACE_OS::fopen (this->filename_.c_str (), "w");
-
- if (file == 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Error: Unable to open %s for writing: %p\n",
- this->filename_.c_str ()),
- -1);
- }
-
- ACE_OS::fprintf (file,
- "%s",
- ior.c_str ());
- ACE_OS::fclose (file);
- }
+ {
+ ACE_ERROR_RETURN ((LM_ERROR, "Could not parse IMR IOR\n"), -1);
+ }
}
- ACE_CATCHANY
+ ACE_CString ior (imr_str.in ());
+
+ // Add the key
+ ior += this->server_name_;
+
+ ACE_DEBUG ((LM_DEBUG, "%s\n", ior.c_str ()));
+
+ if (this->filename_.length () > 0)
{
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Ior");
- return TAO_IMR_Op::UNKNOWN;
+ FILE *file = ACE_OS::fopen (this->filename_.c_str (), "w");
+
+ if (file == 0)
+ {
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Error: Unable to open %s for writing: %p\n",
+ this->filename_.c_str ()),
+ -1);
+ }
+
+ ACE_OS::fprintf (file, "%s", ior.c_str ());
+ ACE_OS::fclose (file);
}
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "IOR");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
return TAO_IMR_Op::NORMAL;
@@ -1011,81 +966,57 @@ TAO_IMR_Op_IOR::run (void)
int
TAO_IMR_Op_List::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
ImplementationRepository::ServerInformationList_var server_list;
ImplementationRepository::ServerInformationIterator_var server_iter;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
+ {
+ // If there is a server name, list only that server. Otherwise, look
+ // at all of them.
+ if (this->server_name_.length () == 0)
{
- // If there is a server name, list only that server. Otherwise, look
- // at all of them.
- if (this->server_name_.length () == 0)
- {
- this->imr_locator_->list (IR_LIST_CHUNK,
- server_list.out(),
- server_iter.out()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (server_list->length() == 0)
- {
- ACE_DEBUG((LM_DEBUG, "No servers found.\n"));
- return TAO_IMR_Op::NORMAL;
- }
-
- for (CORBA::ULong i = 0; i < server_list->length (); i++)
- this->display_server_information (server_list[i]);
-
- // Check for more to be displayed
- if (!CORBA::is_nil (server_iter.in ()))
- {
- int flag = 1;
-
- while (flag)
- {
- server_iter->next_n (IR_LIST_CHUNK,
- server_list
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- CORBA::ULong list_length = server_list->length ();
- if (list_length > 0)
- {
- for (CORBA::ULong i = 0; i < list_length; i++)
- this->display_server_information (server_list[i]);
- }
- else
- {
- flag = 0;
- }
- }
-
- // We are done with the iterator, so it can go away now.
- server_iter->destroy ();
- }
- }
- else
- {
- ImplementationRepository::ServerInformation_var server_information;
+ this->imr_->list (0,
+ server_list.out(),
+ server_iter.out()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- this->imr_locator_->find (this->server_name_.c_str (), server_information ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ if (server_list->length() == 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "No servers found.\n"));
+ return TAO_IMR_Op::NORMAL;
+ }
- this->verbose_server_information_ = 1;
+ for (CORBA::ULong i = 0; i < server_list->length (); i++)
+ this->display_server_information (server_list[i]);
- this->display_server_information (server_information.in ());
- }
+ ACE_ASSERT (CORBA::is_nil (server_iter.in ()));
}
- ACE_CATCH (ImplementationRepository::NotFound, ex)
+ else
{
- ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
- return TAO_IMR_Op::NOT_FOUND;
+ ImplementationRepository::ServerInformation_var si;
+
+ this->imr_->find (this->server_name_.c_str (), si ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->verbose_server_information_ = 1;
+
+ this->display_server_information (si.in ());
}
+ }
+ ACE_CATCH (ImplementationRepository::NotFound, ex)
+ {
+ ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
+ return TAO_IMR_Op::NOT_FOUND;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "List");
- return TAO_IMR_Op::UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "List");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
return TAO_IMR_Op::NORMAL;
@@ -1094,180 +1025,123 @@ TAO_IMR_Op_List::run (void)
int
TAO_IMR_Op_Remove::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- if (this->activator_.length() == 0)
- {
- this->imr_locator_->remove_server (this->server_name_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- this->imr_locator_->remove_server_in_activator (
- this->server_name_.c_str (),
- this->activator_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_DEBUG ((LM_DEBUG,
- "Successfully removed server <%s>\n",
- this->server_name_.c_str ()));
- }
+ {
+ this->imr_->remove_server (this->server_name_.c_str() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "Successfully removed server <%s>\n",
+ this->server_name_.c_str ()));
+ }
ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n",
- this->server_name_.c_str ()));
- return TAO_IMR_Op::NOT_FOUND;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n",
+ this->server_name_.c_str ()));
+ return TAO_IMR_Op::NOT_FOUND;
+ }
ACE_CATCH (CORBA::NO_PERMISSION, ex)
- {
- ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
- return TAO_IMR_Op::NO_PERMISSION;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
+ return TAO_IMR_Op::NO_PERMISSION;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Removing Server");
- return TAO_IMR_Op::UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Removing Server");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
- // Success
return TAO_IMR_Op::NORMAL;
}
int
TAO_IMR_Op_Shutdown::run (void)
{
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- if (this->activator_.length() == 0)
- {
- this->imr_locator_->shutdown_server (this->server_name_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- else
- {
- this->imr_locator_->shutdown_server_in_activator (
- this->server_name_.c_str (),
- this->activator_.c_str ()
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-
- ACE_DEBUG ((LM_DEBUG,
- "Successfully shut down server <%s>\n",
- this->server_name_.c_str ()));
- }
- ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
- return TAO_IMR_Op::NOT_FOUND;
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Shutting Down Server");
- return TAO_IMR_Op::UNKNOWN;
- }
- ACE_ENDTRY;
+ ACE_ASSERT(! CORBA::is_nil(imr_));
- // Success
- return TAO_IMR_Op::NORMAL;
-}
-
-int
-TAO_IMR_Op_Shutdown_Repo::run (void)
-{
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- this->imr_locator_->shutdown_repo( ACE_ENV_SINGLE_ARG_PARAMETER ) ;
- ACE_TRY_CHECK;
+ {
+ this->imr_->shutdown_server (this->server_name_.c_str () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- ACE_DEBUG((LM_DEBUG,
- "Successfully shut down Implementation Repository\n"));
- }
+ ACE_DEBUG ((LM_DEBUG, "Successfully shut down server <%s>\n",
+ this->server_name_.c_str ()));
+ }
+ ACE_CATCH (ImplementationRepository::NotFound, ex)
+ {
+ ACE_ERROR ((LM_ERROR, "Could not find server <%s>!\n", this->server_name_.c_str ()));
+ return TAO_IMR_Op::NOT_FOUND;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Shutting Down Repository");
- return UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Shutting Down Server");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
- // Success
- return NORMAL;
+ return TAO_IMR_Op::NORMAL;
}
int
TAO_IMR_Op_Update::run (void)
{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
ImplementationRepository::ServerInformation_var server_information;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
- {
- if (this->activator_.length() == 0) {
- this->imr_locator_->find(this->server_name_.c_str (),
- server_information.out() ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- } else {
- this->imr_locator_->find_in_activator (this->server_name_.c_str (),
- this->activator_.c_str(),
- server_information.out() ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ {
+ this->imr_->find(this->server_name_.c_str (),
+ server_information.out() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
- // Conditionally update the startup options
- if (this->set_command_line_ == 1)
- server_information->startup.command_line =
- CORBA::string_dup (this->command_line_.c_str ());
+ // Conditionally update the startup options
+ if (this->set_command_line_)
+ server_information->startup.command_line =
+ CORBA::string_dup (this->command_line_.c_str ());
- if (this->set_environment_vars_ == 1)
- server_information->startup.environment = this->environment_vars_;
+ if (this->set_environment_vars_)
+ server_information->startup.environment = this->environment_vars_;
- if (this->set_working_dir_ == 1)
- server_information->startup.working_directory =
- CORBA::string_dup (this->working_dir_.c_str ());
+ if (this->set_working_dir_)
+ server_information->startup.working_directory = CORBA::string_dup (this->working_dir_.c_str ());
- if (this->set_activation_ == 1)
- server_information->startup.activation = this->activation_;
+ if (this->set_activation_)
+ server_information->startup.activation = this->activation_;
- // @@ Add logical server support here also
- this->imr_locator_->reregister_server (this->server_name_.c_str (),
- server_information->startup
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ if (this->set_retry_count_)
+ server_information->startup.start_limit = this->retry_count_ + 1;
- // Now that we've reregistered the server, update the server
- // information before we display it.
- this->imr_locator_->find(this->server_name_.c_str (),
- server_information.out() ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
+ if (this->set_activator_)
+ server_information->startup.activator = CORBA::string_dup(this->activator_.c_str());
- this->display_server_information (server_information.in ());
- }
+ this->imr_->reregister_server (this->server_name_.c_str (),
+ server_information->startup
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
ACE_CATCH (ImplementationRepository::NotFound, ex)
- {
- ACE_ERROR ((LM_ERROR, "Could not find server <%s>\n", this->server_name_.c_str ()));
- return TAO_IMR_Op::NOT_FOUND;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "Could not find server <%s>\n", this->server_name_.c_str ()));
+ return TAO_IMR_Op::NOT_FOUND;
+ }
ACE_CATCH (CORBA::NO_PERMISSION, ex)
- {
- ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
- return TAO_IMR_Op::NO_PERMISSION;
- }
+ {
+ ACE_ERROR ((LM_ERROR, "No Permission: ImplRepo is in Locked mode\n"));
+ return TAO_IMR_Op::NO_PERMISSION;
+ }
ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Updating server");
- return TAO_IMR_Op::UNKNOWN;
- }
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Updating server");
+ return TAO_IMR_Op::UNKNOWN;
+ }
ACE_ENDTRY;
- // Success
return TAO_IMR_Op::NORMAL;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
index 51ebd996029..10573eeda31 100644
--- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
@@ -15,9 +15,10 @@
#ifndef TAO_IMR_I_H
#define TAO_IMR_I_H
-#include "tao/PortableServer/ImR_LocatorC.h"
+#include "tao/PortableServer/ImplRepoC.h"
#include "tao/corba.h"
#include "ace/SString.h"
+#include "ace/Auto_Ptr.h"
// Forward Declaration
class TAO_IMR_Op;
@@ -61,10 +62,10 @@ private:
/// Reference to our Locator interface of
/// implementation repository.
- ImplementationRepository::Locator_var imr_locator_;
+ ImplementationRepository::Administration_var imr_;
/// What we need to do.
- TAO_IMR_Op *op_;
+ ACE_Auto_Ptr<TAO_IMR_Op> op_;
};
@@ -100,11 +101,11 @@ public:
virtual int run (void) = 0;
/// Sets the implrepo locator pointer
- void set_imr_locator (ImplementationRepository::Locator_ptr imr);
+ void set_imr (ImplementationRepository::Administration_ptr imr);
protected:
/// Reference to our implementation repository.
- ImplementationRepository::Locator_ptr imr_locator_;
+ ImplementationRepository::Administration_ptr imr_;
// = Helper methods
@@ -132,9 +133,6 @@ protected:
/// POA server name.
ACE_CString server_name_;
-
- /// The name of the activator
- ACE_CString activator_;
};
@@ -155,7 +153,7 @@ public:
protected:
/// Sets one of the environment variables
- void setenv (ACE_TCHAR *opt);
+ void addenv (ACE_TCHAR *opt);
/// Prints a message about the usage.
void print_usage (void);
@@ -177,6 +175,9 @@ protected:
/// Hostname where the activator is running.
ACE_CString activator_;
+
+ /// startup/ping Retry Count
+ int retry_count_;
};
@@ -275,11 +276,7 @@ protected:
/// Prints a message about the usage
void print_usage (void);
- /// POA server name.
ACE_CString server_name_;
-
- /// Hostname where the activator is running.
- ACE_CString activator_;
};
@@ -300,29 +297,9 @@ protected:
/// Prints a message about the usage
void print_usage (void);
- /// POA server name.
ACE_CString server_name_;
-
- ACE_CString activator_;
};
-/**
- * @class TAO_IMR_Op_Shutdown_Repo
- *
- * @brief Shutdown the repository
- *
- * Shutdown_repo is used to shutdown the repository via an IDL operation.
- */
-class TAO_IMR_Op_Shutdown_Repo : public TAO_IMR_Op
-{
-public:
- virtual int parse (int argc, ACE_TCHAR **argv);
- virtual int run (void);
-
-protected:
- /// Prints a message about the usage
- void print_usage (void);
-};
/**
* @class TAO_IMR_Op_Update
@@ -342,7 +319,7 @@ public:
protected:
/// Sets one environment variable.
- void setenv (ACE_TCHAR *opt);
+ void addenv (ACE_TCHAR *opt);
/// Prints a message about the usage.
void print_usage (void);
@@ -350,34 +327,22 @@ protected:
/// POA server name.
ACE_CString server_name_;
- /// True if the command_line_ needs to be updated.
- int set_command_line_;
-
- /// Startup command.
+ bool set_command_line_;
ACE_CString command_line_;
- /// True if the environment_vars_ needs to be updated.
- int set_environment_vars_;
-
- /// True if the working_dir_ needs to be updated.
- int set_working_dir_;
-
- /// Environment Variables.
+ bool set_environment_vars_;
ImplementationRepository::EnvironmentList environment_vars_;
- /// Working directory.
+ bool set_working_dir_;
ACE_CString working_dir_;
- /// True if the activation mode needs to be updated.
- int set_activation_;
-
- /// Activation mode (0 = NORMAL, 1 = MANUAL, 2 = PER_CLIENT, 3 = AUTO_START)
+ bool set_activation_;
ImplementationRepository::ActivationMode activation_;
- /// True if the location mode needs to be updated.
- int set_location_;
+ bool set_retry_count_;
+ int retry_count_;
- /// Hostname where the activator is running.
+ bool set_activator_;
ACE_CString activator_;
};
diff --git a/TAO/orbsvcs/ImplRepo_Service/utils.h b/TAO/orbsvcs/ImplRepo_Service/utils.h
new file mode 100644
index 00000000000..8007c51902a
--- /dev/null
+++ b/TAO/orbsvcs/ImplRepo_Service/utils.h
@@ -0,0 +1,98 @@
+//$Id$
+#ifndef TAO_IMR_UTILS_H
+#define TAO_IMR_UTILS_H
+
+#include "tao/PortableServer/ImplRepoC.h"
+
+#include "ace/SString.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class ImR_Utils {
+public:
+ static ACE_CString activationModeToString(ImplementationRepository::ActivationMode mode)
+ {
+ switch (mode )
+ {
+ case ImplementationRepository::NORMAL:
+ return "NORMAL";
+ case ImplementationRepository::MANUAL:
+ return "MANUAL";
+ case ImplementationRepository::PER_CLIENT:
+ return "PER_CLIENT";
+ case ImplementationRepository::AUTO_START:
+ return "AUTO_START";
+ default:
+ ACE_ASSERT(mode == ImplementationRepository::NORMAL);
+ return "";
+ }
+ }
+ static ImplementationRepository::ActivationMode parseActivationMode(const ACE_CString& s)
+ {
+ if (s == "NORMAL")
+ return ImplementationRepository::NORMAL;
+ if (s == "MANUAL")
+ return ImplementationRepository::MANUAL;
+ if (s == "PER_CLIENT")
+ return ImplementationRepository::PER_CLIENT;
+ if (s == "AUTO_START")
+ return ImplementationRepository::AUTO_START;
+
+ return ImplementationRepository::NORMAL;
+ }
+ static ACE_CString envListToString(const ImplementationRepository::EnvironmentList& lst)
+ {
+ ACE_CString ret;
+ for (CORBA::ULong n = 0; n < lst.length(); ++n)
+ {
+ ret += "name=\"";
+ ret += lst[n].name.in();
+ ret += "\" value=\"";
+ ret += lst[n].value.in();
+ ret += "\"\n";
+ }
+ return ret;
+ }
+ static ImplementationRepository::EnvironmentList parseEnvList(const ACE_CString& s)
+ {
+ ImplementationRepository::EnvironmentList ret(10);
+
+ const ACE_CString NAMETAG = "name=\"";
+ const ACE_CString VALTAG = "value=\"";
+ const ACE_CString ENDTAG = "\"";
+
+ ssize_t i = 0;
+
+ for (CORBA::ULong idx = 0; ; ++idx)
+ {
+ // find name
+ ssize_t j = s.find(NAMETAG, i);
+ if (j == ACE_CString::npos) break;
+ j += NAMETAG.length();
+ ssize_t k = s.find(ENDTAG, j + 1);
+ if (k == ACE_CString::npos) break;
+ ACE_CString name = s.substr(j, k - j);
+
+ i = k + 1;
+
+ // find value
+ j = s.find(VALTAG, i);
+ if (j == ACE_CString::npos) break;
+ j += VALTAG.length();
+ k = s.find(ENDTAG, j + 1);
+ if (k == ACE_CString::npos) break;
+ ACE_CString value = s.substr(j, k - j);
+
+ i = k + 1;
+
+ ret.length(idx + 1);
+ ret[idx].name = name.c_str();
+ ret[idx].value = value.c_str();
+ }
+ return ret;
+ }
+};
+
+#endif
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc b/TAO/orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc
new file mode 100644
index 00000000000..2046ddc83eb
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/ImR_Combined_Service.mpc
@@ -0,0 +1,69 @@
+project : orbsvcsexe, portableserver {
+ requires += exceptions
+ exename = combined_service
+ source_files {
+ combined.cpp
+ service_configC.cpp
+ service_configS.cpp
+ }
+ idl_files {
+ service_config.idl
+ }
+}
+
+project(*Controller) : orbsvcsexe {
+ requires += exceptions
+ exename = controller
+ source_files {
+ controller.cpp
+ service_configC.cpp
+ }
+ idl_files {
+ service_config.idl
+ }
+}
+
+// A client that uses corba to test out basic imr functionality
+project(*Test) : orbsvcsexe {
+ requires += exceptions
+ source_files {
+ test.cpp
+ testC.cpp
+ }
+ idl_files {
+ test.idl
+ }
+}
+
+// A server to use with the imr
+project(*TestServer) : orbsvcsexe, portableserver, iortable {
+ requires += exceptions
+ source_files {
+ test_server.cpp
+ testC.cpp
+ testS.cpp
+ }
+ idl_files {
+ test.idl
+ }
+}
+
+// Another simple server that can be loaded dynamically into the
+// combined_service.
+project(*DynamicServer) : taolib_with_idl, portableserver, iortable {
+ requires += exceptions
+ dynamicflags = DYNSERVER_BUILD_DLL
+ sharedname = DynServer
+ idl_files {
+ test.idl
+ }
+ source_files {
+ testC.cpp
+ testS.cpp
+ dynserver.cpp
+ }
+ header_files {
+ dynserver.h
+ dynserver_export.h
+ }
+}
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/combined.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/combined.cpp
new file mode 100644
index 00000000000..b8d7d225777
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/combined.cpp
@@ -0,0 +1,80 @@
+// $Id$
+// This is a simple example, showing how you can load an
+// ImR Locator and/or Activator as ACE Service Objects
+// using the ACE Service Configurator framework.
+
+#include "service_configS.h"
+
+#include <ace/Service_Config.h>
+#include <ace/streams.h>
+
+using namespace CORBA;
+using namespace PortableServer;
+
+class SvcConf
+ : public POA_ServiceConfigurator
+ , public PortableServer::RefCountServantBase
+{
+ ACE_Service_Config& asc_;
+public:
+ SvcConf(ACE_Service_Config& asc)
+ : asc_(asc)
+ {
+ }
+ virtual CORBA::Long process_directive(const char* s)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ ACE_ASSERT(s != 0);
+ ACE_ASSERT(ACE_OS::strlen(s) > 0);
+ return asc_.process_directive(s);
+ }
+
+ virtual void reconfigure() ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ asc_.reconfigure();
+ }
+};
+
+int main (int argc, char* argv[])
+{
+ try {
+
+ ACE_Service_Config config;
+ config.open(argc, argv);
+
+ ORB_var orb = ORB_init(argc, argv);
+
+ Object_var obj = orb->resolve_initial_references("RootPOA");
+ POA_var poa = POA::_narrow(obj.in());
+ ACE_ASSERT(! is_nil(poa.in()));
+ POAManager_var poaman = poa->the_POAManager();
+
+ SvcConf svt(config);
+
+ ObjectId_var id = poa->activate_object(&svt);
+ obj = poa->id_to_reference(id.in());
+ ACE_ASSERT(! is_nil(obj.in()));
+ String_var ior = orb->object_to_string(obj.in());
+
+ poaman->activate();
+
+ {
+ ofstream out("combined.ior");
+ out << ior;
+ }
+
+ ACE_DEBUG((LM_DEBUG, "Combined service started.\n"));
+
+ orb->run();
+
+ ACE_DEBUG((LM_DEBUG, "Combined service shutdown.\n"));
+
+ poa->destroy(1, 1);
+ orb->destroy();
+
+ } catch (CORBA::Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "Combined Service:");
+ }
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/controller.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/controller.cpp
new file mode 100644
index 00000000000..2fb24f7d5a8
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/controller.cpp
@@ -0,0 +1,72 @@
+// $Id$
+// This is a simple test of an ImR using the corba interfaces
+
+#include "service_configC.h"
+
+#include <ace/streams.h>
+#include <ace/SString.h>
+
+using namespace CORBA;
+
+namespace {
+
+ ACE_CString directive;
+
+ void showusage() {
+ ACE_DEBUG((LM_DEBUG, "Usage: controller [-r | -c \"service_configurator_directive\"]\n"
+ "(e.g. dynamic mysvc Service_Object * MySvc:_make_MySvc() \"-arg1 one\"\n\n"));
+ }
+
+ bool parse_args(int argc, char* argv[]) {
+ if (argc != 2 && argc != 3) {
+ ACE_ERROR((LM_ERROR, "Controller: wrong number of arguments. %d\n", argc - 1));
+ return false;
+ }
+ for (int i = 1; i < argc; ++i) {
+ ACE_CString s(argv[i]);
+ if (s == "-h" || s == "-help" || s == "--help" || s == "-?")
+ return false;
+ if (s == "-r") {
+ return true;
+ }
+ if (s == "-c" && ++i < argc) {
+ directive = argv[i];
+ return true;
+ }
+ }
+ return false;
+ }
+}
+
+int main(int argc, char* argv[]) {
+
+ try {
+
+ ORB_var orb = ORB_init(argc, argv);
+
+ if (! parse_args(argc, argv)) {
+ showusage();
+ return 1;
+ }
+
+ ACE_DEBUG((LM_DEBUG, "Controller: Connecting to combined service...\n"));
+
+ Object_var obj = orb->resolve_initial_references("ServiceConfig");
+ ServiceConfigurator_var sc = ServiceConfigurator::_narrow(obj.in());
+ ACE_ASSERT(! is_nil(sc.in()));
+
+ if (directive.length() > 0) {
+ ACE_DEBUG((LM_DEBUG, "Controller: sending directive <%s>...\n", directive.c_str()));
+ sc->process_directive(directive.c_str());
+ } else {
+ ACE_DEBUG((LM_DEBUG, "Controller: reloading config file...\n"));
+ sc->reconfigure();
+ }
+ ACE_DEBUG((LM_DEBUG, "Controller: done.\n"));
+
+ return 0;
+ } catch (CORBA::Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "Controller:");
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp
new file mode 100644
index 00000000000..1a4b617f2f7
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp
@@ -0,0 +1,150 @@
+// $Id$
+#include "dynserver.h"
+
+#include <tao/IORTable/IORTable.h>
+
+#include <ace/Dynamic_Service.h>
+#include <ace/Task.h>
+
+using namespace CORBA;
+using namespace PortableServer;
+
+DynServer::DynServer()
+: n_(0)
+{
+}
+
+DynServer::~DynServer() {
+}
+
+Long DynServer::get() ACE_THROW_SPEC ((SystemException)) {
+ ACE_DEBUG((LM_DEBUG, "dynserver: get() %d\n", ++n_));
+ return n_;
+}
+
+namespace {
+ POA_ptr createPersistPOA(const char* name, POA_ptr root_poa, POAManager_ptr poaman) {
+ PolicyList policies (2);
+ policies.length (2);
+ policies[0] = root_poa->create_id_assignment_policy(USER_ID);
+ policies[1] = root_poa->create_lifespan_policy(PERSISTENT);
+ POA_var poa = root_poa->create_POA(name, poaman, policies);
+ policies[0]->destroy();
+ policies[1]->destroy();
+ return poa._retn();
+ }
+}
+
+class DynServer_ORB_Runner : public ACE_Task_Base
+{
+ ORB_var orb_;
+public:
+ DynServer_ORB_Runner(ORB_ptr orb)
+ : orb_(ORB::_duplicate(orb))
+ {
+ }
+ void end() {
+ if (! is_nil(orb_.in())) {
+ orb_->shutdown(1);
+ wait();
+ }
+ }
+ virtual int svc()
+ {
+ orb_->run();
+ orb_ = ORB::_nil();
+ return 0;
+ }
+};
+
+DynServer_Loader::DynServer_Loader(void)
+{
+}
+
+int
+DynServer_Loader::init (int argc, ACE_TCHAR* argv[] ACE_ENV_ARG_DECL)
+{
+ try {
+
+ orb_ = ORB_init(argc, argv, "DynServer");
+
+ Object_var obj = orb_->resolve_initial_references("RootPOA");
+ root_poa_ = POA::_narrow(obj.in());
+ POAManager_var poaman = root_poa_->the_POAManager();
+ obj = this->orb_->resolve_initial_references ("IORTable");
+ IORTable::Table_var ior_table = IORTable::Table::_narrow (obj.in());
+ ACE_ASSERT(! is_nil(ior_table.in()));
+
+ ACE_DEBUG((LM_DEBUG, "dynserver: creating poas. (Registers with ImR)\n"));
+
+ POA_var poa1 = createPersistPOA("DynObject1", root_poa_.in(), poaman.in());
+ POA_var poa2 = createPersistPOA("DynObject2", root_poa_.in(), poaman.in());
+
+ ACE_DEBUG((LM_DEBUG, "dynserver: activating objects.\n"));
+
+ DynServer* svt1 = new DynServer;
+ ServantBase_var scoped_svt1(svt1);
+ DynServer* svt2 = new DynServer;
+ ServantBase_var scoped_svt2(svt2);
+
+ ObjectId_var id = string_to_ObjectId("myobject");
+
+ poa1->activate_object_with_id(id.in(), svt1);
+ poa2->activate_object_with_id(id.in(), svt2);
+
+ obj = poa1->id_to_reference(id.in());
+ String_var ior = orb_->object_to_string(obj.in());
+ ior_table->bind ("DynObject1", ior.in());
+ obj = poa2->id_to_reference(id.in());
+ ior = orb_->object_to_string(obj.in());
+ ior_table->bind ("DynObject2", ior.in());
+
+ poaman->activate();
+
+ runner_.reset(new DynServer_ORB_Runner(orb_.in()));
+ runner_->activate();
+
+ ACE_DEBUG((LM_DEBUG, "dynserver: running.\n"));
+
+ } catch (Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "DynServer::init()");
+ }
+ return 0;
+}
+
+int
+DynServer_Loader::fini (void)
+{
+ ACE_ASSERT(runner_.get() != 0);
+ try {
+
+ ACE_DEBUG((LM_DEBUG, "dynserver: shutting down.\n"));
+
+ runner_->end();
+ runner_.reset(0);
+
+ root_poa_->destroy(1, 1);
+ orb_->destroy();
+
+ ACE_DEBUG((LM_DEBUG, "dynserver: shut down successfully.\n"));
+
+ return 0;
+
+ } catch (Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "DynServer::fini()");
+ }
+ return -1;
+}
+
+Object_ptr
+DynServer_Loader::create_object (ORB_ptr,
+ int,
+ ACE_TCHAR **
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((SystemException))
+{
+ ACE_THROW_RETURN(NO_IMPLEMENT(), Object::_nil());
+}
+
+ACE_FACTORY_DEFINE (DynServer, DynServer_Loader)
+
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h
new file mode 100644
index 00000000000..f3529a34305
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h
@@ -0,0 +1,59 @@
+// $Id$
+#ifndef DYNSERVER_H
+#define DYNSERVER_H
+
+#include "dynserver_export.h"
+
+#include "testS.h"
+
+#include "tao/Object_Loader.h"
+
+#include "ace/Auto_Ptr.h"
+
+// Trivial test corba object
+class DynServer_Export DynServer
+ : public POA_test
+ , public PortableServer::RefCountServantBase
+{
+ int n_;
+public:
+ DynServer(void);
+ virtual ~DynServer();
+ virtual CORBA::Long get() ACE_THROW_SPEC ((CORBA::SystemException));
+};
+
+class DynServer_ORB_Runner;
+
+// This dll supports the service configurator framework
+class DynServer_Export DynServer_Loader : public TAO_Object_Loader
+{
+public:
+ DynServer_Loader(void);
+
+ // spawns a thread to run an internal orb which has activated
+ // a single DynServer servant.
+ virtual int init (int argc, ACE_TCHAR *argv[]);
+
+ // Allows the service configurator to shutdown the orb
+ virtual int fini (void);
+
+ // Not supported
+ virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb,
+ int argc,
+ ACE_TCHAR *argv[])
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+ DynServer service_;
+ ACE_Auto_Ptr<DynServer_ORB_Runner> runner_;
+
+private:
+ ACE_UNIMPLEMENTED_FUNC (DynServer_Loader (const DynServer_Loader &))
+ ACE_UNIMPLEMENTED_FUNC (DynServer_Loader &operator = (const DynServer_Loader &))
+};
+
+ACE_FACTORY_DECLARE (DynServer, DynServer_Loader)
+
+#endif
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver_export.h b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver_export.h
new file mode 100644
index 00000000000..459e4532891
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver_export.h
@@ -0,0 +1,54 @@
+
+// -*- C++ -*-
+// $Id$
+// Definition for Win32 Export directives.
+// This file is generated automatically by generate_export_file.pl -s DynServer
+// ------------------------------
+#ifndef DYNSERVER_EXPORT_H
+#define DYNSERVER_EXPORT_H
+
+#include "ace/config-all.h"
+
+#if defined (ACE_AS_STATIC_LIBS) && !defined (DYNSERVER_HAS_DLL)
+# define DYNSERVER_HAS_DLL 0
+#endif /* ACE_AS_STATIC_LIBS && DYNSERVER_HAS_DLL */
+
+#if !defined (DYNSERVER_HAS_DLL)
+# define DYNSERVER_HAS_DLL 1
+#endif /* ! DYNSERVER_HAS_DLL */
+
+#if defined (DYNSERVER_HAS_DLL) && (DYNSERVER_HAS_DLL == 1)
+# if defined (DYNSERVER_BUILD_DLL)
+# define DynServer_Export ACE_Proper_Export_Flag
+# define DYNSERVER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
+# define DYNSERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# else /* DYNSERVER_BUILD_DLL */
+# define DynServer_Export ACE_Proper_Import_Flag
+# define DYNSERVER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
+# define DYNSERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+# endif /* DYNSERVER_BUILD_DLL */
+#else /* DYNSERVER_HAS_DLL == 1 */
+# define DynServer_Export
+# define DYNSERVER_SINGLETON_DECLARATION(T)
+# define DYNSERVER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
+#endif /* DYNSERVER_HAS_DLL == 1 */
+
+// Set DYNSERVER_NTRACE = 0 to turn on library specific tracing even if
+// tracing is turned off for ACE.
+#if !defined (DYNSERVER_NTRACE)
+# if (ACE_NTRACE == 1)
+# define DYNSERVER_NTRACE 1
+# else /* (ACE_NTRACE == 1) */
+# define DYNSERVER_NTRACE 0
+# endif /* (ACE_NTRACE == 1) */
+#endif /* !DYNSERVER_NTRACE */
+
+#if (DYNSERVER_NTRACE == 1)
+# define DYNSERVER_TRACE(X)
+#else /* (DYNSERVER_NTRACE == 1) */
+# define DYNSERVER_TRACE(X) ACE_TRACE_IMPL(X)
+#endif /* (DYNSERVER_NTRACE == 1) */
+
+#endif /* DYNSERVER_EXPORT_H */
+
+// End of auto generated file.
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/readme b/TAO/orbsvcs/examples/ImR/Combined_Service/readme
new file mode 100644
index 00000000000..c2b41393866
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/readme
@@ -0,0 +1,28 @@
+Test Description:
+
+The test consists of several processes and the usual run_test.pl script.
+
+controller.exe -- This is a simple corba wrapper around the ServiceConfigurator
+ which takes -c <cmd> and -r options to run a command and
+ reload the conf file respectively.
+
+combined_service.exe -- It combines the tao imr locator, activator, and a dynamic
+ server in a single process. You can use any service
+ configurator command line options, and it also writes
+ out a combined.ior file that can be use d with the controller above.
+
+test_server.exe -- This is a simple tao server that exposes to imr-ified objects
+ called TestObject1 and TestObject2. You must start it with
+ -orbuseimr 1 as usual. This program is not currently used as
+ part of the run_test.pl, but it was handy for debugging.
+
+dynserver.dll -- This is the same server as above, except for use with the ServiceConfigurator.
+ It exposes DynObject1 and DynObject2.
+
+test.exe -- This is a simple client that invokes the test() operation on the Test object.
+ Start it with -orbinitref Test=... It can be used against any of the
+ four objects above.
+
+Their are also comments within the run_test.pl that describe the
+test and expected results at various stages.
+
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl b/TAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl
new file mode 100755
index 00000000000..1727774dc56
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/run_test.pl
@@ -0,0 +1,163 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+###############################################################################
+my $ACE_ROOT = $ENV{ACE_ROOT};
+
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::Run_Test;
+use Cwd;
+use Sys::Hostname;
+use File::Copy;
+
+use strict;
+
+my $cwd = getcwd();
+
+if (!defined $ACE_ROOT) {
+ print "Error: ACE_ROOT not defined.\n";
+ return 1;
+}
+
+# this matches the orbendpoint used in start_all.conf
+my $imr_corbaloc = "corbaloc::localhost:9999";
+my $imr_initref = "-orbinitref ImplRepoService=$imr_corbaloc/ImplRepoService";
+
+my $imr_start_file = PerlACE::LocalFile ("imr_status");
+my $server_start_file = PerlACE::LocalFile ("server_status");
+
+my $start_conf = PerlACE::LocalFile ("start_all.conf");
+
+my $COMB = new PerlACE::Process (PerlACE::LocalFile ("combined_service"));
+my $combined_ior = PerlACE::LocalFile ("combined.ior");
+my $cs_initref = "-orbinitref ServiceConfig=file://$combined_ior";
+
+my $CONT = new PerlACE::Process ('controller');
+my $controller = $CONT->Executable ();
+
+my $IMRUTIL = new PerlACE::Process("$ACE_ROOT/bin/tao_imr");
+
+my $CLI = new PerlACE::Process ('test');
+my $test_initref = "-orbinitref Test=$imr_corbaloc";
+
+my $start_server_cmd = "dynamic DynServer_Loader Service_Object * DynServer:_make_DynServer_Loader() '-orbcollocation per-orb -orbuseimr 1 $imr_initref'";
+
+my $hostname = hostname();
+###############################################################################
+
+sub do_test
+{
+ unlink $combined_ior;
+
+ my $start_time = time();
+
+ # First we start all the servers, including the test server
+ $COMB->Arguments("-f $start_conf");
+ my $ret = $COMB->Spawn();
+ if ($ret != 0) {
+ print "ERROR : spawning combined service.\n";
+ return $ret;
+ }
+
+ ## Wait a little bit for everything to get started
+ sleep(2);
+
+ # The client should pass the simple test
+ $CLI->Arguments("$test_initref/DynObject1");
+ $ret = $CLI->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : spawning test client 1.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # The client should pass the simple test again, this time with obj #2
+ $CLI->Arguments("$test_initref/DynObject2");
+ $ret = $CLI->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : spawning test client 2.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # The server was autoregistered without any start information. We
+ # need to update the registration with a command line so that the
+ # activator can be used to re-launch it.
+ $IMRUTIL->Arguments("$imr_initref update DynObject1 -l $hostname -c \"$controller $cs_initref"
+ . ' -c \\"' . $start_server_cmd . '\\""');
+ $ret = $IMRUTIL->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : Updating DynObject1 cmdline.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # The new command line should now be registered, but only for DynObject1
+ $IMRUTIL->Arguments("$imr_initref list -v");
+ $ret = $IMRUTIL->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : Listing ImR Servers.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # Now we can kill the server. We have to do this using the controller, because
+ # if we were to use the tao_imr shutdown command, there would be no way for
+ # the server to let the service configurator framework know that it stopped.
+ # This could be solved by adding a new interface to the combined_service idl.
+ $CONT->Arguments($cs_initref . ' -c "remove DynServer_Loader"');
+ $ret = $CONT->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : Shutting down Dynamic Server.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # Both DynObject1 and DynObject2 should now show up as "not running"
+ $IMRUTIL->Arguments("$imr_initref list -v");
+ $ret = $IMRUTIL->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : Listing ImR Servers.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # The client should pass the simple test again, because the Activator will
+ # launch the controller, which will, in turn, reload DynServer_Loader
+ $CLI->Arguments("$test_initref/DynObject1");
+ $ret = $CLI->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : spawning test client 3.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ # The client should pass the simple test again with obj #2, because both
+ $CLI->Arguments("$test_initref/DynObject2");
+ $ret = $CLI->SpawnWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : spawning test client 4.\n";
+ $COMB->TerminateWaitKill(5);
+ return $ret;
+ }
+
+ $COMB->TerminateWaitKill(5);
+ if ($ret != 0) {
+ print "ERROR : Terminating combined service.\n";
+ return $ret;
+ }
+
+ unlink $combined_ior;
+
+ return $ret;
+}
+
+my $ret = do_test();
+
+#unlink $;
+
+exit $ret;
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/service_config.idl b/TAO/orbsvcs/examples/ImR/Combined_Service/service_config.idl
new file mode 100644
index 00000000000..f4fb3363f8e
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/service_config.idl
@@ -0,0 +1,6 @@
+// $Id$
+// Just provides a corba interface to the ACE Service Configurator
+interface ServiceConfigurator {
+ long process_directive(in string s);
+ void reconfigure();
+};
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/start_all.conf b/TAO/orbsvcs/examples/ImR/Combined_Service/start_all.conf
new file mode 100644
index 00000000000..ba4834f6047
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/start_all.conf
@@ -0,0 +1,3 @@
+dynamic ImR_Locator_Loader Service_Object * TAO_ImR_Locator:_make_ImR_Locator_Loader() '-orbcollocation per-orb -orbobjrefstyle url -d 1 -orbendpoint iiop://:9999'
+dynamic ImR_Activator_Loader Service_Object * TAO_ImR_Activator:_make_ImR_Activator_Loader() '-orbcollocation per-orb -d 1 -orbinitref ImplRepoService=corbaloc::localhost:9999/ImplRepoService'
+dynamic DynServer_Loader Service_Object * DynServer:_make_DynServer_Loader() '-orbcollocation per-orb -orbuseimr 1 -orbinitref ImplRepoService=corbaloc::localhost:9999/ImplRepoService'
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/test.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/test.cpp
new file mode 100644
index 00000000000..1605d2caf21
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/test.cpp
@@ -0,0 +1,39 @@
+// $Id$
+// This is a simple test of an ImR using the corba interfaces
+
+#include "testC.h"
+
+#include <stdexcept>
+#include <sstream>
+
+#define assertTrue(CONDITION) \
+ if (CONDITION == false) { \
+ std::ostringstream oss; \
+ oss << "Error : "#CONDITION" "__FILE__":" << __LINE__; \
+ throw std::runtime_error(oss.str()); \
+ } \
+
+using namespace CORBA;
+
+int main(int argc, char* argv[]) {
+
+ try {
+
+ ORB_var orb = ORB_init(argc, argv);
+
+ Object_var obj = orb->resolve_initial_references("Test");
+ test_var test = test::_narrow(obj.in());
+ assertTrue(! is_nil(test.in()));
+
+ Long n = test->get();
+ Long m = test->get();
+ assertTrue(m == n + 1);
+
+ ACE_DEBUG((LM_DEBUG, "All tests ran successfully.\n"));
+
+ return 0;
+ } catch (CORBA::Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "test:");
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/test.idl b/TAO/orbsvcs/examples/ImR/Combined_Service/test.idl
new file mode 100644
index 00000000000..9ff40e9c6a9
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/test.idl
@@ -0,0 +1,4 @@
+// $Id$
+interface test {
+ long get();
+};
diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/test_server.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/test_server.cpp
new file mode 100644
index 00000000000..cd1647540bb
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Combined_Service/test_server.cpp
@@ -0,0 +1,89 @@
+// $Id$
+// This is a simple test of an ImR using the corba interfaces
+// It uses multicast to find the ImplRepoService
+
+#include "testS.h"
+
+#include <tao/IORTable/IORTable.h>
+
+#include <ace/streams.h>
+#include <ace/ARGV.h>
+
+using namespace CORBA;
+using namespace PortableServer;
+
+class test_i : public virtual POA_test {
+ int n_;
+public:
+ test_i (void) : n_(0)
+ {
+ }
+ virtual ~test_i (void) {
+ }
+ virtual CORBA::Long get (ACE_ENV_SINGLE_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) {
+ ACE_DEBUG((LM_DEBUG, "dynserver: get() %d\n", ++n_));
+ return n_;
+ }
+};
+
+POA_ptr createPersistPOA(const char* name, POA_ptr root_poa, POAManager_ptr poaman) {
+ CORBA::PolicyList policies (2);
+ policies.length (2);
+ policies[0] = root_poa->create_id_assignment_policy(USER_ID);
+ policies[1] = root_poa->create_lifespan_policy(PERSISTENT);
+ POA_var poa = root_poa->create_POA(name, poaman, policies);
+ policies[0]->destroy();
+ policies[1]->destroy();
+ return poa._retn();
+}
+
+int main(int argc, char* argv[]) {
+
+ try {
+
+ ORB_var orb = ORB_init(argc, argv);
+
+ Object_var obj = orb->resolve_initial_references("RootPOA");
+ POA_var root_poa = POA::_narrow(obj.in());
+ POAManager_var poaman = root_poa->the_POAManager();
+ obj = orb->resolve_initial_references ("IORTable");
+ IORTable::Table_var ior_table = IORTable::Table::_narrow (obj.in());
+ ACE_ASSERT(! is_nil(ior_table.in()));
+
+ ACE_DEBUG((LM_DEBUG, "test_server: creating poas. (Registers with ImR)\n"));
+
+ POA_var poa1 = createPersistPOA("TestObject1", root_poa.in(), poaman.in());
+ POA_var poa2 = createPersistPOA("TestObject2", root_poa.in(), poaman.in());
+
+ ACE_DEBUG((LM_DEBUG, "test_server: activating objects.\n"));
+
+ test_i svt1, svt2;
+
+ ObjectId_var id = string_to_ObjectId("myobject");
+
+ poa1->activate_object_with_id(id.in(), &svt1);
+ poa2->activate_object_with_id(id.in(), &svt2);
+
+ obj = poa1->id_to_reference(id.in());
+ String_var ior = orb->object_to_string(obj.in());
+ ior_table->bind ("TestObject1", ior.in());
+ obj = poa2->id_to_reference(id.in());
+ ior = orb->object_to_string(obj.in());
+ ior_table->bind ("TestObject2", ior.in());
+
+ poaman->activate();
+
+ ACE_DEBUG((LM_DEBUG, "test_server: Running...\n"));
+
+ orb->run();
+
+ ACE_DEBUG((LM_DEBUG, "test_server: Shutting down...\n"));
+
+ root_poa->destroy(1, 1);
+ orb->destroy();
+
+ } catch (CORBA::Exception& e) {
+ ACE_PRINT_EXCEPTION(e, "TestServer::init()");
+ }
+ return 0;
+}
diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
index 9d4e1856309..51d3797619b 100644
--- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
+++ b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
@@ -1,13 +1,13 @@
+#include "Svc_Utils_pch.h"
+// $Id$
+
#include "IOR_Multicast.h"
#include "tao/debug.h"
#include "ace/SOCK_Connector.h"
-#include "ace/SString.h"
-ACE_RCSID (orbsvcs,
- IOR_Multicast,
- "$Id$")
+ACE_RCSID(orbsvcs, IOR_Multicast, "$Id$")
ACE_HANDLE
TAO_IOR_Multicast::get_handle (void) const
@@ -16,9 +16,7 @@ TAO_IOR_Multicast::get_handle (void) const
}
TAO_IOR_Multicast::TAO_IOR_Multicast (void)
- : service_id_ ((TAO_Service_ID) 0),
- ior_ (0),
- mcast_nic_ (0)
+ : service_id_ ((TAO_Service_ID) 0)
{
}
@@ -26,7 +24,6 @@ TAO_IOR_Multicast::TAO_IOR_Multicast (const char *ior,
u_short port,
const char *mcast_addr,
TAO_Service_ID service_id)
- : mcast_nic_ (0)
{
if (this->init (ior,
port,
@@ -37,8 +34,6 @@ TAO_IOR_Multicast::TAO_IOR_Multicast (const char *ior,
ACE_TEXT ("TAO_IOR_Multicast")));
}
-// destructor
-
TAO_IOR_Multicast::~TAO_IOR_Multicast (void)
{
if (this->mcast_dgram_.leave (this->mcast_addr_) == -1)
@@ -53,13 +48,8 @@ TAO_IOR_Multicast::init (const char *ior,
const char *mcast_addr,
TAO_Service_ID service_id)
{
- if (this->mcast_addr_.set (port,
- mcast_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "set"),
- -1);
-
+ if (this->mcast_addr_.set (port, mcast_addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "set"), -1);
return common_init (ior, service_id);
}
@@ -69,15 +59,15 @@ TAO_IOR_Multicast::init (const char *ior,
TAO_Service_ID service_id)
{
// Look for a '@' incase a nic is specified.
- this->mcast_nic_ = ACE_OS::strchr (mcast_addr, '@');
+ const char* tmpnic = ACE_OS::strchr (mcast_addr, '@');
CORBA::String_var actual_mcast_addr;
CORBA::ULong length_addr;
- if (this->mcast_nic_ != 0)
+ if (tmpnic != 0)
{
// i.e. a nic name has been specified
- length_addr = this->mcast_nic_ - mcast_addr + 1;
+ length_addr = tmpnic - mcast_addr + 1;
actual_mcast_addr = CORBA::string_alloc (length_addr);
ACE_OS::strncpy (actual_mcast_addr.inout (),
@@ -87,13 +77,13 @@ TAO_IOR_Multicast::init (const char *ior,
actual_mcast_addr[length_addr - 1] = '\0';
/// Save for use later.
- this->mcast_nic_ = this->mcast_nic_ + 1;
+ this->mcast_nic_ = tmpnic + 1;
}
else
{
actual_mcast_addr =
- CORBA::string_alloc (ACE_static_cast (CORBA::ULong,
- ACE_OS::strlen (mcast_addr)));
+ CORBA::string_alloc (ACE_static_cast(CORBA::ULong,
+ ACE_OS::strlen (mcast_addr)));
actual_mcast_addr = mcast_addr;
}
@@ -128,15 +118,12 @@ TAO_IOR_Multicast::common_init (const char *ior,
}
// Use ACE_SOCK_Dgram_Mcast factory to subscribe to multicast group.
- if (this->mcast_nic_ != 0)
+ if (this->mcast_nic_.length() != 0)
{
if (this->mcast_dgram_.subscribe (this->mcast_addr_,
1,
- ACE_TEXT_CHAR_TO_TCHAR(this->mcast_nic_)) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "subscribe"),
- -1);
+ ACE_TEXT_CHAR_TO_TCHAR(this->mcast_nic_.c_str())) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "subscribe"),-1);
}
else
{
@@ -216,9 +203,6 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
service_name,
ACE_NTOHS (remote_port)));
- // Our reply data.
- ACE_CString ior (this->ior_);
-
if (ACE_OS::strcmp (service_name,
"NameService") != 0
&& ACE_OS::strcmp (service_name,
@@ -230,9 +214,8 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
&& ACE_OS::strcmp (service_name,
"MCASTServer") != 0)
{
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unknown service requested.\n"),
- 0);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "IOR_Multicast::connect() Unknown service requested.\n"),0);
}
// Reply to the multicast message.
@@ -242,17 +225,14 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
ACE_SOCK_Stream stream;
// Connect.
- if (connector.connect (stream,
- peer_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "IOR_Multicast::connect failed\n"),
- 0);
+ if (connector.connect (stream, peer_addr) == -1)
+ ACE_ERROR_RETURN ((LM_ERROR, "IOR_Multicast::connect failed\n"), 0);
// Send the IOR back to the client. (Send iovec, which contains ior
// length as the first element, and ior itself as the second.)
// Length of ior to be sent.
CORBA::Short data_len =
- ACE_static_cast (CORBA::Short, ACE_HTONS (ior.length () + 1));
+ ACE_static_cast(CORBA::Short, ACE_HTONS (this->ior_.length () + 1));
// Vector to be sent.
const int cnt = 2;
@@ -263,11 +243,10 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
iovp[0].iov_len = sizeof (CORBA::Short);
// The ior.
- iovp[1].iov_base = ACE_const_cast (char*, ior.c_str ());
- iovp[1].iov_len = ACE_static_cast (u_long, ior.length () + 1);
+ iovp[1].iov_base = ACE_const_cast (char*, this->ior_.c_str ());
+ iovp[1].iov_len = ACE_static_cast(u_long, this->ior_.length () + 1);
- ssize_t result = stream.sendv_n (iovp,
- cnt);
+ ssize_t result = stream.sendv_n (iovp, cnt);
// Close the stream.
stream.close ();
@@ -280,9 +259,11 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
"(%P|%t) ior_: <%s>\n"
"sent to %s:%u.\n"
"result from send = %d\n",
- ior.c_str (),
+ this->ior_.c_str (),
peer_addr.get_host_name (),
peer_addr.get_port_number (),
result));
return 0;
}
+
+
diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.h b/TAO/orbsvcs/orbsvcs/IOR_Multicast.h
index 863106d7487..eb2e58313ec 100644
--- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.h
+++ b/TAO/orbsvcs/orbsvcs/IOR_Multicast.h
@@ -20,11 +20,10 @@
#ifndef TAO_IOR_MULTICAST_H
#define TAO_IOR_MULTICAST_H
-
-#include /**/ "ace/pre.h"
+#include "ace/pre.h"
#include "orbsvcs/svc_utils_export.h"
-#include "tao/ORB.h"
+#include "tao/corba.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -66,7 +65,7 @@ public:
// Initialization method. Takes in "address:port" string as a
// parameter.
- ~TAO_IOR_Multicast (void);
+ virtual ~TAO_IOR_Multicast (void);
// Destructor.
virtual int handle_input (ACE_HANDLE n);
@@ -84,9 +83,6 @@ private:
TAO_Service_ID service_id);
// Factor common functionality from the two init functions.
- char buf_[BUFSIZ];
- // temporary buffer.
-
TAO_Service_ID service_id_;
// Service id that we're waiting for.
@@ -96,7 +92,7 @@ private:
ACE_INET_Addr mcast_addr_;
// multicast address
- const char *ior_;
+ ACE_CString ior_;
// object reference to send in response to the multicast
ACE_INET_Addr response_addr_;
@@ -105,9 +101,8 @@ private:
ACE_SOCK_Dgram response_;
// socket for response to the multicast
- const char *mcast_nic_;
+ ACE_CString mcast_nic_;
};
-#include /**/ "ace/post.h"
-
+#include "ace/post.h"
#endif /* TAO_IOR_MULTICAST_H */
diff --git a/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
index 099f5fdad62..78ed21379be 100755
--- a/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
+++ b/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
@@ -18,7 +18,6 @@ $pfile = PerlACE::LocalFile ("persistence.dat");
$IMR_LOCATOR = new PerlACE::Process ("../../../ImplRepo_Service/ImplRepo_Service");
$IMR_ACTIVATOR = new PerlACE::Process ("../../../ImplRepo_Service/ImR_Activator");
$TAO_IMR = new PerlACE::Process ("../../../../../bin/tao_imr");
-
################################################################################
$errors = 0;
@@ -30,7 +29,7 @@ unlink $pfile;
################################################################################
## Start the implementation Repository Locator
-$IMR_LOCATOR->Arguments ("-o $imr_locator_ior ");
+$IMR_LOCATOR->Arguments ("-p $pfile -o $imr_locator_ior -d 1");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
@@ -41,7 +40,7 @@ if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
## Start the implementation Repository Activator
-$IMR_ACTIVATOR->Arguments ("-o $imr_activator_ior -d 0 -p $pfile -ORBInitRef ImplRepoService=file://$imr_locator_ior");
+$IMR_ACTIVATOR->Arguments ("-o $imr_activator_ior -d 1 -ORBInitRef ImplRepoService=file://$imr_locator_ior");
$IMR_ACTIVATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_activator_ior, 10) == -1) {
@@ -57,9 +56,9 @@ if (PerlACE::waitforfile_timed ($imr_activator_ior, 10) == -1) {
print "===== Adding a server\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
- . " add Foo -c foobarbaz");
+ . " add Foo -c foobarbaz");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
if ($taoimr != 0) {
print STDERR "ERROR: tao_imr (add) returned $taoimr\n";
@@ -69,9 +68,9 @@ if ($taoimr != 0) {
print "===== Updating a server\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
- . " update Foo -w foodir");
+ . " update Foo -w foodir" );
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
if ($taoimr != 0) {
print STDERR "ERROR: tao_imr (update) returned $taoimr\n";
@@ -83,7 +82,7 @@ print "===== Removing a server\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " remove Foo");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
if ($taoimr != 0) {
print STDERR "ERROR: tao_imr (remove) returned $taoimr\n";
@@ -95,7 +94,7 @@ print "===== Readding a server\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " add Foo -c foobarbaz");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
if ($taoimr != 0) {
print STDERR "ERROR: tao_imr (add) returned $taoimr\n";
@@ -114,19 +113,10 @@ if ($iserver != 0) {
unlink $imr_locator_ior;
-$iserver = $IMR_ACTIVATOR->TerminateWaitKill (5);
-
-if ($iserver != 0) {
- print STDERR "ERROR: IMR returned $iserver\n";
- ++$errors;
-}
-
-unlink $imr_activator_ior;
-
################################################################################
## Restart the Implementation Repository in locked mode.
-$IMR_LOCATOR->Arguments ("-o $imr_locator_ior ");
+$IMR_LOCATOR->Arguments ("-l -p $pfile -o $imr_locator_ior -d 1");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
@@ -135,27 +125,31 @@ if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
exit 1;
}
-$IMR_ACTIVATOR->Arguments ("-o $imr_activator_ior -d 0 -l -p $pfile -ORBInitRef ImplRepoService=file://$imr_locator_ior");
-$IMR_ACTIVATOR->Spawn ();
-
-if (PerlACE::waitforfile_timed ($imr_activator_ior, 10) == -1) {
- print STDERR "ERROR: waiting for $imr_activator_ior\n";
- $IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
- exit 1;
-}
-
################################################################################
## Test out commands on the IMR
+print "===== Listing registered servers.\n";
+
+$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
+ . " list");
+
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
+
+if ($taoimr != 0) {
+ print STDERR "ERROR: tao_imr (list) returned $taoimr\n";
+ ++$errors;
+}
+
print "===== Adding a server (should fail)\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " add Foo2 -c foobarbaz");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
-if ($taoimr != 2) {
+## Note : If you receive a 5 (NOT_FOUND) then it's likely that
+## persistence isn't working correctly.
+if ($taoimr != 2) { # NO_PERMISSION
print STDERR "ERROR: tao_imr (add) returned $taoimr\n";
++$errors;
}
@@ -165,9 +159,9 @@ print "===== Updating a server (should fail)\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " update Foo -w foodir");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
-if ($taoimr != 2) {
+if ($taoimr != 2) { # NO_PERMISSION
print STDERR "ERROR: tao_imr (update) returned $taoimr\n";
++$errors;
}
@@ -177,9 +171,9 @@ print "===== Removing a server (should fail)\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " remove Foo");
-$taoimr = $TAO_IMR->SpawnWaitKill (60);
+$taoimr = $TAO_IMR->SpawnWaitKill (10);
-if ($taoimr != 2) {
+if ($taoimr != 2) { # NO_PERMISSION
print STDERR "ERROR: tao_imr (remove) returned $taoimr\n";
++$errors;
}
diff --git a/TAO/orbsvcs/tests/ImplRepo/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/run_test.pl
index ea222c7e56b..abbcef3adf3 100755
--- a/TAO/orbsvcs/tests/ImplRepo/run_test.pl
+++ b/TAO/orbsvcs/tests/ImplRepo/run_test.pl
@@ -30,7 +30,7 @@ $imr_locator_ior = PerlACE::LocalFile ("imr_locator.ior");
$refstyle = " -ORBobjrefstyle URL";
-$backing_store = "imr_backing_store";
+$backing_store = "imr_backing_store.xml";
$nestea_dat = "nestea.dat";
$protocol = "iiop";
@@ -41,7 +41,7 @@ $endpoint = "-ORBEndpoint " . "$protocol" . "://" . "$host" . ":" . $port;
$IMR_LOCATOR = new PerlACE::Process ("../../ImplRepo_Service/ImplRepo_Service");
$IMR_ACTIVATOR = new PerlACE::Process ("../../ImplRepo_Service/ImR_Activator");
-$TAO_IMR = new PerlACE::Process("$ACE_ROOT/bin/tao_imr");
+$TAO_IMR = new PerlACE::Process("../../../../bin/tao_imr");
$A_SVR = new PerlACE::Process (PerlACE::LocalFile ("airplane_server"));
$A_CLI = new PerlACE::Process (PerlACE::LocalFile ("airplane_client"),
@@ -133,7 +133,7 @@ sub nt_service_test
my $result = 0;
# Just to show that it's possible, this test uses corbaloc instead of ior file.
- my $imr_initref = "-orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService";
+ my $imr_initref = "-orbinitref ImplRepoService=corbaloc::localhost:8888/ImplRepoService";
# To avoid having to ensure that they LocalSystem account has the correct path
# we simply copy the imr executables to the same directory as the DLL's.
@@ -239,7 +239,7 @@ sub airplane_ir_test
my $imr_initref = "-ORBInitRef ImplRepoService=file://$imr_locator_ior";
- $IMR_LOCATOR->Arguments ("-d 1 -o $imr_locator_ior");
+ $IMR_LOCATOR->Arguments ("-d 2 -o $imr_locator_ior");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 5) == -1) {
@@ -248,7 +248,7 @@ sub airplane_ir_test
return 1;
}
- $IMR_ACTIVATOR->Arguments ("-d 1 -o $imr_activator_ior $imr_initref");
+ $IMR_ACTIVATOR->Arguments ("-d 2 -o $imr_activator_ior $imr_initref");
$IMR_ACTIVATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_activator_ior, 5) == -1) {
@@ -258,13 +258,13 @@ sub airplane_ir_test
}
$TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
- . $A_SVR->Executable ()
- . " -ORBUseIMR 1 -o $airplane_ior $imr_initref\"");
+ . $A_SVR->Executable ()
+ . " -ORBUseIMR 1 -o $airplane_ior $imr_initref\"");
$result = $TAO_IMR->SpawnWaitKill (5);
if ($result != 0) {
print STDERR "ERROR: tao_imr returned $result\n";
- $IMR_ACTIVATOR->Kill ();
+ $IMR_ACTIVATOR->Kill ();
$IMR_LOCATOR->Kill ();
return 1;
}
@@ -275,7 +275,7 @@ sub airplane_ir_test
if (PerlACE::waitforfile_timed ($airplane_ior, 10) == -1) {
print STDERR "ERROR: cannot find $airplane_ior\n";
$IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
$A_SVR->Kill ();
return 1;
}
@@ -335,9 +335,9 @@ sub nestea_ir_test
my $status = 0;
my $result = 0;
- my $imr_initref = "-ORBInitRef ImplRepoService=file://$imr_locator_ior";
+ my $imr_initref = "-orbobjrefstyle URL -ORBInitRef ImplRepoService=file://$imr_locator_ior";
- $IMR_LOCATOR->Arguments ("-d 1 -o $imr_locator_ior");
+ $IMR_LOCATOR->Arguments ("-d 2 -o $imr_locator_ior");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
@@ -346,13 +346,13 @@ sub nestea_ir_test
return 1;
}
- $IMR_ACTIVATOR->Arguments ("-d 1 -o $imr_activator_ior $imr_initref");
+ $IMR_ACTIVATOR->Arguments ("-d 2 -o $imr_activator_ior $imr_initref");
$IMR_ACTIVATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_activator_ior, 30) == -1) {
print STDERR "ERROR: cannot find $imr_activator_ior\n";
$IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
return 1;
}
@@ -440,21 +440,23 @@ sub persistent_ir_test
my $imr_initref = "-ORBInitRef ImplRepoService=file://$imr_locator_ior";
- $IMR_LOCATOR->Arguments ("-d 1 -o $imr_locator_ior");
+ ## Be sure to start the ImR on a consistent endpoint, so that any created IORs
+ ## remain valid even if the ImR restarts.
+ $IMR_LOCATOR->Arguments ("-orbendpoint iiop://:8888 -x $backing_store -d 2 -o $imr_locator_ior");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
- print STDERR "ERROR: cannot find $implrepo_ior\n";
+ print STDERR "ERROR: cannot find $implrepo_ior\n";
$IMR_LOCATOR->Kill ();
- return 1;
+ return 1;
}
- $IMR_ACTIVATOR->Arguments ("-d 1 -o $imr_activator_ior -p $backing_store $imr_initref");
+ $IMR_ACTIVATOR->Arguments ("-d 2 -o $imr_activator_ior $imr_initref");
$IMR_ACTIVATOR->Spawn ();
- if (PerlACE::waitforfile_timed ($imr_activator_ior, 30) == -1) {
+ if (PerlACE::waitforfile_timed ($imr_activator_ior, 10) == -1) {
print STDERR "ERROR: cannot find $imr_activator_ior\n";
$IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
return 1;
}
@@ -466,6 +468,10 @@ sub persistent_ir_test
return 1;
}
+ ## This will write out the imr-ified IOR. Note : If you don't use -orbendpoint
+ ## when starting the ImR, then this IOR will no longer be valid when the ImR
+ ## restarts below. You can fix this by creating a new valid IOR, or starting
+ ## the ImR on a consistent endpoint.
$A_SVR->Arguments ("-o $airplane_ior -ORBUseIMR 1 $refstyle $imr_initref");
$A_SVR->Spawn ();
@@ -476,14 +482,14 @@ sub persistent_ir_test
return 1;
}
- $TAO_IMR->Arguments ("$imr_initref shutdown airplane_server");
-
$result = $A_CLI->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: airplane client returned $result\n";
$status = 1;
}
+ $TAO_IMR->Arguments ("$imr_initref shutdown airplane_server");
+
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr shutdown returned $result\n";
@@ -503,6 +509,7 @@ sub persistent_ir_test
$status = 1;
}
+ # Shutdown airplane_server
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr shutdown 2 returned $result\n";
@@ -513,21 +520,14 @@ sub persistent_ir_test
# managed by perl, and we can't wait for it to die. So sleep a few secs.
sleep(5);
- my $implrepo = $IMR_ACTIVATOR->TerminateWaitKill (5);
- if ($implrepo != 0) {
- print STDERR "ERROR: IMR_Activator returned $implrepo\n";
- $status = 1;
- }
-
- $implrepo = $IMR_LOCATOR->TerminateWaitKill (5);
+ my $implrepo = $IMR_LOCATOR->TerminateWaitKill (5);
if ($implrepo != 0) {
print STDERR "ERROR: IMR_Locator returned $implrepo\n";
$status = 1;
}
- # Unlink so that we can wait on them again to know the servers started.
+ # Unlink so that we can wait on them again to know the server started.
unlink $imr_locator_ior;
- unlink $imr_activator_ior;
print "Restarting Implementation Repository.\n";
$IMR_LOCATOR->Spawn ();
@@ -537,15 +537,6 @@ sub persistent_ir_test
return 1;
}
- # Should reload the server list without having to run tao_imr again.
- $IMR_ACTIVATOR->Spawn ();
- if (PerlACE::waitforfile_timed ($imr_activator_ior, 30) == -1) {
- print STDERR "ERROR: cannot find $imr_activator_ior\n";
- $IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
- return 1;
- }
-
# Should cause the activator to spawn another server.
$result = $A_CLI->SpawnWaitKill (20);
if ($result != 0) {
@@ -553,6 +544,7 @@ sub persistent_ir_test
$status = 1;
}
+ # Shutdown airplane_server
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr shutdown 3 returned $result\n";
@@ -575,7 +567,7 @@ sub persistent_ir_test
$status = 1;
}
- return $status;
+ return $status;
}
###############################################################################
@@ -586,7 +578,7 @@ sub both_ir_test
my $imr_initref = "-ORBInitRef ImplRepoService=file://$imr_locator_ior";
- $IMR_LOCATOR->Arguments ("-d 1 -o $imr_locator_ior $refstyle");
+ $IMR_LOCATOR->Arguments ("-d 2 -o $imr_locator_ior $refstyle");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
@@ -595,24 +587,24 @@ sub both_ir_test
return 1;
}
- $IMR_ACTIVATOR->Arguments ("-o $imr_activator_ior $imr_initref $refstyle -d 1");
+ $IMR_ACTIVATOR->Arguments ("-o $imr_activator_ior $imr_initref $refstyle -d 2");
$IMR_ACTIVATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_activator_ior, 10) == -1) {
print STDERR "ERROR: cannot find $imr_activator_ior\n";
- $IMR_ACTIVATOR->Kill ();
+ $IMR_ACTIVATOR->Kill ();
$IMR_LOCATOR->Kill ();
return 1;
}
$TAO_IMR->Arguments ("$imr_initref add nestea_server -c \""
- . $N_SVR->Executable ()
- . " -ORBUseIMR 1 $refstyle -o $nestea_ior $imr_initref\"");
+ . $N_SVR->Executable ()
+ . " -ORBUseIMR 1 $refstyle -o $nestea_ior $imr_initref\"");
$TAO_IMR->SpawnWaitKill (10);
- $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
- . $A_SVR->Executable ()
- . " -ORBUseIMR 1 $refstyle -o $airplane_ior $imr_initref\"");
+ $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
+ . $A_SVR->Executable ()
+ . " -ORBUseIMR 1 $refstyle -o $airplane_ior $imr_initref\"");
$TAO_IMR->SpawnWaitKill (10);
$N_SVR->Arguments (" -o $nestea_ior -ORBUseIMR 1 $refstyle $imr_initref");
@@ -623,7 +615,7 @@ sub both_ir_test
if (PerlACE::waitforfile_timed ($nestea_ior, 10) == -1) {
print STDERR "ERROR: cannot find $nestea_ior\n";
- $IMR_ACTIVATOR->Kill ();
+ $IMR_ACTIVATOR->Kill ();
$IMR_LOCATOR->Kill ();
$A_SVR->Kill ();
$N_SVR->Kill ();
@@ -633,7 +625,7 @@ sub both_ir_test
if (PerlACE::waitforfile_timed ($airplane_ior, 10) == -1) {
print STDERR "ERROR: cannot find $airplane_ior\n";
$IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
$A_SVR->Kill ();
$N_SVR->Kill ();
return 1;
@@ -645,7 +637,7 @@ sub both_ir_test
$A_CLI->Spawn ();
$N_CLI->WaitKill (10);
- $A_CLI->WaitKill (10);
+ $A_CLI->WaitKill (20);
$TAO_IMR->Arguments ("$imr_initref shutdown nestea_server");
$TAO_IMR->SpawnWaitKill (10);
@@ -677,42 +669,55 @@ sub both_ir_test
# Parse the arguments
+$ret = 0;
+
+if ($#ARGV >= 0) {
for ($i = 0; $i <= $#ARGV; $i++) {
if ($ARGV[$i] eq "-h" || $ARGV[$i] eq "-?") {
print "run_test test\n";
print "\n";
print "test -- Runs a specific test:\n";
- print " airplane, airplane_ir, nt_service, ",
+ print " airplane, airplane_ir, nt_service_ir, ",
"nestea, nestea_ir,\n";
print " both_ir, persistent_ir\n";
- exit;
+ exit 1;
}
elsif ($ARGV[$i] eq "airplane") {
- exit airplane_test ();
+ $ret = airplane_test ();
}
elsif ($ARGV[$i] eq "airplane_ir") {
- exit airplane_ir_test ();
+ $ret = airplane_ir_test ();
}
elsif ($ARGV[$i] eq "nt_service_ir") {
- exit nt_service_test ();
+ $ret = nt_service_test ();
}
elsif ($ARGV[$i] eq "nestea") {
- exit nestea_test ();
+ $ret = nestea_test ();
}
elsif ($ARGV[$i] eq "nestea_ir") {
- exit nestea_ir_test ();
+ $ret = nestea_ir_test ();
}
elsif ($ARGV[$i] eq "both_ir") {
- exit both_ir_test ();
+ $ret = both_ir_test ();
}
elsif ($ARGV[$i] eq "persistent_ir") {
- exit persistent_ir_test ();
+ $ret = persistent_ir_test ();
}
else {
print "run_test: Unknown Option: ".$ARGV[$i]."\n";
}
}
+} else {
+ $ret = both_ir_test();
+}
-# if nothing else, run both_ir
-exit both_ir_test ();
+# Make sure the files are gone, so we can wait on them.
+unlink $airplane_ior;
+unlink $nestea_ior;
+unlink $imr_locator_ior;
+unlink $imr_activator_ior;
+unlink $backing_store;
+unlink $nestea.dat;
+
+exit $ret;
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/client.conf b/TAO/orbsvcs/tests/ImplRepo/scale/client.conf
new file mode 100644
index 00000000000..87e77efbd29
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/client.conf
@@ -0,0 +1,4 @@
+# This file is here just in case you want to run some of the tests manually
+# and don't want the client to jump back in the reactor during the
+# invocation.
+static Client_Strategy_Factory "-ORBClientConnectionHandler rw"
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/client.cpp b/TAO/orbsvcs/tests/ImplRepo/scale/client.cpp
new file mode 100644
index 00000000000..cb73d843859
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/client.cpp
@@ -0,0 +1,40 @@
+// $Id$
+// This is a simple test of an ImR using the corba interfaces
+// Start with -orbinitref Test=...
+
+#include "testC.h"
+
+using namespace CORBA;
+
+int main(int argc, char* argv[]) {
+
+ ACE_TRY_NEW_ENV
+ {
+
+ ORB_var orb = ORB_init(argc, argv, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ Object_var obj = orb->resolve_initial_references("Test" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ test_var test = test::_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! is_nil(test.in()));
+
+ Long n = test->get(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ Long m = test->get(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ if (m == n + 1)
+ ACE_DEBUG((LM_DEBUG, "Client: All tests ran successfully.\n"));
+ else
+ ACE_DEBUG((LM_DEBUG, "Error: Client Expected %d = %d + 1.\n", m, n));
+
+ return 0;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "client:");
+ }
+ ACE_ENDTRY;
+ return -1;
+}
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/scale/run_test.pl
new file mode 100755
index 00000000000..ccbc5f6ba44
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/run_test.pl
@@ -0,0 +1,217 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+###############################################################################
+my $ACE_ROOT = $ENV{ACE_ROOT};
+
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::Run_Test;
+use Cwd;
+use Sys::Hostname;
+use File::Copy;
+
+use strict;
+
+my $cwd = getcwd();
+
+if (!defined $ACE_ROOT) {
+ print "Error: ACE_ROOT not defined.\n";
+ return 1;
+}
+
+my $imr_activator_ior = PerlACE::LocalFile ("imr_activator.ior");
+my $imr_locator_ior = PerlACE::LocalFile ("imr_locator.ior");
+
+my $refstyle = " -ORBobjrefstyle URL";
+
+my $persistxml = PerlACE::LocalFile ("persist.xml");
+my $persist = PerlACE::LocalFile ("persist.dat");
+
+my $IMR_LOCATOR = new PerlACE::Process ("$ACE_ROOT/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service");
+my $IMR_ACTIVATOR = new PerlACE::Process ("$ACE_ROOT/TAO/orbsvcs/ImplRepo_Service/ImR_Activator");
+my $TAO_IMR = new PerlACE::Process("$ACE_ROOT/bin/tao_imr");
+
+my $SVR = new PerlACE::Process (PerlACE::LocalFile ("server"));
+my $CLI = new PerlACE::Process (PerlACE::LocalFile ("client"));
+
+my $servers_count = 1;
+my $obj_count = 1;
+my $use_activator = 0;
+
+my $objprefix = "TstObj";
+my $client_wait_time = 5;
+
+# Make sure the files are gone, so we can wait on them.
+unlink $imr_locator_ior;
+unlink $imr_activator_ior;
+unlink $persistxml;
+unlink $persist;
+
+sub scale_test
+{
+ print "Running scale test with $servers_count servers and $obj_count objects.\n";
+
+ my $status = 0;
+ my $result = 0;
+ my $start_time = time();
+
+ my $imr_initref = "-ORBInitRef ImplRepoService=file://$imr_locator_ior";
+
+ $IMR_LOCATOR->Arguments ("-d 1 -o $imr_locator_ior -orbendpoint iiop://:9876");
+ $IMR_LOCATOR->Spawn ();
+ if (PerlACE::waitforfile_timed ($imr_locator_ior, 5) == -1) {
+ print STDERR "ERROR: cannot find $imr_locator_ior\n";
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ if ($use_activator) {
+
+ $IMR_ACTIVATOR->Arguments ("-d 1 -o $imr_activator_ior $imr_initref");
+ $IMR_ACTIVATOR->Spawn ();
+ if (PerlACE::waitforfile_timed ($imr_activator_ior, 5) == -1) {
+ print STDERR "ERROR: cannot find $imr_activator_ior\n";
+ $IMR_ACTIVATOR->Kill ();
+ return 1;
+ }
+
+ for(my $i = 0; $i < $servers_count; $i++) {
+ for (my $j = 0; $j < $obj_count; $j++) {
+ $TAO_IMR->Arguments ("$imr_initref add $objprefix" . '_' . $i . "_" . $j . " -c \""
+ . $SVR->Executable ()
+ . " -ORBUseIMR 1 -p $objprefix" . '_' . "$i -c $obj_count $imr_initref\"");
+
+ $result = $TAO_IMR->SpawnWaitKill (5);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+ }
+ }
+
+ $TAO_IMR->Arguments ("$imr_initref list");
+ $result = $TAO_IMR->SpawnWaitKill (25);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr list returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+ }
+
+ for(my $i = 0; $i < $servers_count; $i++ ) {
+
+ my $server_start_file = PerlACE::LocalFile ($objprefix . "_$i.status");
+ unlink $server_start_file;
+
+ if (! $use_activator) {
+ $SVR->Arguments ("-ORBUseIMR 1 -p $objprefix" . '_' . "$i -c $obj_count $imr_initref");
+ $SVR->Spawn ();
+ if (PerlACE::waitforfile_timed ($server_start_file, 10) == -1) {
+ print STDERR "ERROR: cannot find $server_start_file\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ $SVR->Kill ();
+ return 1;
+ }
+ } else {
+ # For some reason the servers take forever to spawn when using the activator
+ $client_wait_time *= $obj_count;
+ }
+ unlink $server_start_file;
+
+ for (my $j = 0; $j < $obj_count; $j++) {
+ $CLI->Arguments ("-orbinitref Test=corbaloc::localhost:9876/$objprefix" . '_' . $i . '_' . $j);
+ $result = $CLI->SpawnWaitKill ($client_wait_time);
+ if ($result != 0) {
+ print STDERR "ERROR: client returned $result\n";
+ $status = 1;
+ last;
+ }
+ }
+
+ # Shutting down any server object within the server will shutdown the whole server
+ $TAO_IMR->Arguments ("$imr_initref shutdown $objprefix" . '_' . $i . "_0");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr shutdown returned $result\n";
+ $status = 1;
+ last;
+ }
+ if (! $use_activator) {
+ $result = $SVR->WaitKill(5);
+ if ($result != 0) {
+ print STDERR "ERROR: server not shutdown correctly.\n";
+ $status = 1;
+ last;
+ }
+ }
+
+ if ($status == 1) {
+ last;
+ }
+ }
+
+ if ($use_activator) {
+ my $imr_activator = $IMR_ACTIVATOR->TerminateWaitKill (5);
+ if ($imr_activator != 0) {
+ print STDERR "ERROR: IMR returned $imr_activator\n";
+ $status = 1;
+ }
+ }
+
+ my $imr_locator = $IMR_LOCATOR->TerminateWaitKill (5);
+ if ($imr_locator != 0) {
+ print STDERR "ERROR: IMR returned $imr_locator\n";
+ $status = 1;
+ }
+
+ my $test_time = time() - $start_time;
+ my $total_objs = $obj_count * $servers_count;
+
+ print "\nFinished. The test took $test_time seconds for $total_objs imr-ified objects.\n";
+
+ return $status;
+}
+
+sub usage() {
+ print "Usage: run_test.pl [-servers <num=1>] [-objects <num=1>] [-use_activator]\n";
+}
+
+###############################################################################
+###############################################################################
+
+if ($#ARGV >= 0) {
+ for (my $i = 0; $i <= $#ARGV; $i++) {
+ if ($ARGV[$i] eq "-servers") {
+ $i++;
+ $servers_count = $ARGV[$i];
+ }
+ elsif ($ARGV[$i] eq "-objects") {
+ $i++;
+ $obj_count = $ARGV[$i];
+ }
+ elsif ($ARGV[$i] eq "-use_activator") {
+ $use_activator = 1;
+ }
+ else {
+ usage();
+ exit 1;
+ }
+ }
+}
+
+my $ret = scale_test();
+
+unlink $imr_locator_ior;
+unlink $imr_activator_ior;
+unlink $persistxml;
+unlink $persist;
+
+exit $ret;
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/scaletest.mpc b/TAO/orbsvcs/tests/ImplRepo/scale/scaletest.mpc
new file mode 100644
index 00000000000..c8aac2aa078
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/scaletest.mpc
@@ -0,0 +1,24 @@
+project(*server) : portableserver, orbsvcsexe, minimum_corba, iortable {
+ IDL_Files {
+ test.idl
+ }
+
+ Source_Files {
+ testC.cpp
+ testS.cpp
+ server_i.cpp
+ server.cpp
+ }
+}
+
+project(*client) : portableserver, orbsvcsexe, minimum_corba, iortable {
+ IDL_Files {
+ test.idl
+ }
+
+ Source_Files {
+ testC.cpp
+ testS.cpp
+ client.cpp
+ }
+}
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/server.cpp b/TAO/orbsvcs/tests/ImplRepo/scale/server.cpp
new file mode 100644
index 00000000000..769d8126ae4
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/server.cpp
@@ -0,0 +1,37 @@
+// $Id$
+
+#include "server_i.h"
+
+int
+main (int argc, char *argv[])
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ Server_i server;
+
+ int retval = server.init (argc, argv ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ if (retval == -1)
+ return -1;
+ else
+ {
+ server.run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ }
+ ACE_CATCH (CORBA::SystemException, sysex)
+ {
+ ACE_PRINT_EXCEPTION (sysex, "Server: System Exception");
+ return -1;
+ }
+ ACE_CATCH (CORBA::UserException, userex)
+ {
+ ACE_PRINT_EXCEPTION (userex, "Server: User Exception");
+ return -1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp
new file mode 100644
index 00000000000..1e66342e764
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp
@@ -0,0 +1,228 @@
+// $Id$
+
+#include "server_i.h"
+
+#include "tao/IORTable/IORTable.h"
+
+#include "ace/Get_Opt.h"
+#include "ace/Read_Buffer.h"
+#include "ace/streams.h"
+
+class test_i
+ : public virtual POA_test
+ , PortableServer::RefCountServantBase
+{
+ int n_;
+ CORBA::ORB_var orb_;
+public:
+ test_i (CORBA::ORB_ptr orb)
+ : n_(0)
+ , orb_(CORBA::ORB::_duplicate(orb))
+ {
+ }
+ virtual ~test_i () {
+ }
+ virtual CORBA::Long get (ACE_ENV_SINGLE_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) {
+ ++n_;
+ CORBA::Object_var obj = orb_->resolve_initial_references("POACurrent" ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ PortableServer::Current_var cur = PortableServer::Current::_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ ACE_ASSERT(! CORBA::is_nil(cur.in()));
+ PortableServer::POA_var poa = cur->get_POA(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ CORBA::String_var poaname = poa->the_name(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ ACE_DEBUG((LM_DEBUG, "%s: get() %d\n", poaname.in(), n_));
+ return n_;
+ }
+};
+
+// The server name of the Aiprlane Server
+static const char DEFAULT_SERVER_NAME[] = "TestObject";
+
+Server_i::Server_i (void)
+: server_name_(DEFAULT_SERVER_NAME)
+, count_(1)
+{
+}
+
+Server_i::~Server_i()
+{
+}
+
+int
+Server_i::parse_args (int argc, char* argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "p:c:h");
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'p': // prefix for all created objects
+ this->server_name_ = get_opts.opt_arg ();
+ break;
+ case 'c': // Number of imr-ified objects to create.
+ this->count_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+ case '?': // display help for use of the server.
+ case 'h':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s"
+ " [-c] <count=1> ImR-ified objects."
+ " [-p] <prefix=%s> To all ImR-ified object names."
+ "\n",
+ argv[0],
+ DEFAULT_SERVER_NAME),1);
+ }
+ }
+
+ return 0;
+}
+
+namespace
+{
+ ACE_CString toStr(int n)
+ {
+ char buf[20];
+ return ACE_OS::itoa(n, buf, 10);
+ }
+}
+
+int
+Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
+{
+ ACE_TRY
+ {
+ this->orb_ = CORBA::ORB_init (argc, argv, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ int retval = this->parse_args (argc, argv);
+ if (retval != 0)
+ return retval;
+
+ CORBA::Object_var obj =
+ this->orb_->resolve_initial_references ("RootPOA" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ this->root_poa_ =
+ PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(this->root_poa_.in()));
+
+ PortableServer::POAManager_var poa_manager =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ obj = this->orb_->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ IORTable::Table_var ior_table =
+ IORTable::Table::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil(ior_table.in()));
+
+ // If -orbuseimr 1 is specified then all persistent poas will be
+ // registered with the imr.
+ CORBA::PolicyList policies (2);
+ policies.length (2);
+ policies[0] = this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ policies[1] = this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ test_i* test_svt;
+ ACE_NEW_RETURN (test_svt, test_i(orb_.in()), -1);
+ PortableServer::ServantBase_var scoped_svt(test_svt);
+
+ PortableServer::ObjectId_var server_id =
+ PortableServer::string_to_ObjectId ("Test");
+
+ // Create count_ POAs, activate an object in each, and register the object with
+ // the IORTable.
+ for (int i = 0; i < this->count_; ++i)
+ {
+ ACE_CString name = this->server_name_ + "_" + toStr(i);
+
+ PortableServer::POA_var poa =
+ this->root_poa_->create_POA (name.c_str(),
+ poa_manager.in (),
+ policies
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa->activate_object_with_id (server_id.in (), test_svt ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ obj = poa->id_to_reference (server_id.in() ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ CORBA::String_var ior = this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ior_table->bind (name.c_str(), ior.in () ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+
+ policies[0]->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ policies[1]->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Server_i::init");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+Server_i::run (ACE_ENV_SINGLE_ARG_DECL)
+{
+ ACE_TRY
+ {
+ PortableServer::POAManager_var poa_manager =
+ this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ // We have potentially lots of IORs, so just write out a simple text
+ // file that the run_test.pl can use to know we're done.
+ {
+ ACE_CString status = this->server_name_ + ACE_CString(".status");
+ ofstream out(status.c_str());
+ out << "started" << endl;
+ }
+
+ ACE_DEBUG ((LM_DEBUG,
+ "\n Started Server %s with %d imr-ified objects.\n\n",
+ this->server_name_.c_str(),
+ this->count_));
+
+ this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ this->root_poa_->destroy(1, 1);
+ this->orb_->destroy();
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Server_i::run");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h
new file mode 100644
index 00000000000..66e7fc47898
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.h
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+// $Id$
+
+#if !defined (SERVER_I_H)
+#define SERVER_I_H
+
+#include "testS.h"
+
+#include "ace/Auto_Ptr.h"
+
+class Server_i
+{
+public:
+ Server_i (void);
+ ~Server_i (void);
+
+ int init (int argc, char **argv ACE_ENV_ARG_DECL);
+
+ int run (ACE_ENV_SINGLE_ARG_DECL);
+
+private:
+ int parse_args (int argc, char* argv[]);
+
+ CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+
+ ACE_CString server_name_;
+ int count_;
+};
+
+#endif /* SERVER_I_H */
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/test.idl b/TAO/orbsvcs/tests/ImplRepo/scale/test.idl
new file mode 100644
index 00000000000..9ff40e9c6a9
--- /dev/null
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/test.idl
@@ -0,0 +1,4 @@
+// $Id$
+interface test {
+ long get();
+};
diff --git a/TAO/tao/PortableServer/ImR_Locator.pidl b/TAO/tao/PortableServer/ImR_Locator.pidl
deleted file mode 100644
index 3dbd54e6eda..00000000000
--- a/TAO/tao/PortableServer/ImR_Locator.pidl
+++ /dev/null
@@ -1,86 +0,0 @@
-// -*- IDL -*-
-
-//=============================================================================
-/**
- * @file ImR_Locator.pidl
- *
- * $Id$
- *
- * This file was used to generate the code in ImplRepo{C,S}.{h,i,cpp}
- *
- * The command used to generate code from this file is:
- *
- * tao_idl.exe -Gp -Gd -Ge 1 -Sc -GT -Wb,export_macro=TAO_PortableServer_Export -Wb,export_include=portableserver_export.h -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h" ImR_Locator.pidl
- *
- * After generation is complete you must remove unneeded explicit instantiations
- * from ImR_LocatorC.cpp to avoid duplicate symbols on some platforms.
- *
- */
-//=============================================================================
-
-#include "ImplRepo.pidl"
-
-module ImplementationRepository
-{
- interface Locator : Administration
- {
- typedef sequence <string> ServerNameList;
-
- void activate_server_in_activator (in string server,
- in string activator)
- raises (NotFound,
- CannotActivate);
- // Activate server that is named <server> in the ImR_Activator <activator>
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository. The <CannotActivate> exception
- // is raised when <server> is found in the Repository but could not be
- // activated.
-
- void remove_server_in_activator (in string server,
- in string activator)
- raises (NotFound);
- // Remove <server> from the Implementation Repository.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void shutdown_server_in_activator (in string server,
- in string activator)
- raises (NotFound);
- // Tries to shutdown the server, first gracefully, then ungracefully.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- void server_is_shutting_down_in_activator (in string server,
- in string activator)
- raises (NotFound);
- // Used to tell the Implementation Repository that <server> is shutting
- // down.
- //
- // The <NotFound> exception is raised when <server> is not found
- // in the Implementation Repository.
-
- long register_activator (in string activator,
- in Administration admin,
- in ServerNameList servers);
- // returns a token that can be used (along with activator name) to unregister the activator.
-
- void unregister_activator (in string activator, in long token);
- // You must pass in the token returned from register_activator.
-
- void server_is_running_in_activator (in string server,
- in string activator,
- in Address addr,
- in ServerObject server_object)
- raises (NotFound);
-
- void find_in_activator (in string server,
- in string activator,
- out ServerInformation info)
- raises (NotFound);
- };
-
-};
-
diff --git a/TAO/tao/PortableServer/ImR_LocatorC.cpp b/TAO/tao/PortableServer/ImR_LocatorC.cpp
deleted file mode 100644
index 69eb28988f7..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorC.cpp
+++ /dev/null
@@ -1,1547 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:321
-
-
-#include "ImR_LocatorC.h"
-#include "tao/CDR.h"
-#include "tao/Exception_Data.h"
-#include "tao/Invocation_Adapter.h"
-#include "tao/Object_T.h"
-#include "tao/Typecode.h"
-#include "tao/Any_Impl_T.h"
-#include "tao/Any_Dual_Impl_T.h"
-#include "tao/Basic_Arguments.h"
-#include "tao/Object_Argument_T.h"
-#include "tao/UB_String_Arguments.h"
-#include "tao/Var_Size_Argument_T.h"
-#include "ace/OS_NS_string.h"
-
-#if defined (__BORLANDC__)
-#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
-#endif /* __BORLANDC__ */
-
-#if !defined (__ACE_INLINE__)
-#include "ImR_LocatorC.inl"
-#endif /* !defined INLINE */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:64
-
-// Arg traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerObject>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::StartupOptions>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformation>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationIterator>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::Administration>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::Administration_ptr,
- ImplementationRepository::Administration_var,
- ImplementationRepository::Administration_out,
- TAO::Objref_Traits<ImplementationRepository::Administration>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::Locator::ServerNameList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::Locator::ServerNameList,
- ImplementationRepository::Locator::ServerNameList_var,
- ImplementationRepository::Locator::ServerNameList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_cs.cpp:60
-
-// Traits specializations for ImplementationRepository::Locator.
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::Locator_ptr
-TAO::Objref_Traits<ImplementationRepository::Locator>::duplicate (
- ImplementationRepository::Locator_ptr p
- )
-{
- return ImplementationRepository::Locator::_duplicate (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-void
-TAO::Objref_Traits<ImplementationRepository::Locator>::release (
- ImplementationRepository::Locator_ptr p
- )
-{
- CORBA::release (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::Locator_ptr
-TAO::Objref_Traits<ImplementationRepository::Locator>::nil (void)
-{
- return ImplementationRepository::Locator::_nil ();
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-CORBA::Boolean
-TAO::Objref_Traits<ImplementationRepository::Locator>::marshal (
- ImplementationRepository::Locator_ptr p,
- TAO_OutputCDR & cdr
- )
-{
- return CORBA::Object::marshal (p, cdr);
-}
-
-// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- ) = 0;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:65
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST_CS_
-
-ImplementationRepository::Locator::ServerNameList::ServerNameList (void)
-{}
-
-ImplementationRepository::Locator::ServerNameList::ServerNameList (
- CORBA::ULong max
- )
- : TAO_Unbounded_String_Sequence
- (max)
-{}
-
-ImplementationRepository::Locator::ServerNameList::ServerNameList (
- CORBA::ULong max,
- CORBA::ULong length,
- char * * buffer,
- CORBA::Boolean release
- )
- : TAO_Unbounded_String_Sequence
- (max, length, buffer, release)
-{}
-
-ImplementationRepository::Locator::ServerNameList::ServerNameList (
- const ServerNameList &seq
- )
- : TAO_Unbounded_String_Sequence
- (seq)
-{}
-
-ImplementationRepository::Locator::ServerNameList::~ServerNameList (void)
-{}
-
-void ImplementationRepository::Locator::ServerNameList::_tao_any_destructor (
- void * _tao_void_pointer
- )
-{
- ServerNameList * _tao_tmp_pointer =
- static_cast<ServerNameList *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-#endif /* end #if !defined */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_Locator_ServerNameList[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 56,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f4c6f63),
- ACE_NTOHL (0x61746f72),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x7665724e),
- ACE_NTOHL (0x616d654c),
- ACE_NTOHL (0x6973743a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/Locator/ServerNameList:1.0
- 15,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x65724e61),
- ACE_NTOHL (0x6d654c69),
- ACE_NTOHL (0x73740000), // name = ServerNameList
- CORBA::tk_sequence, // typecode kind
- 16, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_string,
- 0U, // string length
- 0U,
-
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Locator_ServerNameList (
- CORBA::tk_alias,
- sizeof (_oc_ImplementationRepository_Locator_ServerNameList),
- (char *) &_oc_ImplementationRepository_Locator_ServerNameList,
- 0,
- sizeof (ImplementationRepository::Locator::ServerNameList)
- );
-
-::CORBA::TypeCode_ptr ImplementationRepository::Locator::_tc_ServerNameList =
- &_tc_TAO_tc_ImplementationRepository_Locator_ServerNameList;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::activate_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_activate_server_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- },
-
- {
- "IDL:ImplementationRepository/CannotActivate:1.0",
- ImplementationRepository::CannotActivate::_alloc,
- ImplementationRepository::_tc_CannotActivate
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "activate_server_in_activator",
- 28,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_activate_server_in_activator_exceptiondata,
- 2
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::remove_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_remove_server_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "remove_server_in_activator",
- 26,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_remove_server_in_activator_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::shutdown_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_shutdown_server_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "shutdown_server_in_activator",
- 28,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_shutdown_server_in_activator_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::server_is_shutting_down_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_server_is_shutting_down_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "server_is_shutting_down_in_activator",
- 36,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_server_is_shutting_down_in_activator_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-CORBA::Long ImplementationRepository::Locator::register_activator (
- const char * activator,
- ::ImplementationRepository::Administration_ptr admin,
- const ::ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< CORBA::Long>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
- TAO::Arg_Traits< ::ImplementationRepository::Administration>::in_arg_val _tao_admin (admin);
- TAO::Arg_Traits< ::ImplementationRepository::Locator::ServerNameList>::in_arg_val _tao_servers (servers);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_activator,
- &_tao_admin,
- &_tao_servers
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 4,
- "register_activator",
- 18,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (_tao_retval.excp ());
-
- return _tao_retval.retn ();
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::unregister_activator (
- const char * activator,
- ::CORBA::Long token
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
- TAO::Arg_Traits< CORBA::Long>::in_arg_val _tao_token (token);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_activator,
- &_tao_token
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "unregister_activator",
- 20,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::server_is_running_in_activator (
- const char * server,
- const char * activator,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
- TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val _tao_addr (addr);
- TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val _tao_server_object (server_object);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator,
- &_tao_addr,
- &_tao_server_object
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_server_is_running_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 5,
- "server_is_running_in_activator",
- 30,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_server_is_running_in_activator_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Locator::find_in_activator (
- const char * server,
- const char * activator,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Locator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Locator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_activator (activator);
- TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val _tao_info (info);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_activator,
- &_tao_info
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Locator_find_in_activator_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 4,
- "find_in_activator",
- 17,
- this->the_TAO_Locator_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Locator_find_in_activator_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-ImplementationRepository::Locator::Locator (void)
- : the_TAO_Locator_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_Locator_setup_collocation ();
-}
-
-void
-ImplementationRepository::Locator::ImplementationRepository_Locator_setup_collocation ()
-{
- if (::ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer)
- {
- this->the_TAO_Locator_Proxy_Broker_ =
- ::ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer (this);
- }
-
- this->ImplementationRepository_Administration_setup_collocation ();
-}
-
-ImplementationRepository::Locator::~Locator (void)
-{}
-
-void
-ImplementationRepository::Locator::_tao_any_destructor (void *_tao_void_pointer)
-{
- Locator *_tao_tmp_pointer =
- static_cast<Locator *> (_tao_void_pointer);
- CORBA::release (_tao_tmp_pointer);
-}
-
-ImplementationRepository::Locator_ptr
-ImplementationRepository::Locator::_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<Locator>::narrow (
- _tao_objref,
- "IDL:ImplementationRepository/Locator:1.0",
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::Locator_ptr
-ImplementationRepository::Locator::_unchecked_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<Locator>::unchecked_narrow (
- _tao_objref,
- "IDL:ImplementationRepository/Locator:1.0",
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::Locator_ptr
-ImplementationRepository::Locator::_duplicate (Locator_ptr obj)
-{
- if (! CORBA::is_nil (obj))
- {
- obj->_add_ref ();
- }
-
- return obj;
-}
-
-CORBA::Boolean
-ImplementationRepository::Locator::_is_a (
- const char *value
- ACE_ENV_ARG_DECL
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Administration:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Locator:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1; // success using local knowledge
- }
- else
- {
- return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
- value
- ACE_ENV_ARG_PARAMETER
- );
- }
-}
-
-const char* ImplementationRepository::Locator::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/Locator:1.0";
-}
-
-CORBA::Boolean
-ImplementationRepository::Locator::marshal (TAO_OutputCDR &cdr)
-{
- return (cdr << this);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_Locator[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 41,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f4c6f63),
- ACE_NTOHL (0x61746f72),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Locator:1.0
- 8,
- ACE_NTOHL (0x4c6f6361),
- ACE_NTOHL (0x746f7200), // name = Locator
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Locator (
- CORBA::tk_objref,
- sizeof (_oc_ImplementationRepository_Locator),
- (char *) &_oc_ImplementationRepository_Locator,
- 0,
- sizeof (ImplementationRepository::Locator)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_Locator =
- &_tc_TAO_tc_ImplementationRepository_Locator;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Impl_T<ImplementationRepository::Locator>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
-{
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return 1;
-}
-
-// Copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::Locator_ptr _tao_elem
- )
-{
- ImplementationRepository::Locator_ptr _tao_objptr =
- ImplementationRepository::Locator::_duplicate (_tao_elem);
- _tao_any <<= &_tao_objptr;
-}
-
-// Non-copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::Locator_ptr *_tao_elem
- )
-{
- TAO::Any_Impl_T<ImplementationRepository::Locator>::insert (
- _tao_any,
- ImplementationRepository::Locator::_tao_any_destructor,
- ImplementationRepository::_tc_Locator,
- *_tao_elem
- );
-}
-
-CORBA::Boolean
-operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::Locator_ptr &_tao_elem
- )
-{
- return
- TAO::Any_Impl_T<ImplementationRepository::Locator>::extract (
- _tao_any,
- ImplementationRepository::Locator::_tao_any_destructor,
- ImplementationRepository::_tc_Locator,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::Locator::ServerNameList &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::Locator::ServerNameList>::insert_copy (
- _tao_any,
- ImplementationRepository::Locator::ServerNameList::_tao_any_destructor,
- ImplementationRepository::Locator::_tc_ServerNameList,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::Locator::ServerNameList *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::Locator::ServerNameList>::insert (
- _tao_any,
- ImplementationRepository::Locator::ServerNameList::_tao_any_destructor,
- ImplementationRepository::Locator::_tc_ServerNameList,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::Locator::ServerNameList *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::Locator::ServerNameList *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::Locator::ServerNameList *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::Locator::ServerNameList>::extract (
- _tao_any,
- ImplementationRepository::Locator::ServerNameList::_tao_any_destructor,
- ImplementationRepository::Locator::_tc_ServerNameList,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:96
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_CPP_
-#define _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_CPP_
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::Locator::ServerNameList &_tao_sequence
- )
-{
- const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
-
- if (strm << _tao_seq_len)
- {
- // Encode all elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm << _tao_sequence[i].in ());
- }
-
- return _tao_marshal_flag;
- }
-
- return 0;
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::Locator::ServerNameList &_tao_sequence
- )
-{
- CORBA::ULong _tao_seq_len;
-
- if (strm >> _tao_seq_len)
- {
- // Add a check to the length of the sequence
- // to make sure it does not exceed the length
- // of the stream. (See bug 58.)
- if (_tao_seq_len > strm.length ())
- {
- return 0;
- }
-
- // Set the length of the sequence.
- _tao_sequence.length (_tao_seq_len);
-
- // If length is 0 we return true.
- if (0 >= _tao_seq_len)
- {
- return 1;
- }
-
- // Retrieve all the elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm >> _tao_sequence[i].out ());
-
- }
-
- return _tao_marshal_flag;
-
- }
-
-return 0;
-}
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_CPP_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_cs.cpp:63
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::Locator_ptr _tao_objref
- )
-{
- CORBA::Object_ptr _tao_corba_obj = _tao_objref;
- return (strm << _tao_corba_obj);
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::Locator_ptr &_tao_objref
- )
-{
- CORBA::Object_var obj;
-
- if ((strm >> obj.inout ()) == 0)
- {
- return 0;
- }
-
- typedef ::ImplementationRepository::Locator RHS_SCOPED_NAME;
-
- // Narrow to the right type.
- _tao_objref =
- TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer
- );
-
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:1628
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_
-
- template class
- TAO::Arg_Traits<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO::Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::StartupOptions>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::ServerInformation>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SEQUENCE__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::ServerInformationList>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_
-
- template class
- TAO::Arg_Traits<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO::Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_TMPLINST_CS_
-
- template class
- TAO::Arg_Traits<
- ImplementationRepository::Administration
- >;
-
- template class
- TAO::Object_Arg_Traits_T<
- ImplementationRepository::Administration_ptr,
- ImplementationRepository::Administration_var,
- ImplementationRepository::Administration_out,
- TAO::Objref_Traits<ImplementationRepository::Administration>
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::Locator::ServerNameList>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::Locator::ServerNameList,
- ImplementationRepository::Locator::ServerNameList_var,
- ImplementationRepository::Locator::ServerNameList_out
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO_MngSeq_Var_T<
- ImplementationRepository::Locator::ServerNameList,
- TAO_SeqElem_String_Manager
- >;
-
- template class
- TAO_Seq_Var_Base_T<
- ImplementationRepository::Locator::ServerNameList,
- TAO_SeqElem_String_Manager
- >;
-
- template class
- TAO_MngSeq_Out_T<
- ImplementationRepository::Locator::ServerNameList,
- ImplementationRepository::Locator::ServerNameList_var,
- TAO_SeqElem_String_Manager
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::Locator::ServerNameList
- >;
-
- template class
- TAO::In_Object_Argument_T<
- ImplementationRepository::Administration_ptr
- >;
-
- template class
- TAO::In_Var_Size_Argument_T<
- ImplementationRepository::Locator::ServerNameList
- >;
-
- template class
- TAO::In_Object_Argument_T<
- ImplementationRepository::ServerObject_ptr
- >;
-
- template class
- TAO::Out_Var_Size_Argument_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_out
- >;
-
- template class
- TAO::Objref_Traits<
- ImplementationRepository::Locator
- >;
-
- template class
- TAO_Objref_Var_T<
- ImplementationRepository::Locator
- >;
-
- template class
- TAO_Objref_Out_T<
- ImplementationRepository::Locator
- >;
-
- template class
- TAO::Narrow_Utils<
- ImplementationRepository::Locator
- >;
-
- template class
- TAO::Any_Impl_T<
- ImplementationRepository::Locator
- >;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate \
- TAO::Arg_Traits< \
- ImplementationRepository::ServerObject \
- >
-
-# pragma instantiate \
- TAO::Object_Arg_Traits_T< \
- ImplementationRepository::ServerObject_ptr, \
- ImplementationRepository::ServerObject_var, \
- ImplementationRepository::ServerObject_out, \
- TAO::Objref_Traits<ImplementationRepository::ServerObject> \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::StartupOptions>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::StartupOptions, \
- ImplementationRepository::StartupOptions_var, \
- ImplementationRepository::StartupOptions_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::ServerInformation>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_var, \
- ImplementationRepository::ServerInformation_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SEQUENCE__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::ServerInformationList>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_var, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate \
- TAO::Arg_Traits< \
- ImplementationRepository::ServerInformationIterator \
- >
-
-# pragma instantiate \
- TAO::Object_Arg_Traits_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_var, \
- ImplementationRepository::ServerInformationIterator_out, \
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator> \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate \
- TAO::Arg_Traits< \
- ImplementationRepository::Administration \
- >
-
-# pragma instantiate \
- TAO::Object_Arg_Traits_T< \
- ImplementationRepository::Administration_ptr, \
- ImplementationRepository::Administration_var, \
- ImplementationRepository::Administration_out, \
- TAO::Objref_Traits<ImplementationRepository::Administration> \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::Locator::ServerNameList>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::Locator::ServerNameList, \
- ImplementationRepository::Locator::ServerNameList_var, \
- ImplementationRepository::Locator::ServerNameList_out \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO_MngSeq_Var_T< \
- ImplementationRepository::Locator::ServerNameList, \
- TAO_SeqElem_String_Manager \
- >
-
-# pragma instantiate \
- TAO_Seq_Var_Base_T< \
- ImplementationRepository::Locator::ServerNameList, \
- TAO_SeqElem_String_Manager \
- >
-
-# pragma instantiate \
- TAO_MngSeq_Out_T< \
- ImplementationRepository::Locator::ServerNameList, \
- ImplementationRepository::Locator::ServerNameList_var, \
- TAO_SeqElem_String_Manager \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::Locator::ServerNameList \
- >
-
-# pragma instantiate \
- TAO::In_Object_Argument_T< \
- ImplementationRepository::Administration_ptr \
- >
-
-# pragma instantiate \
- TAO::In_Var_Size_Argument_T< \
- ImplementationRepository::Locator::ServerNameList \
- >
-
-# pragma instantiate \
- TAO::In_Object_Argument_T< \
- ImplementationRepository::ServerObject_ptr \
- >
-
-# pragma instantiate \
- TAO::Out_Var_Size_Argument_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_out \
- >
-
-# pragma instantiate \
- TAO::Objref_Traits< \
- ImplementationRepository::Locator \
- >
-
-# pragma instantiate \
- TAO_Objref_Var_T< \
- ImplementationRepository::Locator
- >
-
-# pragma instantiate \
- TAO_Objref_Out_T< \
- ImplementationRepository::Locator
- >
-
-# pragma instantiate \
- TAO::Narrow_Utils< \
- ImplementationRepository::Locator \
- >
-
-# pragma instantiate \
- TAO::Any_Impl_T< \
- ImplementationRepository::Locator \
- >
-
-#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/PortableServer/ImR_LocatorC.h b/TAO/tao/PortableServer/ImR_LocatorC.h
deleted file mode 100644
index 04204a62336..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorC.h
+++ /dev/null
@@ -1,460 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:171
-
-#ifndef _TAO_IDL_IMR_LOCATORC_H_
-#define _TAO_IDL_IMR_LOCATORC_H_
-
-#include /**/ "ace/pre.h"
-
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "portableserver_export.h"
-#include "tao/ORB.h"
-#include "tao/Environment.h"
-#include "tao/Object.h"
-#include "tao/Sequence_T.h"
-#include "tao/Objref_VarOut_T.h"
-#include "tao/Seq_Var_T.h"
-#include "tao/Seq_Out_T.h"
-
-#include "ImplRepoC.h"
-
-#if defined (TAO_EXPORT_MACRO)
-#undef TAO_EXPORT_MACRO
-#endif
-#define TAO_EXPORT_MACRO TAO_PortableServer_Export
-
-#if defined (TAO_EXPORT_NESTED_CLASSES)
-# if defined (TAO_EXPORT_NESTED_MACRO)
-# undef TAO_EXPORT_NESTED_MACRO
-# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
-# define TAO_EXPORT_NESTED_MACRO TAO_PortableServer_Export
-#endif /* TAO_EXPORT_NESTED_CLASSES */
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root_ch.cpp:63
-
-namespace TAO
-{
- class Collocation_Proxy_Broker;
-
- template<typename T> class Narrow_Utils;
- template<typename T> class AbstractBase_Narrow_Utils;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:48
-
-namespace ImplementationRepository
-{
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:611
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR__VAR_OUT_CH_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR__VAR_OUT_CH_
-
- class Locator;
- typedef Locator *Locator_ptr;
-
- typedef
- TAO_Objref_Var_T<
- Locator
- >
- Locator_var;
-
- typedef
- TAO_Objref_Out_T<
- Locator
- >
- Locator_out;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:54
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_CH_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_CH_
-
- class TAO_PortableServer_Export Locator
- : public virtual ::ImplementationRepository::Administration
- {
- public:
- friend class TAO::Narrow_Utils<Locator>;
- typedef Locator_ptr _ptr_type;
- typedef Locator_var _var_type;
-
- // The static operations.
- static Locator_ptr _duplicate (Locator_ptr obj);
-
- static Locator_ptr _narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static Locator_ptr _unchecked_narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static Locator_ptr _nil (void)
- {
- return (Locator_ptr)0;
- }
-
- static void _tao_any_destructor (void *);
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_ch.cpp:101
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST_CH_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST_CH_
-
- class ServerNameList;
-
- typedef
- TAO_MngSeq_Var_T<
- ServerNameList,
- TAO_SeqElem_String_Manager
- >
- ServerNameList_var;
-
- typedef
- TAO_MngSeq_Out_T<
- ServerNameList,
- ServerNameList_var,
- TAO_SeqElem_String_Manager
- >
- ServerNameList_out;
-
- class TAO_PortableServer_Export ServerNameList
- : public
- TAO_Unbounded_String_Sequence
- {
- public:
- ServerNameList (void);
- ServerNameList (CORBA::ULong max);
- ServerNameList (
- CORBA::ULong max,
- CORBA::ULong length,
- char ** buffer,
- CORBA::Boolean release = 0
- );
- ServerNameList (const ServerNameList &);
- ~ServerNameList (void);
-
- static void _tao_any_destructor (void *);
-
- typedef ServerNameList_var _var_type;
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- static ::CORBA::TypeCode_ptr _tc_ServerNameList;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void activate_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void remove_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void shutdown_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void server_is_shutting_down_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual CORBA::Long register_activator (
- const char * activator,
- ::ImplementationRepository::Administration_ptr admin,
- const ::ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void unregister_activator (
- const char * activator,
- ::CORBA::Long token
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void server_is_running_in_activator (
- const char * server,
- const char * activator,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void find_in_activator (
- const char * server,
- const char * activator,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:208
-
- virtual CORBA::Boolean _is_a (
- const char *type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
- virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
- private:
- TAO::Collocation_Proxy_Broker *the_TAO_Locator_Proxy_Broker_;
-
- protected:
- // Concrete interface only.
- Locator (void);
-
- // These methods travese the inheritance tree and set the
- // parents piece of the given class in the right mode.
- virtual void ImplementationRepository_Locator_setup_collocation (void);
-
- // Concrete non-local interface only.
- Locator (
- IOP::IOR *ior,
- TAO_ORB_Core *orb_core = 0
- );
-
- // Non-local interface only.
- Locator (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated = 0,
- TAO_Abstract_ServantBase *servant = 0,
- TAO_ORB_Core *orb_core = 0
- );
-
- virtual ~Locator (void);
-
- private:
- // Private and unimplemented for concrete interfaces.
- Locator (const Locator &);
-
- void operator= (const Locator &);
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_Locator;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:66
-
-} // module ImplementationRepository
-
-// Proxy Broker Factory function pointer declarations.
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:120
-
-extern TAO_PortableServer_Export
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- );
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_traits.cpp:59
-
-// Traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR__TRAITS_CH_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR__TRAITS_CH_
-
- ACE_TEMPLATE_SPECIALIZATION
- struct TAO_PortableServer_Export Objref_Traits<ImplementationRepository::Locator>
- {
- static ImplementationRepository::Locator_ptr duplicate (
- ImplementationRepository::Locator_ptr
- );
- static void release (
- ImplementationRepository::Locator_ptr
- );
- static ImplementationRepository::Locator_ptr nil (void);
- static CORBA::Boolean marshal (
- ImplementationRepository::Locator_ptr p,
- TAO_OutputCDR & cdr
- );
- };
-
-#endif /* end #if !defined */
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::Locator_ptr); // copying
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::Locator_ptr *); // non-copying
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Locator_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::Locator::ServerNameList &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::Locator::ServerNameList*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Locator::ServerNameList *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::Locator::ServerNameList *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_ch.cpp:55
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Locator_ptr );
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Locator_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_ch.cpp:71
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_H_
-#define _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_H_
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (
- TAO_OutputCDR &,
- const ImplementationRepository::Locator::ServerNameList &
- );
-TAO_PortableServer_Export CORBA::Boolean operator>> (
- TAO_InputCDR &,
- ImplementationRepository::Locator::ServerNameList &
- );
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_Locator_ServerNameList_H_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:976
-
-#if defined (__ACE_INLINE__)
-#include "ImR_LocatorC.inl"
-#endif /* defined INLINE */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#include /**/ "ace/post.h"
-
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImR_LocatorC.inl b/TAO/tao/PortableServer/ImR_LocatorC.inl
deleted file mode 100644
index 4908d458454..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorC.inl
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ci.cpp:70
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR___CI_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR___CI_
-
-ACE_INLINE
-ImplementationRepository::Locator::Locator (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated,
- TAO_Abstract_ServantBase *servant,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (
- objref,
- _tao_collocated,
- servant,
- oc
- ),
- the_TAO_Locator_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_Locator_setup_collocation ();
-}
-
-ACE_INLINE
-ImplementationRepository::Locator::Locator (
- IOP::IOR *ior,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (ior, oc),
- the_TAO_Locator_Proxy_Broker_ (0)
-{
-}
-
-#endif /* end #if !defined */
-
diff --git a/TAO/tao/PortableServer/ImR_LocatorS.cpp b/TAO/tao/PortableServer/ImR_LocatorS.cpp
deleted file mode 100644
index fed027a95c4..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorS.cpp
+++ /dev/null
@@ -1,3940 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:629
-
-#ifndef _TAO_IDL_IMR_LOCATORS_CPP_
-#define _TAO_IDL_IMR_LOCATORS_CPP_
-
-
-#include "ImR_LocatorS.h"
-#include "tao/PortableServer/Object_Adapter.h"
-#include "tao/PortableServer/Operation_Table.h"
-#include "tao/TAO_Server_Request.h"
-#include "tao/ORB_Core.h"
-#include "tao/Profile.h"
-#include "tao/Stub.h"
-#include "tao/IFR_Client_Adapter.h"
-#include "tao/Object_T.h"
-#include "tao/Typecode.h"
-#include "tao/DynamicC.h"
-#include "tao/CDR.h"
-#include "tao/Basic_Arguments.h"
-#include "tao/Object_Argument_T.h"
-#include "tao/UB_String_Arguments.h"
-#include "tao/Var_Size_Argument_T.h"
-#include "tao/PortableInterceptor.h"
-#if TAO_HAS_INTERCEPTORS == 1
-#include "tao/PortableServer/PICurrent_Guard.h"
-#include "tao/PortableServer/ServerRequestInfo.h"
-#include "tao/PortableServer/ServerInterceptorAdapter.h"
-#include "tao/RequestInfo_Util.h"
-#endif /* TAO_HAS_INTERCEPTORS == 1 */
-
-#include "ace/Dynamic_Service.h"
-#include "ace/Malloc_Allocator.h"
-#include "ace/config-all.h"
-
-#if defined (__BORLANDC__)
-#pragma option -w-rvl -w-rch -w-ccc -w-aus
-#endif /* __BORLANDC__ */
-
-#if !defined (__ACE_INLINE__)
-#include "ImR_LocatorS.inl"
-#endif /* !defined INLINE */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:64
-
-// Arg traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerObject>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::StartupOptions>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformation>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationIterator>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::Administration>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::Administration_ptr,
- ImplementationRepository::Administration_var,
- ImplementationRepository::Administration_out,
- TAO::Objref_Traits<ImplementationRepository::Administration>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::Locator::ServerNameList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::Locator::ServerNameList,
- ImplementationRepository::Locator::ServerNameList_var,
- ImplementationRepository::Locator::ServerNameList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1536
-
-class TAO_ImplementationRepository_Locator_Perfect_Hash_OpTable
- : public TAO_Perfect_Hash_OpTable
-{
-private:
- unsigned int hash (const char *str, unsigned int len);
-
-public:
- const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
-};
-
-/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_Locator_Perfect_Hash_OpTable -N lookup */
-unsigned int
-TAO_ImplementationRepository_Locator_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
-{
- static const unsigned char asso_values[] =
- {
-#if defined (ACE_MVS)
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 25,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 10,
- 54, 54, 0, 15, 15, 0, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 0, 54, 15,
- 10, 15, 54, 0, 54, 54, 54, 54, 54, 54,
- 54, 54, 5, 10, 10, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54,
-#else
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 25, 54, 10, 54, 54,
- 0, 15, 15, 0, 54, 54, 54, 54, 0, 54,
- 15, 10, 15, 54, 0, 5, 10, 10, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54,
-#endif /* ACE_MVS */
- };
- return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
-}
-
-const class TAO_operation_db_entry *
-TAO_ImplementationRepository_Locator_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
-{
- enum
- {
- TOTAL_KEYWORDS = 24,
- MIN_WORD_LENGTH = 4,
- MAX_WORD_LENGTH = 36,
- MIN_HASH_VALUE = 13,
- MAX_HASH_VALUE = 53,
- HASH_VALUE_RANGE = 41,
- DUPLICATES = 0,
- WORDLIST_SIZE = 37
- };
-
- static const class TAO_operation_db_entry wordlist[] =
- {
- {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"remove_server", &POA_ImplementationRepository::Locator::remove_server_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::remove_server, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::remove_server},
- {"list", &POA_ImplementationRepository::Locator::list_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::list, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::list},
- {"register_server", &POA_ImplementationRepository::Locator::register_server_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::register_server, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::register_server},
- {"",0,0,0},
- {"reregister_server", &POA_ImplementationRepository::Locator::reregister_server_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::reregister_server, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::reregister_server},
- {"register_activator", &POA_ImplementationRepository::Locator::register_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::register_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::register_activator},
- {"find", &POA_ImplementationRepository::Locator::find_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find},
- {"shutdown_server", &POA_ImplementationRepository::Locator::shutdown_server_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_server, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_server},
- {"",0,0,0},
- {"server_is_running", &POA_ImplementationRepository::Locator::server_is_running_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_running, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_running},
- {"find_ior", &POA_ImplementationRepository::Locator::find_ior_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find_ior, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find_ior},
- {"",0,0,0},
- {"activate_server", &POA_ImplementationRepository::Locator::activate_server_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server},
- {"remove_server_in_activator", &POA_ImplementationRepository::Locator::remove_server_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::remove_server_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::remove_server_in_activator},
- {"",0,0,0},
- {"shutdown_repo", &POA_ImplementationRepository::Locator::shutdown_repo_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_repo, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_repo},
- {"",0,0,0},
- {"unregister_activator", &POA_ImplementationRepository::Locator::unregister_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::unregister_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::unregister_activator},
- {"",0,0,0},
- {"find_in_activator", &POA_ImplementationRepository::Locator::find_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find_in_activator},
- {"shutdown_server_in_activator", &POA_ImplementationRepository::Locator::shutdown_server_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_server_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_server_in_activator},
- {"",0,0,0},
- {"server_is_running_in_activator", &POA_ImplementationRepository::Locator::server_is_running_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_running_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_running_in_activator},
- {"",0,0,0},{"",0,0,0},
- {"activate_server_in_activator", &POA_ImplementationRepository::Locator::activate_server_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server_in_activator},
- {"",0,0,0},
- {"_is_a", &POA_ImplementationRepository::Locator::_is_a_skel, 0, 0},
- {"server_is_shutting_down_in_activator", &POA_ImplementationRepository::Locator::server_is_shutting_down_in_activator_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_shutting_down_in_activator, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_shutting_down_in_activator},
- {"",0,0,0},
- {"server_is_shutting_down", &POA_ImplementationRepository::Locator::server_is_shutting_down_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_shutting_down, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_shutting_down},
- {"",0,0,0},
- {"_component", &POA_ImplementationRepository::Locator::_component_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"_non_existent", &POA_ImplementationRepository::Locator::_non_existent_skel, 0, 0},
- {"",0,0,0},
- {"_interface", &POA_ImplementationRepository::Locator::_interface_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"activate_server_with_startup", &POA_ImplementationRepository::Locator::activate_server_with_startup_skel, &POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server_with_startup, &POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server_with_startup},
- };
-
- if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
- {
- unsigned int key = hash (str, len);
-
- if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
- {
- const char *s = wordlist[key].opname_;
-
- if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
- return &wordlist[key];
- }
- }
- return 0;
-}
-
-static TAO_ImplementationRepository_Locator_Perfect_Hash_OpTable tao_ImplementationRepository_Locator_optable;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interceptors_ss.cpp:53
-
-#if (TAO_HAS_INTERCEPTORS == 1)
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_activate_server_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound,
- ImplementationRepository::_tc_CannotActivate
- };
-
- exception_list->length (2);
- for (CORBA::ULong i = 0; i < 2; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_activate_server_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_remove_server_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_remove_server_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_shutdown_server_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_shutdown_server_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_server_is_shutting_down_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_server_is_shutting_down_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * activator,
- ::ImplementationRepository::Administration_ptr admin,
- const ::ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void result (CORBA::Long result);
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * activator_;
- ::ImplementationRepository::Administration_ptr admin_;
- const ::ImplementationRepository::Locator::ServerNameList & servers_;
- CORBA::Long _result;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * activator,
- ::ImplementationRepository::Administration_ptr admin,
- const ::ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- activator_ (activator),
- admin_ (admin),
- servers_ (servers)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (3);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->admin_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->servers_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 0;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Any_var safe_result_any = result_any;
-
- (*result_any) <<= this->_result;
-
- return safe_result_any._retn ();
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator::result (CORBA::Long result)
-{
- // Update the result.
- this->_result = result;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * activator,
- const ::CORBA::Long & token
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * activator_;
- const ::CORBA::Long & token_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * activator,
- const ::CORBA::Long & token
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- activator_ (activator),
- token_ (token)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= token_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
- const char * addr_;
- ::ImplementationRepository::ServerObject_ptr server_object_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator),
- addr_ (addr),
- server_object_ (server_object)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (4);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= addr_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->server_object_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_server_is_running_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_server_is_running_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator &
- );
-
-private:
- POA_ImplementationRepository::Locator *_tao_impl;
-
- const char * server_;
- const char * activator_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Locator *tao_impl,
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- activator_ (activator)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= activator_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Locator_find_in_activator_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Locator_find_in_activator_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-#endif /* TAO_HAS_INTERCEPTORS */
-
-///////////////////////////////////////////////////////////////////////
-// Strategized Proxy Broker Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
-
-// Factory function Implementation.
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker *
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::the_TAO_Locator_Strategized_Proxy_Broker (void)
-{
- static POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker
- strategized_proxy_broker;
-
- return &strategized_proxy_broker;
-}
-
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::_TAO_Locator_Strategized_Proxy_Broker (void)
-{
-}
-
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::~_TAO_Locator_Strategized_Proxy_Broker (void)
-{
-}
-
-TAO::Collocation_Strategy
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO::Collocation_Strategy strategy =
- TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
- return strategy;
-}
-
-void
-POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception))
-{
- TAO_Object_Adapter::Servant_Upcall servant_upcall (
- obj->_stubobj ()->servant_orb_var ()->orb_core ()
- );
-
- TAO_Collocated_Skeleton collocated_skel;
- TAO_Abstract_ServantBase *servant = 0;
-
- if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
- {
- servant_upcall.prepare_for_upcall (
- obj->_stubobj ()->object_key (),
- op,
- forward_obj
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant_upcall.pre_invoke_collocated_request (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant = servant_upcall.servant ();
- }
- else
- {
- servant = obj->_servant ();
- }
-
- int status = servant->_find (op,
- collocated_skel,
- strategy,
- op_len);
-
- if (status == -1)
- {
- ACE_THROW (CORBA::BAD_OPERATION ());
- }
-
- ACE_TRY
- {
- collocated_skel (servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-#if (TAO_HAS_MINIMUM_CORBA == 0)
- ACE_CATCH (PortableServer::ForwardRequest, forward_request)
- {
- forward_obj =
- CORBA::Object::_duplicate (forward_request.forward_reference.in ());
- return;
- }
-#else
- ACE_CATCHANY
- {
- ACE_UNUSED_ARG (forward_obj);
- ACE_RE_THROW;
- }
-#endif /* TAO_HAS_MINIMUM_CORBA */
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-//
-// End Strategized Proxy Broker Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:648
-
-TAO::Collocation_Proxy_Broker *
-ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function (CORBA::Object_ptr)
-{
- return
- ::POA_ImplementationRepository::_TAO_Locator_Strategized_Proxy_Broker::the_TAO_Locator_Strategized_Proxy_Broker ();
-}
-
-int
-ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_Initializer (size_t)
-{
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer =
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function;
-
- return 0;
-}
-
-static int
-ImplementationRepository__TAO_Locator_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_Initializer (
- reinterpret_cast<
- size_t> (
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_Initializer
- )
- );
-
-
-///////////////////////////////////////////////////////////////////////
-// ThruPOA Proxy Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37
-
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::_TAO_Locator_ThruPOA_Proxy_Impl (void)
-{}
-
-// ThruPOA Implementation of the IDL interface methods
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->activate_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::remove_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->remove_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->shutdown_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_shutting_down_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->server_is_shutting_down_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::register_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ((TAO::Arg_Traits< CORBA::Long>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->register_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Administration>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Locator::ServerNameList>::in_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::unregister_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->unregister_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< CORBA::Long>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_running_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->server_is_running_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val *) args[3])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val *) args[4])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->find_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End ThruPOA Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////
-// Direct Proxy Implementation
-//
-
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::_TAO_Locator_Direct_Proxy_Impl (void)
-{}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->activate_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::remove_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->remove_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->shutdown_server_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_shutting_down_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->server_is_shutting_down_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::register_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ((TAO::Arg_Traits< CORBA::Long>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->register_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Administration>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Locator::ServerNameList>::in_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::unregister_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->unregister_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< CORBA::Long>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_running_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->server_is_running_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val *) args[3])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val *) args[4])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Locator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Locator:1.0"
- )
- )->find_in_activator (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End Direct Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:97
-
-POA_ImplementationRepository::Locator::Locator (void)
-{
- this->optable_ = &tao_ImplementationRepository_Locator_optable;
-}
-
-POA_ImplementationRepository::Locator::Locator (const Locator& rhs)
- : TAO_Abstract_ServantBase (rhs),
- TAO_ServantBase (rhs),
- ACE_NESTED_CLASS (POA_ImplementationRepository, Administration) (rhs)
-{
-}
-
-POA_ImplementationRepository::Locator::~Locator (void)
-{
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::activate_server_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_activate_server_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->activate_server_in_activator (
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::remove_server_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_remove_server_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->remove_server_in_activator (
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::shutdown_server_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_shutdown_server_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->shutdown_server_in_activator (
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::server_is_shutting_down_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_shutting_down_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->server_is_shutting_down_in_activator (
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::register_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- CORBA::Long _tao_retval = 0;
- ::CORBA::String_var activator;
- ::ImplementationRepository::Administration_var admin;
- ::ImplementationRepository::Locator::ServerNameList servers;
-
- if (!(
- (_tao_in >> activator.out ()) &&
- (_tao_in >> admin.out ()) &&
- (_tao_in >> servers)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_register_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- activator.in (),
-
- admin.in (),
-
- servers
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- _tao_retval =
- _tao_impl->register_activator (
- activator.in (),
-
- admin.in (),
-
- servers
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- CORBA::Long _tao_retval_info = _tao_retval;
- _tao_ri.result (_tao_retval_info);
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << _tao_retval)
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::unregister_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var activator;
- ::CORBA::Long token;
-
- if (!(
- (_tao_in >> activator.out ()) &&
- (_tao_in >> token)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_unregister_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- activator.in (),
-
- token
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->unregister_activator (
- activator.in (),
-
- token
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::server_is_running_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
- ::CORBA::String_var addr;
- ::ImplementationRepository::ServerObject_var server_object;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ()) &&
- (_tao_in >> addr.out ()) &&
- (_tao_in >> server_object.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_server_is_running_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in (),
-
- addr.in (),
-
- server_object.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->server_is_running_in_activator (
- server.in (),
-
- activator.in (),
-
- addr.in (),
-
- server_object.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Locator::find_in_activator_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Locator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Locator *> (
- _tao_servant
- );
-
- ::CORBA::String_var server;
- ::CORBA::String_var activator;
- ::ImplementationRepository::ServerInformation_var info;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> activator.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Locator_find_in_activator _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- activator.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->find_in_activator (
- server.in (),
-
- activator.in (),
-
- info.out ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << info.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:162
-
-void POA_ImplementationRepository::Locator::_is_a_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-
- POA_ImplementationRepository::Locator *_tao_impl =
- (POA_ImplementationRepository::Locator *) _tao_servant;
-
- CORBA::Boolean _tao_retval = 0;
- CORBA::String_var value;
-
- if (!(_tao_in >> value.out ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-
- _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Locator::_non_existent_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Locator *_tao_impl =
- (POA_ImplementationRepository::Locator *) _tao_servant;
-
- CORBA::Boolean _tao_retval =
- _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Locator::_interface_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_IFR_Client_Adapter *_tao_adapter =
- ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
- TAO_ORB_Core::ifr_client_adapter_name ()
- );
-
- if (_tao_adapter == 0)
- {
- ACE_THROW (CORBA::INTF_REPOS ());
- }
-
- POA_ImplementationRepository::Locator *_tao_impl =
- (POA_ImplementationRepository::Locator *) _tao_servant;
-
- CORBA::InterfaceDef_ptr _tao_retval =
- _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- CORBA::Boolean _tao_result =
- _tao_adapter->interfacedef_cdr_insert (
- _tao_out,
- _tao_retval
- );
-
- _tao_adapter->dispose (_tao_retval);
-
- if (_tao_result == 0)
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Locator::_component_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_object_reference,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Locator *_tao_impl =
- (POA_ImplementationRepository::Locator *) _tao_object_reference;
-
- CORBA::Object_var _tao_retval =
- _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << _tao_retval.in ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-CORBA::Boolean POA_ImplementationRepository::Locator::_is_a (
- const char* value
- ACE_ENV_ARG_DECL_NOT_USED
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Administration:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Locator:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-void* POA_ImplementationRepository::Locator::_downcast (
- const char* logical_type_id
- )
-{
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:ImplementationRepository/Administration:1.0") == 0)
- {
- return static_cast<POA_ImplementationRepository::Administration_ptr> (this);
- }
-
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:ImplementationRepository/Locator:1.0") == 0)
- {
- return static_cast<POA_ImplementationRepository::Locator_ptr> (this);
- }
-
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:omg.org/CORBA/Object:1.0") == 0)
- {
- return static_cast<PortableServer::Servant> (this);
- }
-
- return 0;
-}
-
-const char* POA_ImplementationRepository::Locator::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/Locator:1.0";
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:584
-
-void POA_ImplementationRepository::Locator::_dispatch (
- TAO_ServerRequest &req,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- this->synchronous_upcall_dispatch (req,
- servant_upcall,
- this
- ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:526
-
-ImplementationRepository::Locator *
-POA_ImplementationRepository::Locator::_this (ACE_ENV_SINGLE_ARG_DECL)
-{
- TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- TAO_Stub_Auto_Ptr safe_stub (stub);
- CORBA::Object_ptr tmp = CORBA::Object::_nil ();
-
- if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 1, this),
- 0
- );
- }
- else
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 0, this),
- 0
- );
- }
-
- CORBA::Object_var obj = tmp;
- (void) safe_stub.release ();
-
- typedef ::ImplementationRepository::Locator STUB_SCOPED_NAME;
- return
- TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_Locator_Proxy_Broker_Factory_function_pointer
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:1680
-
-#if 0
-/* Useful at a later date.
-At present will be commented out */
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerObject>;
-
- template class
- TAO::Object_SArg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::StartupOptions>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformation>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SEQUENCE__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformationList>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformationIterator>;
-
- template class
- TAO::Object_SArg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::Administration>;
-
- template class
- TAO::Object_SArg_Traits_T<
- ImplementationRepository::Administration_ptr,
- ImplementationRepository::Administration_var,
- ImplementationRepository::Administration_out,
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::Locator::ServerNameList>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::Locator::ServerNameList,
- ImplementationRepository::Locator::ServerNameList_var,
- ImplementationRepository::Locator::ServerNameList_out
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::In_Object_SArgument_T<
- ImplementationRepository::Administration_ptr
- >;
-
- template class
- TAO::In_Var_Size_SArgument_T<
- ImplementationRepository::Locator::ServerNameList
- >;
-
- template class
- TAO::In_Object_SArgument_T<
- ImplementationRepository::ServerObject_ptr
- >;
-
- template class
- TAO::Out_Var_Size_SArgument_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_out
- >;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerObject>
-
-# pragma instantiate \
- TAO::Object_SArg_Traits_T< \
- ImplementationRepository::ServerObject_ptr, \
- ImplementationRepository::ServerObject_var, \
- ImplementationRepository::ServerObject_out, \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::StartupOptions>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::StartupOptions, \
- ImplementationRepository::StartupOptions_var, \
- ImplementationRepository::StartupOptions_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformation>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_var, \
- ImplementationRepository::ServerInformation_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SEQUENCE__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformationList>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_var, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformationIterator>
-
-# pragma instantiate \
- TAO::Object_SArg_Traits_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_var, \
- ImplementationRepository::ServerInformationIterator_out, \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::Administration>
-
-# pragma instantiate \
- TAO::Object_SArg_Traits_T< \
- ImplementationRepository::Administration_ptr, \
- ImplementationRepository::Administration_var, \
- ImplementationRepository::Administration_out, \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_LOCATOR_SERVERNAMELIST__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::Locator::ServerNameList>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::Locator::ServerNameList, \
- ImplementationRepository::Locator::ServerNameList_var, \
- ImplementationRepository::Locator::ServerNameList_out \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::In_Object_SArgument_T< \
- ImplementationRepository::Administration_ptr \
- >
-
-# pragma instantiate \
- TAO::In_Var_Size_SArgument_T< \
- ImplementationRepository::Locator::ServerNameList \
- >
-
-# pragma instantiate \
- TAO::In_Object_SArgument_T< \
- ImplementationRepository::ServerObject_ptr \
- >
-
-# pragma instantiate \
- TAO::Out_Var_Size_SArgument_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_out \
- >
-
-#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#endif /*if 0*/
-
-
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImR_LocatorS.h b/TAO/tao/PortableServer/ImR_LocatorS.h
deleted file mode 100644
index 95551511324..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorS.h
+++ /dev/null
@@ -1,1145 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:409
-
-#ifndef _TAO_IDL_IMR_LOCATORS_H_
-#define _TAO_IDL_IMR_LOCATORS_H_
-
-#include /**/ "ace/pre.h"
-
-#include "ImplRepoS.h"
-#include "ImR_LocatorC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/Collocation_Proxy_Broker.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Base.h"
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_sh.cpp:49
-
-namespace POA_ImplementationRepository
-{
-
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_sh.cpp:90
-
- class Locator;
- typedef Locator *Locator_ptr;
-
- class _TAO_Locator_ThruPOA_Proxy_Impl;
- class _TAO_Locator_Direct_Proxy_Impl;
- class _TAO_Locator_Strategized_Proxy_Broker;
-
- class TAO_PortableServer_Export Locator
- : public virtual POA_ImplementationRepository::Administration
- {
- protected:
- Locator (void);
-
- public:
- // Useful for template programming.
- typedef ::ImplementationRepository::Locator _stub_type;
- typedef ::ImplementationRepository::Locator_ptr _stub_ptr_type;
- typedef ::ImplementationRepository::Locator_var _stub_var_type;
-
- Locator (const Locator& rhs);
- virtual ~Locator (void);
-
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual void* _downcast (
- const char* logical_type_id
- );
-
- static void _is_a_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _non_existent_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _interface_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _component_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- virtual void _dispatch (
- TAO_ServerRequest &req,
- void *_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- ::ImplementationRepository::Locator *_this (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void activate_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- )) = 0;
-
- static void activate_server_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void remove_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void remove_server_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void shutdown_server_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void shutdown_server_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void server_is_shutting_down_in_activator (
- const char * server,
- const char * activator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void server_is_shutting_down_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual CORBA::Long register_activator (
- const char * activator,
- ::ImplementationRepository::Administration_ptr admin,
- const ::ImplementationRepository::Locator::ServerNameList & servers
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void register_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void unregister_activator (
- const char * activator,
- ::CORBA::Long token
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void unregister_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void server_is_running_in_activator (
- const char * server,
- const char * activator,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void server_is_running_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void find_in_activator (
- const char * server,
- const char * activator,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void find_in_activator_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- activate_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- activate_server_with_startup_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- register_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- reregister_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- remove_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- shutdown_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- server_is_running_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- server_is_shutting_down_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- find_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- list_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- shutdown_repo_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
- static void
- find_ior_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
- };
-
- ///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
- class TAO_PortableServer_Export _TAO_Locator_Strategized_Proxy_Broker
- : public virtual TAO::Collocation_Proxy_Broker
- {
- public:
- _TAO_Locator_Strategized_Proxy_Broker (void);
-
- virtual ~_TAO_Locator_Strategized_Proxy_Broker (void);
-
- TAO::Collocation_Strategy
- get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception));
-
- static _TAO_Locator_Strategized_Proxy_Broker *
- the_TAO_Locator_Strategized_Proxy_Broker (void);
- };
-
- //
- // End Strategized Proxy Broker Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
- ///////////////////////////////////////////////////////////////////////
- // ThruPOA Proxy Impl. Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_sh.cpp:37
-
- class TAO_PortableServer_Export _TAO_Locator_ThruPOA_Proxy_Impl
- : public virtual ::POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl
- {
- public:
- _TAO_Locator_ThruPOA_Proxy_Impl (void);
-
- virtual ~_TAO_Locator_ThruPOA_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- remove_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_shutting_down_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- register_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- unregister_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_running_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
- };
-
- //
- // ThruPOA Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
- ///////////////////////////////////////////////////////////////////////
- // Direct Impl. Declaration
- //
-
- class TAO_PortableServer_Export _TAO_Locator_Direct_Proxy_Impl
- : public virtual ::POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl
- {
- public:
- _TAO_Locator_Direct_Proxy_Impl (void);
-
- virtual ~_TAO_Locator_Direct_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- remove_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_server_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_shutting_down_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- register_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- unregister_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_running_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find_in_activator (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2214
-
- static void
- find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
- };
-
- //
- // Direct Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_sh.cpp:80
-
-} // module ImplementationRepository
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:1012
-
-
-#if defined (__ACE_INLINE__)
-#include "ImR_LocatorS.inl"
-#endif /* defined INLINE */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#include /**/ "ace/post.h"
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImR_LocatorS.inl b/TAO/tao/PortableServer/ImR_LocatorS.inl
deleted file mode 100644
index 3c6b37372ed..00000000000
--- a/TAO/tao/PortableServer/ImR_LocatorS.inl
+++ /dev/null
@@ -1,858 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::activate_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::activate_server_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::activate_server_with_startup_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::activate_server_with_startup_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::register_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::register_server_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::reregister_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::reregister_server_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::remove_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::remove_server_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::shutdown_server_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::shutdown_server_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::server_is_running_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::server_is_running_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::server_is_shutting_down_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::server_is_shutting_down_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::find_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::find_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::list_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::list_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::shutdown_repo_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::shutdown_repo_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:2026
-
-ACE_INLINE
-void
-POA_ImplementationRepository::Locator::find_ior_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration_ptr impl = (POA_ImplementationRepository::Locator_ptr) obj;
- POA_ImplementationRepository::Administration::find_ior_skel (
- req,
- (POA_ImplementationRepository::Administration_ptr) impl,
- context
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server_with_startup (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server_with_startup (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::register_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::register_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::reregister_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregister_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::remove_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_server (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_running (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_running (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_shutting_down (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_shutting_down (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::list (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_repo (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_repo (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_ThruPOA_Proxy_Impl::find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find_ior (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1334
-
-ACE_INLINE void
-POA_ImplementationRepository::_TAO_Locator_Direct_Proxy_Impl::find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find_ior (
- servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER
- );
-}
diff --git a/TAO/tao/PortableServer/ImplRepo.idl b/TAO/tao/PortableServer/ImplRepo.idl
new file mode 100644
index 00000000000..b76f6a5a010
--- /dev/null
+++ b/TAO/tao/PortableServer/ImplRepo.idl
@@ -0,0 +1,190 @@
+// -*- IDL -*-
+
+// $Id$
+
+module ImplementationRepository
+{
+ // = TITLE
+ // Server Side IR Object
+ //
+ // = DESCRIPTION
+ // This object, which exists on the servers that use the
+ // Implementation Repository (IR), is used to control or check the
+ // status of the server by the IR.
+ interface ServerObject
+ {
+ // Check the liveness of a server.
+ void ping ();
+
+ // Try to shutdown the server gracefully.
+ void shutdown ();
+ };
+
+ // = Exceptions
+
+ // Object already bound in the Implementation Repository
+ exception AlreadyRegistered {};
+
+ // The server could not be restarted.
+ exception CannotActivate
+ {
+ string reason;
+ };
+
+ // Object not found in the Implementation Repository
+ exception NotFound {};
+
+ // One environment variable/value pair.
+ struct EnvironmentVariable
+ {
+ string name;
+ string value;
+ };
+
+ // Complete Environment.
+ typedef sequence<EnvironmentVariable> EnvironmentList;
+
+ // The type of Activation
+ enum ActivationMode {NORMAL, MANUAL, PER_CLIENT, AUTO_START};
+
+ /// Options used to start up the server.
+ struct StartupOptions
+ {
+ /// Startup command (program name and arguments).
+ string command_line;
+
+ /// Environment Variables.
+ EnvironmentList environment;
+
+ /// Working directory.
+ string working_directory;
+
+ /// Activation Mode
+ ActivationMode activation;
+
+ /// Name of the activator
+ string activator;
+
+ /// Number of retries allowed
+ long start_limit;
+ };
+
+ struct ServerInformation
+ {
+ /// Server name.
+ string server;
+
+ /// How to start up the server.
+ StartupOptions startup;
+
+ /// This is used in places that require a partial IOR with
+ /// just the ObjectKey missing.
+ string partial_ior;
+ };
+
+ typedef sequence <ServerInformation> ServerInformationList;
+
+ // = TITLE
+ // Interface for iterating over servers returned with
+ // Administration::list ().
+ interface ServerInformationIterator
+ {
+ // This operation returns at most the requested number of
+ // servers.
+ // If how_many == 0, then returns all servers
+ boolean next_n (in unsigned long how_many,
+ out ServerInformationList servers);
+
+ // This operation destroys the iterator.
+ void destroy ();
+ };
+
+ // = TITLE
+ // The Implementation Repository Administration Interface
+ //
+ // = DESCRIPTION
+ // This interface exports all the administration functionality of
+ // the Implementation Repository.
+ interface Administration
+ {
+ // Activate server that is named <server>.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository. The <CannotActivate> exception
+ // is raised when <server> is found in the Repository but could not be
+ // activated.
+ void activate_server (in string server)
+ raises (NotFound, CannotActivate);
+
+ // Register the <options> to specify how the <server> should be
+ // restarted when a client asks for it.
+ //
+ // The <AlreadyRegistered> exception is raised when <server> has
+ // already been registered with the Implementation Repository.
+ // The <NotFound> exception is raised when the activator specified
+ // in the options is not registered.
+ void register_server (in string server,
+ in StartupOptions options)
+ raises (AlreadyRegistered, NotFound);
+
+ // Update the <options> to specify how the <server> should be
+ // restarted when a client asks for it. Will register the server
+ // if not already registered.
+ // The <AlreadyRegistered> exception is raised when <server> has
+ // already been registered with a different activator.
+ // The <NotFound> exception is raised when the activator specified
+ // in the options is not registered.
+ void reregister_server (in string server,
+ in StartupOptions options)
+ raises(AlreadyRegistered, NotFound);
+
+ // Remove <server> from the Implementation Repository.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository.
+ void remove_server (in string server)
+ raises (NotFound);
+
+ // Tries to shutdown the server, first gracefully, then ungracefully.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository.
+ void shutdown_server (in string server)
+ raises (NotFound);
+
+ // Used to notify the Implementation Repository that <server> is alive
+ // and well at <partial_ior>.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository.
+ void server_is_running (in string server,
+ in string partial_ior,
+ in ServerObject server_object)
+ raises (NotFound);
+
+ // Used to tell the Implementation Repository that <server> is shutting
+ // down.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository.
+
+ void server_is_shutting_down (in string server)
+ raises (NotFound);
+
+ // Returns the startup information for a given <server>.
+ //
+ // The <NotFound> exception is raised when <server> is not found
+ // in the Implementation Repository.
+ void find (in string server, out ServerInformation info)
+ raises (NotFound);
+
+ // Returns at most <how_many> servers in <server_list>. If there
+ // are additional servers, they can be received through the
+ // <server_iterator>. If there are no more servers, then
+ // <server_iterator> is null.
+ // If how_many == 0, then returns all servers.
+ void list (in unsigned long how_many,
+ out ServerInformationList server_list,
+ out ServerInformationIterator server_iterator);
+ };
+};
diff --git a/TAO/tao/PortableServer/ImplRepo.pidl b/TAO/tao/PortableServer/ImplRepo.pidl
deleted file mode 100644
index cbeb5fc3708..00000000000
--- a/TAO/tao/PortableServer/ImplRepo.pidl
+++ /dev/null
@@ -1,218 +0,0 @@
-// -*- IDL -*-
-
-//=============================================================================
-/**
- * @file ImplRepo.pidl
- *
- * $Id$
- *
- * This file was used to generate the code in ImplRepo{C,S,S_T}.{h,i,cpp}
- *
- * The command used to generate code from this file is:
- *
- * tao_idl.exe -o orig -ci C.i -si S.i -st S_T.i -Gp -Gd -Ge 1 -Sc -GT -Wb,export_macro=TAO_PortableServer_Export -Wb,export_include=portableserver_export.h -Wb,pre_include="ace/pre.h" -Wb,post_include="ace/post.h" ImplRepo.pidl
- *
- */
-//=============================================================================
-
-module ImplementationRepository
-{
- /**
- * @brief Server Side IR Object
- *
- * This object, which exists on the servers that use the
- * Implementation Repository (IR), is used to control or check the
- * status of the server by the IR.
- */
- interface ServerObject
- {
- /// Check the liveness of a server.
- void ping ();
-
- /// Try to shutdown the server gracefully.
- void shutdown ();
- };
-
- // = Exceptions
-
- /// Object already bound in the Implementation Repository
- exception AlreadyRegistered {};
-
- /// The server could not be restarted.
- exception CannotActivate
- {
- string reason;
- };
-
- /// Object not found in the Implementation Repository
- exception NotFound {};
-
- /// One environment variable/value pair.
- struct EnvironmentVariable
- {
- string name;
- string value;
- };
-
- /// This is used in places that require a partial IOR with
- /// just the ObjectKey missing.
- typedef string Address;
-
- /// Complete Environment.
- typedef sequence<EnvironmentVariable> EnvironmentList;
-
- /// The type of Activation
- enum ActivationMode {NORMAL, MANUAL, PER_CLIENT, AUTO_START};
-
- /// Options used to start up the server.
- struct StartupOptions
- {
- /// Startup command (program name and arguments).
- string command_line;
-
- /// Environment Variables.
- EnvironmentList environment;
-
- /// Working directory.
- string working_directory;
-
- /// Activation Mode
- ActivationMode activation;
-
- /// Name of the activator
- string activator;
- };
-
- /// All the information about one server.
- struct ServerInformation
- {
- /// The logical server this server is part of.
- string logical_server;
-
- /// Server name.
- string server;
-
- /// How to start up the server.
- StartupOptions startup;
-
- /// Where the server is located currently.
- Address location;
- };
-
- typedef sequence <ServerInformation> ServerInformationList;
-
- /// Forward declaration.
- interface ServerInformationIterator;
-
- /**
- * @brief The Implementation Repository Administration Interface
- *
- * This interface exports all the administration functionality of
- * the Implementation Repository.
- */
- interface Administration
- {
- /// Activate server that is named @a server.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository. The <CannotActivate> exception
- /// is raised when <server> is found in the Repository but could not be
- /// activated.
- void activate_server (in string server)
- raises (NotFound, CannotActivate);
-
- string activate_server_with_startup (in string server,
- in long check_startup)
- raises (NotFound, CannotActivate);
-
- /// Register the <options> to specify how the <server> should be
- /// restarted when a client asks for it.
- ///
- /// The <AlreadyRegistered> exception is raised when <server> has
- /// already been registered with the Implementation Repository.
- /// The <NotFound> exception is raised when the activator specified
- /// in the options is not registered.
- void register_server (in string server,
- in StartupOptions options)
- raises (AlreadyRegistered, NotFound);
-
- /// Update the <options> to specify how the <server> should be
- /// restarted when a client asks for it. Will register the server
- /// if not already registered.
- /// The <AlreadyRegistered> exception is raised when <server> has
- /// already been registered with a different activator.
- /// The <NotFound> exception is raised when the activator specified
- /// in the options is not registered.
- void reregister_server (in string server,
- in StartupOptions options)
- raises(AlreadyRegistered, NotFound);
-
- /// Remove <server> from the Implementation Repository.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository.
- void remove_server (in string server)
- raises (NotFound);
-
- /// Tries to shutdown the server, first gracefully, then ungracefully.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository.
- void shutdown_server (in string server)
- raises (NotFound);
-
- /// Used to notify the Implementation Repository that <server> is alive
- /// and well at <addr>.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository.
- void server_is_running (in string server,
- in Address addr,
- in ServerObject server_object)
- raises (NotFound);
-
- /// Used to tell the Implementation Repository that <server> is shutting
- /// down.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository.
- void server_is_shutting_down (in string server)
- raises (NotFound);
-
- /// Returns the startup information for a given <server>.
- ///
- /// The <NotFound> exception is raised when <server> is not found
- /// in the Implementation Repository.
- void find (in string server,
- out ServerInformation info)
- raises (NotFound);
-
- /// Returns at most <how_many> servers in <server_list>. If there
- /// are additional servers, they can be received through the
- /// <server_iterator>. If there are no more servers, then
- /// <server_iterator> is null.
- void list (in unsigned long how_many,
- out ServerInformationList server_list,
- out ServerInformationIterator server_iterator);
-
- /// Shuts down the repository
- void shutdown_repo() ;
-
- string find_ior (in string object_name)
- raises (NotFound);
-
- };
-
- /// Interface for iterating over servers returned with
- /// Administration::list ().
- interface ServerInformationIterator
- {
- /// This operation returns at most the requested number of
- /// servers.
- boolean next_n (in unsigned long how_many,
- out ServerInformationList server_list);
-
- /// This operation destroys the iterator.
- void destroy ();
- };
-};
diff --git a/TAO/tao/PortableServer/ImplRepoC.cpp b/TAO/tao/PortableServer/ImplRepoC.cpp
deleted file mode 100644
index 143506a5db1..00000000000
--- a/TAO/tao/PortableServer/ImplRepoC.cpp
+++ /dev/null
@@ -1,5004 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:321
-
-
-#include "ImplRepoC.h"
-#include "tao/CDR.h"
-#include "tao/Exception_Data.h"
-#include "tao/Invocation_Adapter.h"
-#include "tao/Object_T.h"
-#include "tao/Typecode.h"
-#include "tao/Any_Impl_T.h"
-#include "tao/Any_Dual_Impl_T.h"
-#include "tao/Any_Basic_Impl_T.h"
-#include "tao/Basic_Arguments.h"
-#include "tao/Object_Argument_T.h"
-#include "tao/Special_Basic_Arguments.h"
-#include "tao/UB_String_Arguments.h"
-#include "tao/Var_Size_Argument_T.h"
-#include "ace/OS_NS_string.h"
-
-#if defined (__BORLANDC__)
-#pragma option -w-rvl -w-rch -w-ccc -w-aus -w-sig
-#endif /* __BORLANDC__ */
-
-#if !defined (__ACE_INLINE__)
-#include "ImplRepoC.inl"
-#endif /* !defined INLINE */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:64
-
-// Arg traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerObject>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::StartupOptions>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformation>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationIterator>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >
- {
- };
-
-#endif /* end #if !defined */
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_cs.cpp:60
-
-// Traits specializations for ImplementationRepository::ServerObject.
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::ServerObject_ptr
-TAO::Objref_Traits<ImplementationRepository::ServerObject>::duplicate (
- ImplementationRepository::ServerObject_ptr p
- )
-{
- return ImplementationRepository::ServerObject::_duplicate (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-void
-TAO::Objref_Traits<ImplementationRepository::ServerObject>::release (
- ImplementationRepository::ServerObject_ptr p
- )
-{
- CORBA::release (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::ServerObject_ptr
-TAO::Objref_Traits<ImplementationRepository::ServerObject>::nil (void)
-{
- return ImplementationRepository::ServerObject::_nil ();
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-CORBA::Boolean
-TAO::Objref_Traits<ImplementationRepository::ServerObject>::marshal (
- ImplementationRepository::ServerObject_ptr p,
- TAO_OutputCDR & cdr
- )
-{
- return CORBA::Object::marshal (p, cdr);
-}
-
-// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- ) = 0;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::ServerObject::ping (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_ServerObject_Proxy_Broker_ == 0)
- {
- ImplementationRepository_ServerObject_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 1,
- "ping",
- 4,
- this->the_TAO_ServerObject_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::ServerObject::shutdown (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_ServerObject_Proxy_Broker_ == 0)
- {
- ImplementationRepository_ServerObject_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 1,
- "shutdown",
- 8,
- this->the_TAO_ServerObject_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-ImplementationRepository::ServerObject::ServerObject (void)
- : the_TAO_ServerObject_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_ServerObject_setup_collocation ();
-}
-
-void
-ImplementationRepository::ServerObject::ImplementationRepository_ServerObject_setup_collocation ()
-{
- if (::ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer)
- {
- this->the_TAO_ServerObject_Proxy_Broker_ =
- ::ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer (this);
- }
-}
-
-ImplementationRepository::ServerObject::~ServerObject (void)
-{}
-
-void
-ImplementationRepository::ServerObject::_tao_any_destructor (void *_tao_void_pointer)
-{
- ServerObject *_tao_tmp_pointer =
- static_cast<ServerObject *> (_tao_void_pointer);
- CORBA::release (_tao_tmp_pointer);
-}
-
-ImplementationRepository::ServerObject_ptr
-ImplementationRepository::ServerObject::_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<ServerObject>::narrow (
- _tao_objref,
- "IDL:ImplementationRepository/ServerObject:1.0",
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::ServerObject_ptr
-ImplementationRepository::ServerObject::_unchecked_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<ServerObject>::unchecked_narrow (
- _tao_objref,
- "IDL:ImplementationRepository/ServerObject:1.0",
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::ServerObject_ptr
-ImplementationRepository::ServerObject::_duplicate (ServerObject_ptr obj)
-{
- if (! CORBA::is_nil (obj))
- {
- obj->_add_ref ();
- }
-
- return obj;
-}
-
-CORBA::Boolean
-ImplementationRepository::ServerObject::_is_a (
- const char *value
- ACE_ENV_ARG_DECL
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/ServerObject:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1; // success using local knowledge
- }
- else
- {
- return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
- value
- ACE_ENV_ARG_PARAMETER
- );
- }
-}
-
-const char* ImplementationRepository::ServerObject::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/ServerObject:1.0";
-}
-
-CORBA::Boolean
-ImplementationRepository::ServerObject::marshal (TAO_OutputCDR &cdr)
-{
- return (cdr << this);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_ServerObject[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 46,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x7665724f),
- ACE_NTOHL (0x626a6563),
- ACE_NTOHL (0x743a312e),
- ACE_NTOHL (0x30000000), // repository ID = IDL:ImplementationRepository/ServerObject:1.0
- 13,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x65724f62),
- ACE_NTOHL (0x6a656374),
- ACE_NTOHL (0x0), // name = ServerObject
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerObject (
- CORBA::tk_objref,
- sizeof (_oc_ImplementationRepository_ServerObject),
- (char *) &_oc_ImplementationRepository_ServerObject,
- 0,
- sizeof (ImplementationRepository::ServerObject)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_ServerObject =
- &_tc_TAO_tc_ImplementationRepository_ServerObject;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_cs.cpp:63
-
-ImplementationRepository::AlreadyRegistered::AlreadyRegistered (void)
- : CORBA::UserException (
- "IDL:ImplementationRepository/AlreadyRegistered:1.0",
- "AlreadyRegistered"
- )
-{
-}
-
-ImplementationRepository::AlreadyRegistered::~AlreadyRegistered (void)
-{
-}
-
-ImplementationRepository::AlreadyRegistered::AlreadyRegistered (const ::ImplementationRepository::AlreadyRegistered &_tao_excp)
- : CORBA::UserException (
- _tao_excp._rep_id (),
- _tao_excp._name ()
- )
-{
-}
-
-ImplementationRepository::AlreadyRegistered&
-ImplementationRepository::AlreadyRegistered::operator= (const ::ImplementationRepository::AlreadyRegistered &_tao_excp)
-{
- this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
- return *this;
-}
-
-void ImplementationRepository::AlreadyRegistered::_tao_any_destructor (void *_tao_void_pointer)
-{
- AlreadyRegistered *_tao_tmp_pointer =
- static_cast<AlreadyRegistered*> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-ImplementationRepository::AlreadyRegistered *
-ImplementationRepository::AlreadyRegistered::_downcast (CORBA::Exception *_tao_excp)
-{
- if (!ACE_OS::strcmp ("IDL:ImplementationRepository/AlreadyRegistered:1.0", _tao_excp->_rep_id ()))
- {
- return dynamic_cast<AlreadyRegistered *> (_tao_excp);
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Exception *ImplementationRepository::AlreadyRegistered::_alloc (void)
-{
- CORBA::Exception *retval = 0;
- ACE_NEW_RETURN (retval, ::ImplementationRepository::AlreadyRegistered, 0);
- return retval;
-}
-
-CORBA::Exception *
-ImplementationRepository::AlreadyRegistered::_tao_duplicate (void) const
-{
- CORBA::Exception *result;
- ACE_NEW_RETURN (
- result,
- ::ImplementationRepository::AlreadyRegistered (*this),
- 0
- );
- return result;
-}
-
-void ImplementationRepository::AlreadyRegistered::_raise (void) const
-{
- TAO_RAISE (*this);
-}
-
-void ImplementationRepository::AlreadyRegistered::_tao_encode (
- TAO_OutputCDR &cdr
- ACE_ENV_ARG_DECL
- ) const
-{
- if (cdr << *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-void ImplementationRepository::AlreadyRegistered::_tao_decode (
- TAO_InputCDR &cdr
- ACE_ENV_ARG_DECL
- )
-{
- if (cdr >> *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-// TAO extension - the virtual _type method.
-CORBA::TypeCode_ptr ImplementationRepository::AlreadyRegistered::_type (void) const
-{
- return ::ImplementationRepository::_tc_AlreadyRegistered;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_AlreadyRegistered[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 51,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416c72),
- ACE_NTOHL (0x65616479),
- ACE_NTOHL (0x52656769),
- ACE_NTOHL (0x73746572),
- ACE_NTOHL (0x65643a31),
- ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/AlreadyRegistered:1.0
- 18,
- ACE_NTOHL (0x416c7265),
- ACE_NTOHL (0x61647952),
- ACE_NTOHL (0x65676973),
- ACE_NTOHL (0x74657265),
- ACE_NTOHL (0x64000000), // name = AlreadyRegistered
- 0, // member count
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_AlreadyRegistered (
- CORBA::tk_except,
- sizeof (_oc_ImplementationRepository_AlreadyRegistered),
- (char *) &_oc_ImplementationRepository_AlreadyRegistered,
- 0,
- sizeof (ImplementationRepository::AlreadyRegistered)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_AlreadyRegistered =
- &_tc_TAO_tc_ImplementationRepository_AlreadyRegistered;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_cs.cpp:63
-
-ImplementationRepository::CannotActivate::CannotActivate (void)
- : CORBA::UserException (
- "IDL:ImplementationRepository/CannotActivate:1.0",
- "CannotActivate"
- )
-{
-}
-
-ImplementationRepository::CannotActivate::~CannotActivate (void)
-{
-}
-
-ImplementationRepository::CannotActivate::CannotActivate (const ::ImplementationRepository::CannotActivate &_tao_excp)
- : CORBA::UserException (
- _tao_excp._rep_id (),
- _tao_excp._name ()
- )
-{
- this->reason = CORBA::string_dup (_tao_excp.reason.in ());
-}
-
-ImplementationRepository::CannotActivate&
-ImplementationRepository::CannotActivate::operator= (const ::ImplementationRepository::CannotActivate &_tao_excp)
-{
- this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
- this->reason = CORBA::string_dup (_tao_excp.reason.in ());
- return *this;
-}
-
-void ImplementationRepository::CannotActivate::_tao_any_destructor (void *_tao_void_pointer)
-{
- CannotActivate *_tao_tmp_pointer =
- static_cast<CannotActivate*> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-ImplementationRepository::CannotActivate *
-ImplementationRepository::CannotActivate::_downcast (CORBA::Exception *_tao_excp)
-{
- if (!ACE_OS::strcmp ("IDL:ImplementationRepository/CannotActivate:1.0", _tao_excp->_rep_id ()))
- {
- return dynamic_cast<CannotActivate *> (_tao_excp);
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Exception *ImplementationRepository::CannotActivate::_alloc (void)
-{
- CORBA::Exception *retval = 0;
- ACE_NEW_RETURN (retval, ::ImplementationRepository::CannotActivate, 0);
- return retval;
-}
-
-CORBA::Exception *
-ImplementationRepository::CannotActivate::_tao_duplicate (void) const
-{
- CORBA::Exception *result;
- ACE_NEW_RETURN (
- result,
- ::ImplementationRepository::CannotActivate (*this),
- 0
- );
- return result;
-}
-
-void ImplementationRepository::CannotActivate::_raise (void) const
-{
- TAO_RAISE (*this);
-}
-
-void ImplementationRepository::CannotActivate::_tao_encode (
- TAO_OutputCDR &cdr
- ACE_ENV_ARG_DECL
- ) const
-{
- if (cdr << *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-void ImplementationRepository::CannotActivate::_tao_decode (
- TAO_InputCDR &cdr
- ACE_ENV_ARG_DECL
- )
-{
- if (cdr >> *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ctor.cpp:66
-
-ImplementationRepository::CannotActivate::CannotActivate (
- const char * _tao_reason
- )
- : CORBA::UserException (
- "IDL:ImplementationRepository/CannotActivate:1.0",
- "CannotActivate"
- )
-{
- this->reason = CORBA::string_dup (_tao_reason);
-}
-
-// TAO extension - the virtual _type method.
-CORBA::TypeCode_ptr ImplementationRepository::CannotActivate::_type (void) const
-{
- return ::ImplementationRepository::_tc_CannotActivate;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_CannotActivate[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f43616e),
- ACE_NTOHL (0x6e6f7441),
- ACE_NTOHL (0x63746976),
- ACE_NTOHL (0x6174653a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/CannotActivate:1.0
- 15,
- ACE_NTOHL (0x43616e6e),
- ACE_NTOHL (0x6f744163),
- ACE_NTOHL (0x74697661),
- ACE_NTOHL (0x74650000), // name = CannotActivate
- 1, // member count
- 7,
- ACE_NTOHL (0x72656173),
- ACE_NTOHL (0x6f6e0000), // name = reason
- CORBA::tk_string,
- 0U, // string length
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_CannotActivate (
- CORBA::tk_except,
- sizeof (_oc_ImplementationRepository_CannotActivate),
- (char *) &_oc_ImplementationRepository_CannotActivate,
- 0,
- sizeof (ImplementationRepository::CannotActivate)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_CannotActivate =
- &_tc_TAO_tc_ImplementationRepository_CannotActivate;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_cs.cpp:63
-
-ImplementationRepository::NotFound::NotFound (void)
- : CORBA::UserException (
- "IDL:ImplementationRepository/NotFound:1.0",
- "NotFound"
- )
-{
-}
-
-ImplementationRepository::NotFound::~NotFound (void)
-{
-}
-
-ImplementationRepository::NotFound::NotFound (const ::ImplementationRepository::NotFound &_tao_excp)
- : CORBA::UserException (
- _tao_excp._rep_id (),
- _tao_excp._name ()
- )
-{
-}
-
-ImplementationRepository::NotFound&
-ImplementationRepository::NotFound::operator= (const ::ImplementationRepository::NotFound &_tao_excp)
-{
- this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
- return *this;
-}
-
-void ImplementationRepository::NotFound::_tao_any_destructor (void *_tao_void_pointer)
-{
- NotFound *_tao_tmp_pointer =
- static_cast<NotFound*> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-ImplementationRepository::NotFound *
-ImplementationRepository::NotFound::_downcast (CORBA::Exception *_tao_excp)
-{
- if (!ACE_OS::strcmp ("IDL:ImplementationRepository/NotFound:1.0", _tao_excp->_rep_id ()))
- {
- return dynamic_cast<NotFound *> (_tao_excp);
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Exception *ImplementationRepository::NotFound::_alloc (void)
-{
- CORBA::Exception *retval = 0;
- ACE_NEW_RETURN (retval, ::ImplementationRepository::NotFound, 0);
- return retval;
-}
-
-CORBA::Exception *
-ImplementationRepository::NotFound::_tao_duplicate (void) const
-{
- CORBA::Exception *result;
- ACE_NEW_RETURN (
- result,
- ::ImplementationRepository::NotFound (*this),
- 0
- );
- return result;
-}
-
-void ImplementationRepository::NotFound::_raise (void) const
-{
- TAO_RAISE (*this);
-}
-
-void ImplementationRepository::NotFound::_tao_encode (
- TAO_OutputCDR &cdr
- ACE_ENV_ARG_DECL
- ) const
-{
- if (cdr << *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-void ImplementationRepository::NotFound::_tao_decode (
- TAO_InputCDR &cdr
- ACE_ENV_ARG_DECL
- )
-{
- if (cdr >> *this)
- {
- return;
- }
-
- ACE_THROW (CORBA::MARSHAL ());
-}
-
-// TAO extension - the virtual _type method.
-CORBA::TypeCode_ptr ImplementationRepository::NotFound::_type (void) const
-{
- return ::ImplementationRepository::_tc_NotFound;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_NotFound[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 42,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f4e6f74),
- ACE_NTOHL (0x466f756e),
- ACE_NTOHL (0x643a312e),
- ACE_NTOHL (0x30000000), // repository ID = IDL:ImplementationRepository/NotFound:1.0
- 9,
- ACE_NTOHL (0x4e6f7446),
- ACE_NTOHL (0x6f756e64),
- ACE_NTOHL (0x0), // name = NotFound
- 0, // member count
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_NotFound (
- CORBA::tk_except,
- sizeof (_oc_ImplementationRepository_NotFound),
- (char *) &_oc_ImplementationRepository_NotFound,
- 0,
- sizeof (ImplementationRepository::NotFound)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_NotFound =
- &_tc_TAO_tc_ImplementationRepository_NotFound;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_EnvironmentVariable[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 53,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x56617269),
- ACE_NTOHL (0x61626c65),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0
- 20,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7456),
- ACE_NTOHL (0x61726961),
- ACE_NTOHL (0x626c6500), // name = EnvironmentVariable
- 2, // member count
- 5,
- ACE_NTOHL (0x6e616d65),
- ACE_NTOHL (0x0), // name = name
- CORBA::tk_string,
- 0U, // string length
- 6,
- ACE_NTOHL (0x76616c75),
- ACE_NTOHL (0x65000000), // name = value
- CORBA::tk_string,
- 0U, // string length
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_EnvironmentVariable (
- CORBA::tk_struct,
- sizeof (_oc_ImplementationRepository_EnvironmentVariable),
- (char *) &_oc_ImplementationRepository_EnvironmentVariable,
- 0,
- sizeof (ImplementationRepository::EnvironmentVariable)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_EnvironmentVariable =
- &_tc_TAO_tc_ImplementationRepository_EnvironmentVariable;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:66
-
-void
-ImplementationRepository::EnvironmentVariable::_tao_any_destructor (
- void *_tao_void_pointer
- )
-{
- EnvironmentVariable *_tao_tmp_pointer =
- static_cast<EnvironmentVariable *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_Address[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 41,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416464),
- ACE_NTOHL (0x72657373),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0
- 8,
- ACE_NTOHL (0x41646472),
- ACE_NTOHL (0x65737300), // name = Address
- CORBA::tk_string,
- 0U, // string length
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Address (
- CORBA::tk_alias,
- sizeof (_oc_ImplementationRepository_Address),
- (char *) &_oc_ImplementationRepository_Address,
- 0,
- sizeof (ImplementationRepository::Address)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_Address =
- &_tc_TAO_tc_ImplementationRepository_Address;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:65
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_
-
-ImplementationRepository::EnvironmentList::EnvironmentList (void)
-{}
-
-ImplementationRepository::EnvironmentList::EnvironmentList (
- CORBA::ULong max
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::EnvironmentVariable
- >
- (max)
-{}
-
-ImplementationRepository::EnvironmentList::EnvironmentList (
- CORBA::ULong max,
- CORBA::ULong length,
- ImplementationRepository::EnvironmentVariable * buffer,
- CORBA::Boolean release
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::EnvironmentVariable
- >
- (max, length, buffer, release)
-{}
-
-ImplementationRepository::EnvironmentList::EnvironmentList (
- const EnvironmentList &seq
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::EnvironmentVariable
- >
- (seq)
-{}
-
-ImplementationRepository::EnvironmentList::~EnvironmentList (void)
-{}
-
-void ImplementationRepository::EnvironmentList::_tao_any_destructor (
- void * _tao_void_pointer
- )
-{
- EnvironmentList * _tao_tmp_pointer =
- static_cast<EnvironmentList *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-#endif /* end #if !defined */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_EnvironmentList[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 49,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x4c697374),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0
- 16,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e744c),
- ACE_NTOHL (0x69737400), // name = EnvironmentList
- CORBA::tk_sequence, // typecode kind
- 148, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_struct, // typecode kind
- 132, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 53,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x56617269),
- ACE_NTOHL (0x61626c65),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0
- 20,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7456),
- ACE_NTOHL (0x61726961),
- ACE_NTOHL (0x626c6500), // name = EnvironmentVariable
- 2, // member count
- 5,
- ACE_NTOHL (0x6e616d65),
- ACE_NTOHL (0x0), // name = name
- CORBA::tk_string,
- 0U, // string length
- 6,
- ACE_NTOHL (0x76616c75),
- ACE_NTOHL (0x65000000), // name = value
- CORBA::tk_string,
- 0U, // string length
-
- 0U,
-
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_EnvironmentList (
- CORBA::tk_alias,
- sizeof (_oc_ImplementationRepository_EnvironmentList),
- (char *) &_oc_ImplementationRepository_EnvironmentList,
- 0,
- sizeof (ImplementationRepository::EnvironmentList)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_EnvironmentList =
- &_tc_TAO_tc_ImplementationRepository_EnvironmentList;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_ActivationMode[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416374),
- ACE_NTOHL (0x69766174),
- ACE_NTOHL (0x696f6e4d),
- ACE_NTOHL (0x6f64653a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0
- 15,
- ACE_NTOHL (0x41637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e4d6f),
- ACE_NTOHL (0x64650000), // name = ActivationMode
- 4, // member count
- 7,
- ACE_NTOHL (0x4e4f524d),
- ACE_NTOHL (0x414c0000), // name = NORMAL
- 7,
- ACE_NTOHL (0x4d414e55),
- ACE_NTOHL (0x414c0000), // name = MANUAL
- 11,
- ACE_NTOHL (0x5045525f),
- ACE_NTOHL (0x434c4945),
- ACE_NTOHL (0x4e540000), // name = PER_CLIENT
- 11,
- ACE_NTOHL (0x4155544f),
- ACE_NTOHL (0x5f535441),
- ACE_NTOHL (0x52540000), // name = AUTO_START
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ActivationMode (
- CORBA::tk_enum,
- sizeof (_oc_ImplementationRepository_ActivationMode),
- (char *) &_oc_ImplementationRepository_ActivationMode,
- 0,
- sizeof (ImplementationRepository::ActivationMode)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_ActivationMode =
- &_tc_TAO_tc_ImplementationRepository_ActivationMode;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_StartupOptions[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f537461),
- ACE_NTOHL (0x72747570),
- ACE_NTOHL (0x4f707469),
- ACE_NTOHL (0x6f6e733a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0
- 15,
- ACE_NTOHL (0x53746172),
- ACE_NTOHL (0x7475704f),
- ACE_NTOHL (0x7074696f),
- ACE_NTOHL (0x6e730000), // name = StartupOptions
- 5, // member count
- 13,
- ACE_NTOHL (0x636f6d6d),
- ACE_NTOHL (0x616e645f),
- ACE_NTOHL (0x6c696e65),
- ACE_NTOHL (0x0), // name = command_line
- CORBA::tk_string,
- 0U, // string length
- 12,
- ACE_NTOHL (0x656e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7400), // name = environment
- CORBA::tk_alias, // typecode kind for typedefs
- 236, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 49,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x4c697374),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0
- 16,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e744c),
- ACE_NTOHL (0x69737400), // name = EnvironmentList
- CORBA::tk_sequence, // typecode kind
- 148, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_struct, // typecode kind
- 132, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 53,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x56617269),
- ACE_NTOHL (0x61626c65),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0
- 20,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7456),
- ACE_NTOHL (0x61726961),
- ACE_NTOHL (0x626c6500), // name = EnvironmentVariable
- 2, // member count
- 5,
- ACE_NTOHL (0x6e616d65),
- ACE_NTOHL (0x0), // name = name
- CORBA::tk_string,
- 0U, // string length
- 6,
- ACE_NTOHL (0x76616c75),
- ACE_NTOHL (0x65000000), // name = value
- CORBA::tk_string,
- 0U, // string length
-
- 0U,
-
-
- 18,
- ACE_NTOHL (0x776f726b),
- ACE_NTOHL (0x696e675f),
- ACE_NTOHL (0x64697265),
- ACE_NTOHL (0x63746f72),
- ACE_NTOHL (0x79000000), // name = working_directory
- CORBA::tk_string,
- 0U, // string length
- 11,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e0000), // name = activation
- CORBA::tk_enum, // typecode kind
- 136, // encapsulation length
-TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416374),
- ACE_NTOHL (0x69766174),
- ACE_NTOHL (0x696f6e4d),
- ACE_NTOHL (0x6f64653a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0
- 15,
- ACE_NTOHL (0x41637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e4d6f),
- ACE_NTOHL (0x64650000), // name = ActivationMode
- 4, // member count
- 7,
- ACE_NTOHL (0x4e4f524d),
- ACE_NTOHL (0x414c0000), // name = NORMAL
- 7,
- ACE_NTOHL (0x4d414e55),
- ACE_NTOHL (0x414c0000), // name = MANUAL
- 11,
- ACE_NTOHL (0x5045525f),
- ACE_NTOHL (0x434c4945),
- ACE_NTOHL (0x4e540000), // name = PER_CLIENT
- 11,
- ACE_NTOHL (0x4155544f),
- ACE_NTOHL (0x5f535441),
- ACE_NTOHL (0x52540000), // name = AUTO_START
-
- 10,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x7661746f),
- ACE_NTOHL (0x72000000), // name = activator
- CORBA::tk_string,
- 0U, // string length
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_StartupOptions (
- CORBA::tk_struct,
- sizeof (_oc_ImplementationRepository_StartupOptions),
- (char *) &_oc_ImplementationRepository_StartupOptions,
- 0,
- sizeof (ImplementationRepository::StartupOptions)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_StartupOptions =
- &_tc_TAO_tc_ImplementationRepository_StartupOptions;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:66
-
-void
-ImplementationRepository::StartupOptions::_tao_any_destructor (
- void *_tao_void_pointer
- )
-{
- StartupOptions *_tao_tmp_pointer =
- static_cast<StartupOptions *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_ServerInformation[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 51,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x76657249),
- ACE_NTOHL (0x6e666f72),
- ACE_NTOHL (0x6d617469),
- ACE_NTOHL (0x6f6e3a31),
- ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformation:1.0
- 18,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x6572496e),
- ACE_NTOHL (0x666f726d),
- ACE_NTOHL (0x6174696f),
- ACE_NTOHL (0x6e000000), // name = ServerInformation
- 4, // member count
- 15,
- ACE_NTOHL (0x6c6f6769),
- ACE_NTOHL (0x63616c5f),
- ACE_NTOHL (0x73657276),
- ACE_NTOHL (0x65720000), // name = logical_server
- CORBA::tk_string,
- 0U, // string length
- 7,
- ACE_NTOHL (0x73657276),
- ACE_NTOHL (0x65720000), // name = server
- CORBA::tk_string,
- 0U, // string length
- 8,
- ACE_NTOHL (0x73746172),
- ACE_NTOHL (0x74757000), // name = startup
- CORBA::tk_struct, // typecode kind
- 584, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f537461),
- ACE_NTOHL (0x72747570),
- ACE_NTOHL (0x4f707469),
- ACE_NTOHL (0x6f6e733a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0
- 15,
- ACE_NTOHL (0x53746172),
- ACE_NTOHL (0x7475704f),
- ACE_NTOHL (0x7074696f),
- ACE_NTOHL (0x6e730000), // name = StartupOptions
- 5, // member count
- 13,
- ACE_NTOHL (0x636f6d6d),
- ACE_NTOHL (0x616e645f),
- ACE_NTOHL (0x6c696e65),
- ACE_NTOHL (0x0), // name = command_line
- CORBA::tk_string,
- 0U, // string length
- 12,
- ACE_NTOHL (0x656e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7400), // name = environment
- CORBA::tk_alias, // typecode kind for typedefs
- 236, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 49,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x4c697374),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0
- 16,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e744c),
- ACE_NTOHL (0x69737400), // name = EnvironmentList
- CORBA::tk_sequence, // typecode kind
- 148, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_struct, // typecode kind
- 132, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 53,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x56617269),
- ACE_NTOHL (0x61626c65),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0
- 20,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7456),
- ACE_NTOHL (0x61726961),
- ACE_NTOHL (0x626c6500), // name = EnvironmentVariable
- 2, // member count
- 5,
- ACE_NTOHL (0x6e616d65),
- ACE_NTOHL (0x0), // name = name
- CORBA::tk_string,
- 0U, // string length
- 6,
- ACE_NTOHL (0x76616c75),
- ACE_NTOHL (0x65000000), // name = value
- CORBA::tk_string,
- 0U, // string length
-
- 0U,
-
-
- 18,
- ACE_NTOHL (0x776f726b),
- ACE_NTOHL (0x696e675f),
- ACE_NTOHL (0x64697265),
- ACE_NTOHL (0x63746f72),
- ACE_NTOHL (0x79000000), // name = working_directory
- CORBA::tk_string,
- 0U, // string length
- 11,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e0000), // name = activation
- CORBA::tk_enum, // typecode kind
- 136, // encapsulation length
-TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416374),
- ACE_NTOHL (0x69766174),
- ACE_NTOHL (0x696f6e4d),
- ACE_NTOHL (0x6f64653a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0
- 15,
- ACE_NTOHL (0x41637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e4d6f),
- ACE_NTOHL (0x64650000), // name = ActivationMode
- 4, // member count
- 7,
- ACE_NTOHL (0x4e4f524d),
- ACE_NTOHL (0x414c0000), // name = NORMAL
- 7,
- ACE_NTOHL (0x4d414e55),
- ACE_NTOHL (0x414c0000), // name = MANUAL
- 11,
- ACE_NTOHL (0x5045525f),
- ACE_NTOHL (0x434c4945),
- ACE_NTOHL (0x4e540000), // name = PER_CLIENT
- 11,
- ACE_NTOHL (0x4155544f),
- ACE_NTOHL (0x5f535441),
- ACE_NTOHL (0x52540000), // name = AUTO_START
-
- 10,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x7661746f),
- ACE_NTOHL (0x72000000), // name = activator
- CORBA::tk_string,
- 0U, // string length
-
- 9,
- ACE_NTOHL (0x6c6f6361),
- ACE_NTOHL (0x74696f6e),
- ACE_NTOHL (0x0), // name = location
- CORBA::tk_alias, // typecode kind for typedefs
- 72, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 41,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416464),
- ACE_NTOHL (0x72657373),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0
- 8,
- ACE_NTOHL (0x41646472),
- ACE_NTOHL (0x65737300), // name = Address
- CORBA::tk_string,
- 0U, // string length
-
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformation (
- CORBA::tk_struct,
- sizeof (_oc_ImplementationRepository_ServerInformation),
- (char *) &_oc_ImplementationRepository_ServerInformation,
- 0,
- sizeof (ImplementationRepository::ServerInformation)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_ServerInformation =
- &_tc_TAO_tc_ImplementationRepository_ServerInformation;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_cs.cpp:66
-
-void
-ImplementationRepository::ServerInformation::_tao_any_destructor (
- void *_tao_void_pointer
- )
-{
- ServerInformation *_tao_tmp_pointer =
- static_cast<ServerInformation *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_cs.cpp:65
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_
-
-ImplementationRepository::ServerInformationList::ServerInformationList (void)
-{}
-
-ImplementationRepository::ServerInformationList::ServerInformationList (
- CORBA::ULong max
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::ServerInformation
- >
- (max)
-{}
-
-ImplementationRepository::ServerInformationList::ServerInformationList (
- CORBA::ULong max,
- CORBA::ULong length,
- ImplementationRepository::ServerInformation * buffer,
- CORBA::Boolean release
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::ServerInformation
- >
- (max, length, buffer, release)
-{}
-
-ImplementationRepository::ServerInformationList::ServerInformationList (
- const ServerInformationList &seq
- )
- : TAO_Unbounded_Sequence<
- ImplementationRepository::ServerInformation
- >
- (seq)
-{}
-
-ImplementationRepository::ServerInformationList::~ServerInformationList (void)
-{}
-
-void ImplementationRepository::ServerInformationList::_tao_any_destructor (
- void * _tao_void_pointer
- )
-{
- ServerInformationList * _tao_tmp_pointer =
- static_cast<ServerInformationList *> (_tao_void_pointer);
- delete _tao_tmp_pointer;
-}
-
-#endif /* end #if !defined */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_ServerInformationList[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 55,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x76657249),
- ACE_NTOHL (0x6e666f72),
- ACE_NTOHL (0x6d617469),
- ACE_NTOHL (0x6f6e4c69),
- ACE_NTOHL (0x73743a31),
- ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformationList:1.0
- 22,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x6572496e),
- ACE_NTOHL (0x666f726d),
- ACE_NTOHL (0x6174696f),
- ACE_NTOHL (0x6e4c6973),
- ACE_NTOHL (0x74000000), // name = ServerInformationList
- CORBA::tk_sequence, // typecode kind
- 852, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_struct, // typecode kind
- 836, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 51,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x76657249),
- ACE_NTOHL (0x6e666f72),
- ACE_NTOHL (0x6d617469),
- ACE_NTOHL (0x6f6e3a31),
- ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformation:1.0
- 18,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x6572496e),
- ACE_NTOHL (0x666f726d),
- ACE_NTOHL (0x6174696f),
- ACE_NTOHL (0x6e000000), // name = ServerInformation
- 4, // member count
- 15,
- ACE_NTOHL (0x6c6f6769),
- ACE_NTOHL (0x63616c5f),
- ACE_NTOHL (0x73657276),
- ACE_NTOHL (0x65720000), // name = logical_server
- CORBA::tk_string,
- 0U, // string length
- 7,
- ACE_NTOHL (0x73657276),
- ACE_NTOHL (0x65720000), // name = server
- CORBA::tk_string,
- 0U, // string length
- 8,
- ACE_NTOHL (0x73746172),
- ACE_NTOHL (0x74757000), // name = startup
- CORBA::tk_struct, // typecode kind
- 584, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f537461),
- ACE_NTOHL (0x72747570),
- ACE_NTOHL (0x4f707469),
- ACE_NTOHL (0x6f6e733a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0
- 15,
- ACE_NTOHL (0x53746172),
- ACE_NTOHL (0x7475704f),
- ACE_NTOHL (0x7074696f),
- ACE_NTOHL (0x6e730000), // name = StartupOptions
- 5, // member count
- 13,
- ACE_NTOHL (0x636f6d6d),
- ACE_NTOHL (0x616e645f),
- ACE_NTOHL (0x6c696e65),
- ACE_NTOHL (0x0), // name = command_line
- CORBA::tk_string,
- 0U, // string length
- 12,
- ACE_NTOHL (0x656e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7400), // name = environment
- CORBA::tk_alias, // typecode kind for typedefs
- 236, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 49,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x4c697374),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0
- 16,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e744c),
- ACE_NTOHL (0x69737400), // name = EnvironmentList
- CORBA::tk_sequence, // typecode kind
- 148, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- CORBA::tk_struct, // typecode kind
- 132, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 53,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f456e76),
- ACE_NTOHL (0x69726f6e),
- ACE_NTOHL (0x6d656e74),
- ACE_NTOHL (0x56617269),
- ACE_NTOHL (0x61626c65),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0
- 20,
- ACE_NTOHL (0x456e7669),
- ACE_NTOHL (0x726f6e6d),
- ACE_NTOHL (0x656e7456),
- ACE_NTOHL (0x61726961),
- ACE_NTOHL (0x626c6500), // name = EnvironmentVariable
- 2, // member count
- 5,
- ACE_NTOHL (0x6e616d65),
- ACE_NTOHL (0x0), // name = name
- CORBA::tk_string,
- 0U, // string length
- 6,
- ACE_NTOHL (0x76616c75),
- ACE_NTOHL (0x65000000), // name = value
- CORBA::tk_string,
- 0U, // string length
-
- 0U,
-
-
- 18,
- ACE_NTOHL (0x776f726b),
- ACE_NTOHL (0x696e675f),
- ACE_NTOHL (0x64697265),
- ACE_NTOHL (0x63746f72),
- ACE_NTOHL (0x79000000), // name = working_directory
- CORBA::tk_string,
- 0U, // string length
- 11,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e0000), // name = activation
- CORBA::tk_enum, // typecode kind
- 136, // encapsulation length
-TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416374),
- ACE_NTOHL (0x69766174),
- ACE_NTOHL (0x696f6e4d),
- ACE_NTOHL (0x6f64653a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0
- 15,
- ACE_NTOHL (0x41637469),
- ACE_NTOHL (0x76617469),
- ACE_NTOHL (0x6f6e4d6f),
- ACE_NTOHL (0x64650000), // name = ActivationMode
- 4, // member count
- 7,
- ACE_NTOHL (0x4e4f524d),
- ACE_NTOHL (0x414c0000), // name = NORMAL
- 7,
- ACE_NTOHL (0x4d414e55),
- ACE_NTOHL (0x414c0000), // name = MANUAL
- 11,
- ACE_NTOHL (0x5045525f),
- ACE_NTOHL (0x434c4945),
- ACE_NTOHL (0x4e540000), // name = PER_CLIENT
- 11,
- ACE_NTOHL (0x4155544f),
- ACE_NTOHL (0x5f535441),
- ACE_NTOHL (0x52540000), // name = AUTO_START
-
- 10,
- ACE_NTOHL (0x61637469),
- ACE_NTOHL (0x7661746f),
- ACE_NTOHL (0x72000000), // name = activator
- CORBA::tk_string,
- 0U, // string length
-
- 9,
- ACE_NTOHL (0x6c6f6361),
- ACE_NTOHL (0x74696f6e),
- ACE_NTOHL (0x0), // name = location
- CORBA::tk_alias, // typecode kind for typedefs
- 72, // encapsulation length
- TAO_ENCAP_BYTE_ORDER, // byte order
- 41,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f416464),
- ACE_NTOHL (0x72657373),
- ACE_NTOHL (0x3a312e30),
- ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0
- 8,
- ACE_NTOHL (0x41646472),
- ACE_NTOHL (0x65737300), // name = Address
- CORBA::tk_string,
- 0U, // string length
-
-
- 0U,
-
-};
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformationList (
- CORBA::tk_alias,
- sizeof (_oc_ImplementationRepository_ServerInformationList),
- (char *) &_oc_ImplementationRepository_ServerInformationList,
- 0,
- sizeof (ImplementationRepository::ServerInformationList)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_ServerInformationList =
- &_tc_TAO_tc_ImplementationRepository_ServerInformationList;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_cs.cpp:60
-
-// Traits specializations for ImplementationRepository::Administration.
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::Administration_ptr
-TAO::Objref_Traits<ImplementationRepository::Administration>::duplicate (
- ImplementationRepository::Administration_ptr p
- )
-{
- return ImplementationRepository::Administration::_duplicate (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-void
-TAO::Objref_Traits<ImplementationRepository::Administration>::release (
- ImplementationRepository::Administration_ptr p
- )
-{
- CORBA::release (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::Administration_ptr
-TAO::Objref_Traits<ImplementationRepository::Administration>::nil (void)
-{
- return ImplementationRepository::Administration::_nil ();
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-CORBA::Boolean
-TAO::Objref_Traits<ImplementationRepository::Administration>::marshal (
- ImplementationRepository::Administration_ptr p,
- TAO_OutputCDR & cdr
- )
-{
- return CORBA::Object::marshal (p, cdr);
-}
-
-// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- ) = 0;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::activate_server (
- const char * server
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_activate_server_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- },
-
- {
- "IDL:ImplementationRepository/CannotActivate:1.0",
- ImplementationRepository::CannotActivate::_alloc,
- ImplementationRepository::_tc_CannotActivate
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 2,
- "activate_server",
- 15,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_activate_server_exceptiondata,
- 2
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-char * ImplementationRepository::Administration::activate_server_with_startup (
- const char * server,
- ::CORBA::Long check_startup
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< CORBA::Long>::in_arg_val _tao_check_startup (check_startup);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_check_startup
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_activate_server_with_startup_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- },
-
- {
- "IDL:ImplementationRepository/CannotActivate:1.0",
- ImplementationRepository::CannotActivate::_alloc,
- ImplementationRepository::_tc_CannotActivate
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "activate_server_with_startup",
- 28,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_activate_server_with_startup_exceptiondata,
- 2
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (_tao_retval.excp ());
-
- return _tao_retval.retn ();
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::register_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val _tao_options (options);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_options
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_register_server_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/AlreadyRegistered:1.0",
- ImplementationRepository::AlreadyRegistered::_alloc,
- ImplementationRepository::_tc_AlreadyRegistered
- },
-
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "register_server",
- 15,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_register_server_exceptiondata,
- 2
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::reregister_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val _tao_options (options);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_options
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_reregister_server_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/AlreadyRegistered:1.0",
- ImplementationRepository::AlreadyRegistered::_alloc,
- ImplementationRepository::_tc_AlreadyRegistered
- },
-
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "reregister_server",
- 17,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_reregister_server_exceptiondata,
- 2
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::remove_server (
- const char * server
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_remove_server_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 2,
- "remove_server",
- 13,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_remove_server_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::shutdown_server (
- const char * server
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 2,
- "shutdown_server",
- 15,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::server_is_running (
- const char * server,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val _tao_addr (addr);
- TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val _tao_server_object (server_object);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_addr,
- &_tao_server_object
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_server_is_running_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 4,
- "server_is_running",
- 17,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_server_is_running_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::server_is_shutting_down (
- const char * server
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 2,
- "server_is_shutting_down",
- 23,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::find (
- const char * server,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_server (server);
- TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val _tao_info (info);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_server,
- &_tao_info
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_find_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "find",
- 4,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_find_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::list (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list,
- ::ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
- TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_how_many (how_many);
- TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val _tao_server_list (server_list);
- TAO::Arg_Traits< ::ImplementationRepository::ServerInformationIterator>::out_arg_val _tao_server_iterator (server_iterator);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_how_many,
- &_tao_server_list,
- &_tao_server_iterator
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 4,
- "list",
- 4,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::Administration::shutdown_repo (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 1,
- "shutdown_repo",
- 13,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-char * ImplementationRepository::Administration::find_ior (
- const char * object_name
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_Administration_Proxy_Broker_ == 0)
- {
- ImplementationRepository_Administration_setup_collocation ();
- }
-
- TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;
- TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_object_name (object_name);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_object_name
- };
-
- static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_find_ior_exceptiondata [] =
- {
- {
- "IDL:ImplementationRepository/NotFound:1.0",
- ImplementationRepository::NotFound::_alloc,
- ImplementationRepository::_tc_NotFound
- }
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 2,
- "find_ior",
- 8,
- this->the_TAO_Administration_Proxy_Broker_
- );
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_find_ior_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK_RETURN (_tao_retval.excp ());
-
- return _tao_retval.retn ();
-}
-
-ImplementationRepository::Administration::Administration (void)
- : the_TAO_Administration_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_Administration_setup_collocation ();
-}
-
-void
-ImplementationRepository::Administration::ImplementationRepository_Administration_setup_collocation ()
-{
- if (::ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer)
- {
- this->the_TAO_Administration_Proxy_Broker_ =
- ::ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer (this);
- }
-}
-
-ImplementationRepository::Administration::~Administration (void)
-{}
-
-void
-ImplementationRepository::Administration::_tao_any_destructor (void *_tao_void_pointer)
-{
- Administration *_tao_tmp_pointer =
- static_cast<Administration *> (_tao_void_pointer);
- CORBA::release (_tao_tmp_pointer);
-}
-
-ImplementationRepository::Administration_ptr
-ImplementationRepository::Administration::_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<Administration>::narrow (
- _tao_objref,
- "IDL:ImplementationRepository/Administration:1.0",
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::Administration_ptr
-ImplementationRepository::Administration::_unchecked_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<Administration>::unchecked_narrow (
- _tao_objref,
- "IDL:ImplementationRepository/Administration:1.0",
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::Administration_ptr
-ImplementationRepository::Administration::_duplicate (Administration_ptr obj)
-{
- if (! CORBA::is_nil (obj))
- {
- obj->_add_ref ();
- }
-
- return obj;
-}
-
-CORBA::Boolean
-ImplementationRepository::Administration::_is_a (
- const char *value
- ACE_ENV_ARG_DECL
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Administration:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1; // success using local knowledge
- }
- else
- {
- return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
- value
- ACE_ENV_ARG_PARAMETER
- );
- }
-}
-
-const char* ImplementationRepository::Administration::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/Administration:1.0";
-}
-
-CORBA::Boolean
-ImplementationRepository::Administration::marshal (TAO_OutputCDR &cdr)
-{
- return (cdr << this);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_Administration[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 48,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f41646d),
- ACE_NTOHL (0x696e6973),
- ACE_NTOHL (0x74726174),
- ACE_NTOHL (0x696f6e3a),
- ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/Administration:1.0
- 15,
- ACE_NTOHL (0x41646d69),
- ACE_NTOHL (0x6e697374),
- ACE_NTOHL (0x72617469),
- ACE_NTOHL (0x6f6e0000), // name = Administration
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Administration (
- CORBA::tk_objref,
- sizeof (_oc_ImplementationRepository_Administration),
- (char *) &_oc_ImplementationRepository_Administration,
- 0,
- sizeof (ImplementationRepository::Administration)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_Administration =
- &_tc_TAO_tc_ImplementationRepository_Administration;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_cs.cpp:60
-
-// Traits specializations for ImplementationRepository::ServerInformationIterator.
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::ServerInformationIterator_ptr
-TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>::duplicate (
- ImplementationRepository::ServerInformationIterator_ptr p
- )
-{
- return ImplementationRepository::ServerInformationIterator::_duplicate (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-void
-TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>::release (
- ImplementationRepository::ServerInformationIterator_ptr p
- )
-{
- CORBA::release (p);
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-ImplementationRepository::ServerInformationIterator_ptr
-TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>::nil (void)
-{
- return ImplementationRepository::ServerInformationIterator::_nil ();
-}
-
-ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
-CORBA::Boolean
-TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>::marshal (
- ImplementationRepository::ServerInformationIterator_ptr p,
- TAO_OutputCDR & cdr
- )
-{
- return CORBA::Object::marshal (p, cdr);
-}
-
-// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- ) = 0;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-CORBA::Boolean ImplementationRepository::ServerInformationIterator::next_n (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_ServerInformationIterator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_ServerInformationIterator_setup_collocation ();
- }
-
- TAO::Arg_Traits< ACE_InputCDR::to_boolean>::ret_val _tao_retval;
- TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_how_many (how_many);
- TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val _tao_server_list (server_list);
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval,
- &_tao_how_many,
- &_tao_server_list
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 3,
- "next_n",
- 6,
- this->the_TAO_ServerInformationIterator_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (_tao_retval.excp ());
-
- return _tao_retval.retn ();
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_cs.cpp:78
-
-void ImplementationRepository::ServerInformationIterator::destroy (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- if (!this->is_evaluated ())
- {
- ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
- }
-
- if (this->the_TAO_ServerInformationIterator_Proxy_Broker_ == 0)
- {
- ImplementationRepository_ServerInformationIterator_setup_collocation ();
- }
-
- TAO::Arg_Traits< void>::ret_val _tao_retval;
-
- TAO::Argument *_the_tao_operation_signature [] =
- {
- &_tao_retval
- };
-
- TAO::Invocation_Adapter _tao_call (
- this,
- _the_tao_operation_signature,
- 1,
- "destroy",
- 7,
- this->the_TAO_ServerInformationIterator_Proxy_Broker_
- );
-
- _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-}
-
-ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void)
- : the_TAO_ServerInformationIterator_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_ServerInformationIterator_setup_collocation ();
-}
-
-void
-ImplementationRepository::ServerInformationIterator::ImplementationRepository_ServerInformationIterator_setup_collocation ()
-{
- if (::ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer)
- {
- this->the_TAO_ServerInformationIterator_Proxy_Broker_ =
- ::ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer (this);
- }
-}
-
-ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void)
-{}
-
-void
-ImplementationRepository::ServerInformationIterator::_tao_any_destructor (void *_tao_void_pointer)
-{
- ServerInformationIterator *_tao_tmp_pointer =
- static_cast<ServerInformationIterator *> (_tao_void_pointer);
- CORBA::release (_tao_tmp_pointer);
-}
-
-ImplementationRepository::ServerInformationIterator_ptr
-ImplementationRepository::ServerInformationIterator::_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<ServerInformationIterator>::narrow (
- _tao_objref,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0",
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::ServerInformationIterator_ptr
-ImplementationRepository::ServerInformationIterator::_unchecked_narrow (
- CORBA::Object_ptr _tao_objref
- ACE_ENV_ARG_DECL
- )
-{
- return
- TAO::Narrow_Utils<ServerInformationIterator>::unchecked_narrow (
- _tao_objref,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0",
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer
- ACE_ENV_ARG_PARAMETER
- );
-}
-
-ImplementationRepository::ServerInformationIterator_ptr
-ImplementationRepository::ServerInformationIterator::_duplicate (ServerInformationIterator_ptr obj)
-{
- if (! CORBA::is_nil (obj))
- {
- obj->_add_ref ();
- }
-
- return obj;
-}
-
-CORBA::Boolean
-ImplementationRepository::ServerInformationIterator::_is_a (
- const char *value
- ACE_ENV_ARG_DECL
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1; // success using local knowledge
- }
- else
- {
- return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
- value
- ACE_ENV_ARG_PARAMETER
- );
- }
-}
-
-const char* ImplementationRepository::ServerInformationIterator::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/ServerInformationIterator:1.0";
-}
-
-CORBA::Boolean
-ImplementationRepository::ServerInformationIterator::marshal (TAO_OutputCDR &cdr)
-{
- return (cdr << this);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_defn.cpp:290
-
-static const CORBA::Long _oc_ImplementationRepository_ServerInformationIterator[] =
-{
- TAO_ENCAP_BYTE_ORDER, // byte order
- 59,
- ACE_NTOHL (0x49444c3a),
- ACE_NTOHL (0x496d706c),
- ACE_NTOHL (0x656d656e),
- ACE_NTOHL (0x74617469),
- ACE_NTOHL (0x6f6e5265),
- ACE_NTOHL (0x706f7369),
- ACE_NTOHL (0x746f7279),
- ACE_NTOHL (0x2f536572),
- ACE_NTOHL (0x76657249),
- ACE_NTOHL (0x6e666f72),
- ACE_NTOHL (0x6d617469),
- ACE_NTOHL (0x6f6e4974),
- ACE_NTOHL (0x65726174),
- ACE_NTOHL (0x6f723a31),
- ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformationIterator:1.0
- 26,
- ACE_NTOHL (0x53657276),
- ACE_NTOHL (0x6572496e),
- ACE_NTOHL (0x666f726d),
- ACE_NTOHL (0x6174696f),
- ACE_NTOHL (0x6e497465),
- ACE_NTOHL (0x7261746f),
- ACE_NTOHL (0x72000000), // name = ServerInformationIterator
- };
-
-static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformationIterator (
- CORBA::tk_objref,
- sizeof (_oc_ImplementationRepository_ServerInformationIterator),
- (char *) &_oc_ImplementationRepository_ServerInformationIterator,
- 0,
- sizeof (ImplementationRepository::ServerInformationIterator)
- );
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr _tc_ServerInformationIterator =
- &_tc_TAO_tc_ImplementationRepository_ServerInformationIterator;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Impl_T<ImplementationRepository::ServerObject>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
-{
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return 1;
-}
-
-// Copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerObject_ptr _tao_elem
- )
-{
- ImplementationRepository::ServerObject_ptr _tao_objptr =
- ImplementationRepository::ServerObject::_duplicate (_tao_elem);
- _tao_any <<= &_tao_objptr;
-}
-
-// Non-copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerObject_ptr *_tao_elem
- )
-{
- TAO::Any_Impl_T<ImplementationRepository::ServerObject>::insert (
- _tao_any,
- ImplementationRepository::ServerObject::_tao_any_destructor,
- ImplementationRepository::_tc_ServerObject,
- *_tao_elem
- );
-}
-
-CORBA::Boolean
-operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::ServerObject_ptr &_tao_elem
- )
-{
- return
- TAO::Any_Impl_T<ImplementationRepository::ServerObject>::extract (
- _tao_any,
- ImplementationRepository::ServerObject::_tao_any_destructor,
- ImplementationRepository::_tc_ServerObject,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::demarshal_value (
- TAO_InputCDR & cdr
- )
-{
- CORBA::String_var id;
-
- if ((cdr >> id.out ()) == 0)
- {
- return 0;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 1;
-}
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::AlreadyRegistered &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::insert_copy (
- _tao_any,
- ImplementationRepository::AlreadyRegistered::_tao_any_destructor,
- ImplementationRepository::_tc_AlreadyRegistered,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::AlreadyRegistered *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::insert (
- _tao_any,
- ImplementationRepository::AlreadyRegistered::_tao_any_destructor,
- ImplementationRepository::_tc_AlreadyRegistered,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::AlreadyRegistered *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::AlreadyRegistered *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::AlreadyRegistered *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::extract (
- _tao_any,
- ImplementationRepository::AlreadyRegistered::_tao_any_destructor,
- ImplementationRepository::_tc_AlreadyRegistered,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::demarshal_value (
- TAO_InputCDR & cdr
- )
-{
- CORBA::String_var id;
-
- if ((cdr >> id.out ()) == 0)
- {
- return 0;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 1;
-}
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::CannotActivate &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::insert_copy (
- _tao_any,
- ImplementationRepository::CannotActivate::_tao_any_destructor,
- ImplementationRepository::_tc_CannotActivate,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::CannotActivate *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::insert (
- _tao_any,
- ImplementationRepository::CannotActivate::_tao_any_destructor,
- ImplementationRepository::_tc_CannotActivate,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::CannotActivate *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::CannotActivate *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::CannotActivate *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::extract (
- _tao_any,
- ImplementationRepository::CannotActivate::_tao_any_destructor,
- ImplementationRepository::_tc_CannotActivate,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Dual_Impl_T<ImplementationRepository::NotFound>::demarshal_value (
- TAO_InputCDR & cdr
- )
-{
- CORBA::String_var id;
-
- if ((cdr >> id.out ()) == 0)
- {
- return 0;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return 0;
- }
- ACE_ENDTRY;
-
- return 1;
-}
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::NotFound &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::NotFound>::insert_copy (
- _tao_any,
- ImplementationRepository::NotFound::_tao_any_destructor,
- ImplementationRepository::_tc_NotFound,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::NotFound *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::NotFound>::insert (
- _tao_any,
- ImplementationRepository::NotFound::_tao_any_destructor,
- ImplementationRepository::_tc_NotFound,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::NotFound *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::NotFound *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::NotFound *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::NotFound>::extract (
- _tao_any,
- ImplementationRepository::NotFound::_tao_any_destructor,
- ImplementationRepository::_tc_NotFound,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::EnvironmentVariable &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentVariable>::insert_copy (
- _tao_any,
- ImplementationRepository::EnvironmentVariable::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentVariable,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::EnvironmentVariable *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentVariable>::insert (
- _tao_any,
- ImplementationRepository::EnvironmentVariable::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentVariable,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::EnvironmentVariable *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::EnvironmentVariable *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::EnvironmentVariable *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentVariable>::extract (
- _tao_any,
- ImplementationRepository::EnvironmentVariable::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentVariable,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::EnvironmentList &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentList>::insert_copy (
- _tao_any,
- ImplementationRepository::EnvironmentList::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentList,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::EnvironmentList *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentList>::insert (
- _tao_any,
- ImplementationRepository::EnvironmentList::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentList,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::EnvironmentList *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::EnvironmentList *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::EnvironmentList *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::EnvironmentList>::extract (
- _tao_any,
- ImplementationRepository::EnvironmentList::_tao_any_destructor,
- ImplementationRepository::_tc_EnvironmentList,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_enum/any_op_cs.cpp:52
-
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ActivationMode _tao_elem
- )
-{
- TAO::Any_Basic_Impl_T<ImplementationRepository::ActivationMode>::insert (
- _tao_any,
- ImplementationRepository::_tc_ActivationMode,
- _tao_elem
- );
-}
-
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::ActivationMode &_tao_elem
- )
-{
- return
- TAO::Any_Basic_Impl_T<ImplementationRepository::ActivationMode>::extract (
- _tao_any,
- ImplementationRepository::_tc_ActivationMode,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::StartupOptions &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::StartupOptions>::insert_copy (
- _tao_any,
- ImplementationRepository::StartupOptions::_tao_any_destructor,
- ImplementationRepository::_tc_StartupOptions,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::StartupOptions *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::StartupOptions>::insert (
- _tao_any,
- ImplementationRepository::StartupOptions::_tao_any_destructor,
- ImplementationRepository::_tc_StartupOptions,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::StartupOptions *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::StartupOptions *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::StartupOptions *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::StartupOptions>::extract (
- _tao_any,
- ImplementationRepository::StartupOptions::_tao_any_destructor,
- ImplementationRepository::_tc_StartupOptions,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::ServerInformation &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformation>::insert_copy (
- _tao_any,
- ImplementationRepository::ServerInformation::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformation,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformation *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformation>::insert (
- _tao_any,
- ImplementationRepository::ServerInformation::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformation,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformation *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::ServerInformation *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::ServerInformation *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformation>::extract (
- _tao_any,
- ImplementationRepository::ServerInformation::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformation,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_cs.cpp:54
-
-// Copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- const ImplementationRepository::ServerInformationList &_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformationList>::insert_copy (
- _tao_any,
- ImplementationRepository::ServerInformationList::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformationList,
- _tao_elem
- );
-}
-
-// Non-copying insertion.
-void operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformationList *_tao_elem
- )
-{
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformationList>::insert (
- _tao_any,
- ImplementationRepository::ServerInformationList::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformationList,
- _tao_elem
- );
-}
-
-// Extraction to non-const pointer (deprecated).
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformationList *&_tao_elem
- )
-{
- return _tao_any >>= const_cast<
- const ImplementationRepository::ServerInformationList *&> (
- _tao_elem
- );
-}
-
-// Extraction to const pointer.
-CORBA::Boolean operator>>= (
- const CORBA::Any &_tao_any,
- const ImplementationRepository::ServerInformationList *&_tao_elem
- )
-{
- return
- TAO::Any_Dual_Impl_T<ImplementationRepository::ServerInformationList>::extract (
- _tao_any,
- ImplementationRepository::ServerInformationList::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformationList,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Impl_T<ImplementationRepository::Administration>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
-{
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return 1;
-}
-
-// Copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::Administration_ptr _tao_elem
- )
-{
- ImplementationRepository::Administration_ptr _tao_objptr =
- ImplementationRepository::Administration::_duplicate (_tao_elem);
- _tao_any <<= &_tao_objptr;
-}
-
-// Non-copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::Administration_ptr *_tao_elem
- )
-{
- TAO::Any_Impl_T<ImplementationRepository::Administration>::insert (
- _tao_any,
- ImplementationRepository::Administration::_tao_any_destructor,
- ImplementationRepository::_tc_Administration,
- *_tao_elem
- );
-}
-
-CORBA::Boolean
-operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::Administration_ptr &_tao_elem
- )
-{
- return
- TAO::Any_Impl_T<ImplementationRepository::Administration>::extract (
- _tao_any,
- ImplementationRepository::Administration::_tao_any_destructor,
- ImplementationRepository::_tc_Administration,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_cs.cpp:50
-
-ACE_TEMPLATE_SPECIALIZATION
-CORBA::Boolean
-TAO::Any_Impl_T<ImplementationRepository::ServerInformationIterator>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
-{
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return 1;
-}
-
-// Copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformationIterator_ptr _tao_elem
- )
-{
- ImplementationRepository::ServerInformationIterator_ptr _tao_objptr =
- ImplementationRepository::ServerInformationIterator::_duplicate (_tao_elem);
- _tao_any <<= &_tao_objptr;
-}
-
-// Non-copying insertion.
-void
-operator<<= (
- CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformationIterator_ptr *_tao_elem
- )
-{
- TAO::Any_Impl_T<ImplementationRepository::ServerInformationIterator>::insert (
- _tao_any,
- ImplementationRepository::ServerInformationIterator::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformationIterator,
- *_tao_elem
- );
-}
-
-CORBA::Boolean
-operator>>= (
- const CORBA::Any &_tao_any,
- ImplementationRepository::ServerInformationIterator_ptr &_tao_elem
- )
-{
- return
- TAO::Any_Impl_T<ImplementationRepository::ServerInformationIterator>::extract (
- _tao_any,
- ImplementationRepository::ServerInformationIterator::_tao_any_destructor,
- ImplementationRepository::_tc_ServerInformationIterator,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_cs.cpp:63
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::ServerObject_ptr _tao_objref
- )
-{
- CORBA::Object_ptr _tao_corba_obj = _tao_objref;
- return (strm << _tao_corba_obj);
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::ServerObject_ptr &_tao_objref
- )
-{
- CORBA::Object_var obj;
-
- if ((strm >> obj.inout ()) == 0)
- {
- return 0;
- }
-
- typedef ::ImplementationRepository::ServerObject RHS_SCOPED_NAME;
-
- // Narrow to the right type.
- _tao_objref =
- TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer
- );
-
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_cs.cpp:60
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::AlreadyRegistered &_tao_aggregate
- )
-{
- // First marshal the repository ID.
- if (strm << _tao_aggregate._rep_id ())
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &,
- ImplementationRepository::AlreadyRegistered&
- )
-{
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_cs.cpp:60
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::CannotActivate &_tao_aggregate
- )
-{
- // First marshal the repository ID.
- if (strm << _tao_aggregate._rep_id ())
- {
- // Now marshal the members (if any).
- if (
- (strm << _tao_aggregate.reason.in ())
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::CannotActivate &_tao_aggregate
- )
-{
- // Demarshal the members.
- if (
- (strm >> _tao_aggregate.reason.out ())
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_cs.cpp:60
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::NotFound &_tao_aggregate
- )
-{
- // First marshal the repository ID.
- if (strm << _tao_aggregate._rep_id ())
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &,
- ImplementationRepository::NotFound&
- )
-{
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_cs.cpp:61
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::EnvironmentVariable &_tao_aggregate
- )
-{
- return
- (strm << _tao_aggregate.name.in ()) &&
- (strm << _tao_aggregate.value.in ());
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::EnvironmentVariable &_tao_aggregate
- )
-{
- return
- (strm >> _tao_aggregate.name.out ()) &&
- (strm >> _tao_aggregate.value.out ());
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:96
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_EnvironmentList_CPP_
-#define _TAO_CDR_OP_ImplementationRepository_EnvironmentList_CPP_
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::EnvironmentList &_tao_sequence
- )
-{
- const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
-
- if (strm << _tao_seq_len)
- {
- // Encode all elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm << _tao_sequence[i]);
- }
-
- return _tao_marshal_flag;
- }
-
- return 0;
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::EnvironmentList &_tao_sequence
- )
-{
- CORBA::ULong _tao_seq_len;
-
- if (strm >> _tao_seq_len)
- {
- // Add a check to the length of the sequence
- // to make sure it does not exceed the length
- // of the stream. (See bug 58.)
- if (_tao_seq_len > strm.length ())
- {
- return 0;
- }
-
- // Set the length of the sequence.
- _tao_sequence.length (_tao_seq_len);
-
- // If length is 0 we return true.
- if (0 >= _tao_seq_len)
- {
- return 1;
- }
-
- // Retrieve all the elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm >> _tao_sequence[i]);
- }
-
- return _tao_marshal_flag;
-
- }
-
- return 0;
-}
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_CPP_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_enum/cdr_op_cs.cpp:51
-
-CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::ActivationMode &_tao_enumval)
-{
- CORBA::ULong _tao_temp = _tao_enumval;
- return strm << _tao_temp;
-}
-
-CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::ActivationMode &_tao_enumval)
-{
- CORBA::ULong _tao_temp = 0;
- CORBA::Boolean _tao_result = strm >> _tao_temp;
-
- if (_tao_result == 1)
- {
- _tao_enumval = static_cast<ImplementationRepository::ActivationMode> (_tao_temp);
- }
-
- return _tao_result;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_cs.cpp:61
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::StartupOptions &_tao_aggregate
- )
-{
- return
- (strm << _tao_aggregate.command_line.in ()) &&
- (strm << _tao_aggregate.environment) &&
- (strm << _tao_aggregate.working_directory.in ()) &&
- (strm << _tao_aggregate.activation) &&
- (strm << _tao_aggregate.activator.in ());
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::StartupOptions &_tao_aggregate
- )
-{
- return
- (strm >> _tao_aggregate.command_line.out ()) &&
- (strm >> _tao_aggregate.environment) &&
- (strm >> _tao_aggregate.working_directory.out ()) &&
- (strm >> _tao_aggregate.activation) &&
- (strm >> _tao_aggregate.activator.out ());
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_cs.cpp:61
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::ServerInformation &_tao_aggregate
- )
-{
- return
- (strm << _tao_aggregate.logical_server.in ()) &&
- (strm << _tao_aggregate.server.in ()) &&
- (strm << _tao_aggregate.startup) &&
- (strm << _tao_aggregate.location.in ());
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::ServerInformation &_tao_aggregate
- )
-{
- return
- (strm >> _tao_aggregate.logical_server.out ()) &&
- (strm >> _tao_aggregate.server.out ()) &&
- (strm >> _tao_aggregate.startup) &&
- (strm >> _tao_aggregate.location.out ());
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_cs.cpp:96
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_ServerInformationList_CPP_
-#define _TAO_CDR_OP_ImplementationRepository_ServerInformationList_CPP_
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::ServerInformationList &_tao_sequence
- )
-{
- const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
-
- if (strm << _tao_seq_len)
- {
- // Encode all elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm << _tao_sequence[i]);
- }
-
- return _tao_marshal_flag;
- }
-
- return 0;
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::ServerInformationList &_tao_sequence
- )
-{
- CORBA::ULong _tao_seq_len;
-
- if (strm >> _tao_seq_len)
- {
- // Add a check to the length of the sequence
- // to make sure it does not exceed the length
- // of the stream. (See bug 58.)
- if (_tao_seq_len > strm.length ())
- {
- return 0;
- }
-
- // Set the length of the sequence.
- _tao_sequence.length (_tao_seq_len);
-
- // If length is 0 we return true.
- if (0 >= _tao_seq_len)
- {
- return 1;
- }
-
- // Retrieve all the elements.
- CORBA::Boolean _tao_marshal_flag = 1;
-
- for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
- {
- _tao_marshal_flag = (strm >> _tao_sequence[i]);
- }
-
- return _tao_marshal_flag;
-
- }
-
- return 0;
-}
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_CPP_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_cs.cpp:63
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::Administration_ptr _tao_objref
- )
-{
- CORBA::Object_ptr _tao_corba_obj = _tao_objref;
- return (strm << _tao_corba_obj);
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::Administration_ptr &_tao_objref
- )
-{
- CORBA::Object_var obj;
-
- if ((strm >> obj.inout ()) == 0)
- {
- return 0;
- }
-
- typedef ::ImplementationRepository::Administration RHS_SCOPED_NAME;
-
- // Narrow to the right type.
- _tao_objref =
- TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer
- );
-
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_cs.cpp:63
-
-CORBA::Boolean operator<< (
- TAO_OutputCDR &strm,
- const ImplementationRepository::ServerInformationIterator_ptr _tao_objref
- )
-{
- CORBA::Object_ptr _tao_corba_obj = _tao_objref;
- return (strm << _tao_corba_obj);
-}
-
-CORBA::Boolean operator>> (
- TAO_InputCDR &strm,
- ImplementationRepository::ServerInformationIterator_ptr &_tao_objref
- )
-{
- CORBA::Object_var obj;
-
- if ((strm >> obj.inout ()) == 0)
- {
- return 0;
- }
-
- typedef ::ImplementationRepository::ServerInformationIterator RHS_SCOPED_NAME;
-
- // Narrow to the right type.
- _tao_objref =
- TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer
- );
-
- return 1;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:1628
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_
-
- template class
- TAO::Arg_Traits<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO::Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::Objref_Traits<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO_Objref_Var_T<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO_Objref_Out_T<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO::Narrow_Utils<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO::Any_Impl_T<
- ImplementationRepository::ServerObject
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::AlreadyRegistered
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::CannotActivate
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::NotFound
- >;
-
- template class
- TAO_Var_Var_T<
- ImplementationRepository::EnvironmentVariable
- >;
-
- template class
- TAO_Var_Base_T<
- ImplementationRepository::EnvironmentVariable
- >;
-
- template class
- TAO_Out_T<
- ImplementationRepository::EnvironmentVariable,
- ImplementationRepository::EnvironmentVariable_var
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::EnvironmentVariable
- >;
-
- template class
- TAO_VarSeq_Var_T<
- ImplementationRepository::EnvironmentList,
- ImplementationRepository::EnvironmentVariable
- >;
-
- template class
- TAO_Seq_Var_Base_T<
- ImplementationRepository::EnvironmentList,
- ImplementationRepository::EnvironmentVariable
- >;
-
- template class
- TAO_Seq_Out_T<
- ImplementationRepository::EnvironmentList,
- ImplementationRepository::EnvironmentList_var,
- ImplementationRepository::EnvironmentVariable
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTVARIABLE__EXPLICIT_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTVARIABLE__EXPLICIT_CS_
-
- template class
- TAO_Unbounded_Sequence<
- ImplementationRepository::EnvironmentVariable
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::EnvironmentList
- >;
-
- template class
- TAO::Any_Basic_Impl_T<
- ImplementationRepository::ActivationMode
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::StartupOptions>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO_Var_Var_T<
- ImplementationRepository::StartupOptions
- >;
-
- template class
- TAO_Var_Base_T<
- ImplementationRepository::StartupOptions
- >;
-
- template class
- TAO_Out_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::StartupOptions
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::ServerInformation>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO_Var_Var_T<
- ImplementationRepository::ServerInformation
- >;
-
- template class
- TAO_Var_Base_T<
- ImplementationRepository::ServerInformation
- >;
-
- template class
- TAO_Out_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var
- >;
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::ServerInformation
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_TMPLINST_CS_
-
- template class TAO::Arg_Traits<ImplementationRepository::ServerInformationList>;
-
- template class
- TAO::Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO_VarSeq_Var_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformation
- >;
-
- template class
- TAO_Seq_Var_Base_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformation
- >;
-
- template class
- TAO_Seq_Out_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformation
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__EXPLICIT_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__EXPLICIT_CS_
-
- template class
- TAO_Unbounded_Sequence<
- ImplementationRepository::ServerInformation
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::Any_Dual_Impl_T<
- ImplementationRepository::ServerInformationList
- >;
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_
-
- template class
- TAO::Arg_Traits<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO::Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::Out_Var_Size_Argument_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_out
- >;
-
- template class
- TAO::Objref_Traits<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO_Objref_Var_T<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO_Objref_Out_T<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO::Narrow_Utils<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO::Any_Impl_T<
- ImplementationRepository::ServerInformationIterator
- >;
-
- template class
- TAO::In_Var_Size_Argument_T<
- ImplementationRepository::StartupOptions
- >;
-
- template class
- TAO::In_Object_Argument_T<
- ImplementationRepository::ServerObject_ptr
- >;
-
- template class
- TAO::Out_Var_Size_Argument_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_out
- >;
-
- template class
- TAO::Out_Object_Argument_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_out
- >;
-
- template class
- TAO::Objref_Traits<
- ImplementationRepository::Administration
- >;
-
- template class
- TAO_Objref_Var_T<
- ImplementationRepository::Administration
- >;
-
- template class
- TAO_Objref_Out_T<
- ImplementationRepository::Administration
- >;
-
- template class
- TAO::Narrow_Utils<
- ImplementationRepository::Administration
- >;
-
- template class
- TAO::Any_Impl_T<
- ImplementationRepository::Administration
- >;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate \
- TAO::Arg_Traits< \
- ImplementationRepository::ServerObject \
- >
-
-# pragma instantiate \
- TAO::Object_Arg_Traits_T< \
- ImplementationRepository::ServerObject_ptr, \
- ImplementationRepository::ServerObject_var, \
- ImplementationRepository::ServerObject_out, \
- TAO::Objref_Traits<ImplementationRepository::ServerObject> \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::Objref_Traits< \
- ImplementationRepository::ServerObject \
- >
-
-# pragma instantiate \
- TAO_Objref_Var_T< \
- ImplementationRepository::ServerObject
- >
-
-# pragma instantiate \
- TAO_Objref_Out_T< \
- ImplementationRepository::ServerObject
- >
-
-# pragma instantiate \
- TAO::Narrow_Utils< \
- ImplementationRepository::ServerObject \
- >
-
-# pragma instantiate \
- TAO::Any_Impl_T< \
- ImplementationRepository::ServerObject \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::AlreadyRegistered \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::CannotActivate \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::NotFound \
- >
-
-# pragma instantiate \
- TAO_Var_Var_T< \
- ImplementationRepository::EnvironmentVariable \
- >
-
-# pragma instantiate \
- TAO_Var_Base_T< \
- ImplementationRepository::EnvironmentVariable \
- >
-
-# pragma instantiate \
- TAO_Out_T< \
- ImplementationRepository::EnvironmentVariable, \
- ImplementationRepository::EnvironmentVariable_var \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::EnvironmentVariable \
- >
-
-# pragma instantiate \
- TAO_VarSeq_Var_T< \
- ImplementationRepository::EnvironmentList, \
- ImplementationRepository::EnvironmentVariable \
- >
-
-# pragma instantiate \
- TAO_Seq_Var_Base_T< \
- ImplementationRepository::EnvironmentList, \
- ImplementationRepository::EnvironmentVariable \
- >
-
-# pragma instantiate \
- TAO_Seq_Out_T< \
- ImplementationRepository::EnvironmentList, \
- ImplementationRepository::EnvironmentList_var, \
- ImplementationRepository::EnvironmentVariable \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTVARIABLE__EXPLICIT_CS_)
-#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTVARIABLE__EXPLICIT_CS_
-
-# pragma instantiate \
- TAO_Unbounded_Sequence< \
- ImplementationRepository::EnvironmentVariable \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::EnvironmentList \
- >
-
-# pragma instantiate \
- TAO::Any_Basic_Impl_T< \
- ImplementationRepository::ActivationMode \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::StartupOptions>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::StartupOptions, \
- ImplementationRepository::StartupOptions_var, \
- ImplementationRepository::StartupOptions_out \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO_Var_Var_T< \
- ImplementationRepository::StartupOptions \
- >
-
-# pragma instantiate \
- TAO_Var_Base_T< \
- ImplementationRepository::StartupOptions \
- >
-
-# pragma instantiate \
- TAO_Out_T< \
- ImplementationRepository::StartupOptions, \
- ImplementationRepository::StartupOptions_var \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::StartupOptions \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::ServerInformation>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_var, \
- ImplementationRepository::ServerInformation_out \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO_Var_Var_T< \
- ImplementationRepository::ServerInformation \
- >
-
-# pragma instantiate \
- TAO_Var_Base_T< \
- ImplementationRepository::ServerInformation \
- >
-
-# pragma instantiate \
- TAO_Out_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_var \
- >
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::ServerInformation \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate TAO::Arg_Traits<ImplementationRepository::ServerInformationList>
-
-# pragma instantiate \
- TAO::Var_Size_Arg_Traits_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_var, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO_VarSeq_Var_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformation \
- >
-
-# pragma instantiate \
- TAO_Seq_Var_Base_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformation \
- >
-
-# pragma instantiate \
- TAO_Seq_Out_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_var, \
- ImplementationRepository::ServerInformation \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__EXPLICIT_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__EXPLICIT_CS_
-
-# pragma instantiate \
- TAO_Unbounded_Sequence< \
- ImplementationRepository::ServerInformation \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::Any_Dual_Impl_T< \
- ImplementationRepository::ServerInformationList \
- >
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_TMPLINST_CS_
-
-# pragma instantiate \
- TAO::Arg_Traits< \
- ImplementationRepository::ServerInformationIterator \
- >
-
-# pragma instantiate \
- TAO::Object_Arg_Traits_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_var, \
- ImplementationRepository::ServerInformationIterator_out, \
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator> \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::Out_Var_Size_Argument_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-# pragma instantiate \
- TAO::Objref_Traits< \
- ImplementationRepository::ServerInformationIterator \
- >
-
-# pragma instantiate \
- TAO_Objref_Var_T< \
- ImplementationRepository::ServerInformationIterator
- >
-
-# pragma instantiate \
- TAO_Objref_Out_T< \
- ImplementationRepository::ServerInformationIterator
- >
-
-# pragma instantiate \
- TAO::Narrow_Utils< \
- ImplementationRepository::ServerInformationIterator \
- >
-
-# pragma instantiate \
- TAO::Any_Impl_T< \
- ImplementationRepository::ServerInformationIterator \
- >
-
-# pragma instantiate \
- TAO::In_Var_Size_Argument_T< \
- ImplementationRepository::StartupOptions \
- >
-
-# pragma instantiate \
- TAO::In_Object_Argument_T< \
- ImplementationRepository::ServerObject_ptr \
- >
-
-# pragma instantiate \
- TAO::Out_Var_Size_Argument_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_out \
- >
-
-# pragma instantiate \
- TAO::Out_Object_Argument_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_out \
- >
-
-# pragma instantiate \
- TAO::Objref_Traits< \
- ImplementationRepository::Administration \
- >
-
-# pragma instantiate \
- TAO_Objref_Var_T< \
- ImplementationRepository::Administration
- >
-
-# pragma instantiate \
- TAO_Objref_Out_T< \
- ImplementationRepository::Administration
- >
-
-# pragma instantiate \
- TAO::Narrow_Utils< \
- ImplementationRepository::Administration \
- >
-
-# pragma instantiate \
- TAO::Any_Impl_T< \
- ImplementationRepository::Administration \
- >
-
-#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/PortableServer/ImplRepoC.h b/TAO/tao/PortableServer/ImplRepoC.h
deleted file mode 100644
index 099445a71e4..00000000000
--- a/TAO/tao/PortableServer/ImplRepoC.h
+++ /dev/null
@@ -1,1312 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:171
-
-#ifndef _TAO_IDL_IMPLREPOC_H_
-#define _TAO_IDL_IMPLREPOC_H_
-
-#include /**/ "ace/pre.h"
-
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "portableserver_export.h"
-#include "tao/ORB.h"
-#include "tao/Environment.h"
-#include "tao/Object.h"
-#include "tao/Sequence_T.h"
-#include "tao/Objref_VarOut_T.h"
-#include "tao/Seq_Var_T.h"
-#include "tao/Seq_Out_T.h"
-#include "tao/VarOut_T.h"
-#include "tao/SystemException.h"
-
-#if defined (TAO_EXPORT_MACRO)
-#undef TAO_EXPORT_MACRO
-#endif
-#define TAO_EXPORT_MACRO TAO_PortableServer_Export
-
-#if defined (TAO_EXPORT_NESTED_CLASSES)
-# if defined (TAO_EXPORT_NESTED_MACRO)
-# undef TAO_EXPORT_NESTED_MACRO
-# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
-# define TAO_EXPORT_NESTED_MACRO TAO_PortableServer_Export
-#endif /* TAO_EXPORT_NESTED_CLASSES */
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root_ch.cpp:63
-
-namespace TAO
-{
- class Collocation_Proxy_Broker;
-
- template<typename T> class Narrow_Utils;
- template<typename T> class AbstractBase_Narrow_Utils;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:48
-
-namespace ImplementationRepository
-{
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:611
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__VAR_OUT_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__VAR_OUT_CH_
-
- class ServerObject;
- typedef ServerObject *ServerObject_ptr;
-
- typedef
- TAO_Objref_Var_T<
- ServerObject
- >
- ServerObject_var;
-
- typedef
- TAO_Objref_Out_T<
- ServerObject
- >
- ServerObject_out;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:54
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT_CH_
-
- class TAO_PortableServer_Export ServerObject
- : public virtual CORBA::Object
- {
- public:
- friend class TAO::Narrow_Utils<ServerObject>;
- typedef ServerObject_ptr _ptr_type;
- typedef ServerObject_var _var_type;
-
- // The static operations.
- static ServerObject_ptr _duplicate (ServerObject_ptr obj);
-
- static ServerObject_ptr _narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static ServerObject_ptr _unchecked_narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static ServerObject_ptr _nil (void)
- {
- return (ServerObject_ptr)0;
- }
-
- static void _tao_any_destructor (void *);
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void ping (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void shutdown (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:208
-
- virtual CORBA::Boolean _is_a (
- const char *type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
- virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
- private:
- TAO::Collocation_Proxy_Broker *the_TAO_ServerObject_Proxy_Broker_;
-
- protected:
- // Concrete interface only.
- ServerObject (void);
-
- // These methods travese the inheritance tree and set the
- // parents piece of the given class in the right mode.
- virtual void ImplementationRepository_ServerObject_setup_collocation (void);
-
- // Concrete non-local interface only.
- ServerObject (
- IOP::IOR *ior,
- TAO_ORB_Core *orb_core = 0
- );
-
- // Non-local interface only.
- ServerObject (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated = 0,
- TAO_Abstract_ServantBase *servant = 0,
- TAO_ORB_Core *orb_core = 0
- );
-
- virtual ~ServerObject (void);
-
- private:
- // Private and unimplemented for concrete interfaces.
- ServerObject (const ServerObject &);
-
- void operator= (const ServerObject &);
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerObject;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:51
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ALREADYREGISTERED_CH_)
-#define _IMPLEMENTATIONREPOSITORY_ALREADYREGISTERED_CH_
-
- class TAO_PortableServer_Export AlreadyRegistered : public CORBA::UserException
- {
- public:
-
- AlreadyRegistered (void);
- AlreadyRegistered (const AlreadyRegistered &);
- ~AlreadyRegistered (void);
-
- AlreadyRegistered &operator= (const AlreadyRegistered &);
-
- static void _tao_any_destructor (void *);
-
- static AlreadyRegistered *_downcast (CORBA::Exception *);
- static CORBA::Exception *_alloc (void);
-
- virtual CORBA::Exception *_tao_duplicate (void) const;
-
- virtual void _raise (void) const;
-
- virtual void _tao_encode (
- TAO_OutputCDR &
- ACE_ENV_ARG_DECL
- ) const;
-
- virtual void _tao_decode (
- TAO_InputCDR &
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:125
-
- virtual CORBA::TypeCode_ptr _type (void) const;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AlreadyRegistered;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:51
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_CANNOTACTIVATE_CH_)
-#define _IMPLEMENTATIONREPOSITORY_CANNOTACTIVATE_CH_
-
- class TAO_PortableServer_Export CannotActivate : public CORBA::UserException
- {
- public:
-
- TAO_String_Manager reason;
- CannotActivate (void);
- CannotActivate (const CannotActivate &);
- ~CannotActivate (void);
-
- CannotActivate &operator= (const CannotActivate &);
-
- static void _tao_any_destructor (void *);
-
- static CannotActivate *_downcast (CORBA::Exception *);
- static CORBA::Exception *_alloc (void);
-
- virtual CORBA::Exception *_tao_duplicate (void) const;
-
- virtual void _raise (void) const;
-
- virtual void _tao_encode (
- TAO_OutputCDR &
- ACE_ENV_ARG_DECL
- ) const;
-
- virtual void _tao_decode (
- TAO_InputCDR &
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ctor.cpp:66
-
- CannotActivate (
- const char * _tao_reason
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:125
-
- virtual CORBA::TypeCode_ptr _type (void) const;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CannotActivate;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:51
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_NOTFOUND_CH_)
-#define _IMPLEMENTATIONREPOSITORY_NOTFOUND_CH_
-
- class TAO_PortableServer_Export NotFound : public CORBA::UserException
- {
- public:
-
- NotFound (void);
- NotFound (const NotFound &);
- ~NotFound (void);
-
- NotFound &operator= (const NotFound &);
-
- static void _tao_any_destructor (void *);
-
- static NotFound *_downcast (CORBA::Exception *);
- static CORBA::Exception *_alloc (void);
-
- virtual CORBA::Exception *_tao_duplicate (void) const;
-
- virtual void _raise (void) const;
-
- virtual void _tao_encode (
- TAO_OutputCDR &
- ACE_ENV_ARG_DECL
- ) const;
-
- virtual void _tao_decode (
- TAO_InputCDR &
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/exception_ch.cpp:125
-
- virtual CORBA::TypeCode_ptr _type (void) const;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_NotFound;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_type.cpp:258
-
- struct EnvironmentVariable;
-
- typedef
- TAO_Var_Var_T<
- EnvironmentVariable
- >
- EnvironmentVariable_var;
-
- typedef
- TAO_Out_T<
- EnvironmentVariable,
- EnvironmentVariable_var
- >
- EnvironmentVariable_out;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_ch.cpp:52
-
- struct TAO_PortableServer_Export EnvironmentVariable
- {
- typedef EnvironmentVariable_var _var_type;
-
- static void _tao_any_destructor (void *);
- TAO_String_Manager name;
- TAO_String_Manager value;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_EnvironmentVariable;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typedef/typedef_ch.cpp:376
-
- typedef char * Address;
- typedef CORBA::String_var Address_var;
- typedef CORBA::String_out Address_out;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_Address;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_ch.cpp:101
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_)
-#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_
-
- class EnvironmentList;
-
- typedef
- TAO_VarSeq_Var_T<
- EnvironmentList,
- EnvironmentVariable
- >
- EnvironmentList_var;
-
- typedef
- TAO_Seq_Out_T<
- EnvironmentList,
- EnvironmentList_var,
- EnvironmentVariable
- >
- EnvironmentList_out;
-
- class TAO_PortableServer_Export EnvironmentList
- : public
- TAO_Unbounded_Sequence<
- EnvironmentVariable
- >
- {
- public:
- EnvironmentList (void);
- EnvironmentList (CORBA::ULong max);
- EnvironmentList (
- CORBA::ULong max,
- CORBA::ULong length,
- EnvironmentVariable* buffer,
- CORBA::Boolean release = 0
- );
- EnvironmentList (const EnvironmentList &);
- ~EnvironmentList (void);
-
- static void _tao_any_destructor (void *);
-
- typedef EnvironmentList_var _var_type;
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_EnvironmentList;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_enum/enum_ch.cpp:57
-
- enum ActivationMode
- {
- NORMAL,
- MANUAL,
- PER_CLIENT,
- AUTO_START
- };
-
- typedef ActivationMode &ActivationMode_out;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ActivationMode;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_type.cpp:258
-
- struct StartupOptions;
-
- typedef
- TAO_Var_Var_T<
- StartupOptions
- >
- StartupOptions_var;
-
- typedef
- TAO_Out_T<
- StartupOptions,
- StartupOptions_var
- >
- StartupOptions_out;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_ch.cpp:52
-
- struct TAO_PortableServer_Export StartupOptions
- {
- typedef StartupOptions_var _var_type;
-
- static void _tao_any_destructor (void *);
- TAO_String_Manager command_line;
- ImplementationRepository::EnvironmentList environment;
- TAO_String_Manager working_directory;
- ImplementationRepository::ActivationMode activation;
- TAO_String_Manager activator;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_StartupOptions;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_type.cpp:258
-
- struct ServerInformation;
-
- typedef
- TAO_Var_Var_T<
- ServerInformation
- >
- ServerInformation_var;
-
- typedef
- TAO_Out_T<
- ServerInformation,
- ServerInformation_var
- >
- ServerInformation_out;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/structure_ch.cpp:52
-
- struct TAO_PortableServer_Export ServerInformation
- {
- typedef ServerInformation_var _var_type;
-
- static void _tao_any_destructor (void *);
- TAO_String_Manager logical_server;
- TAO_String_Manager server;
- ImplementationRepository::StartupOptions startup;
- TAO_String_Manager location;
- };
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerInformation;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/sequence_ch.cpp:101
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_
-
- class ServerInformationList;
-
- typedef
- TAO_VarSeq_Var_T<
- ServerInformationList,
- ServerInformation
- >
- ServerInformationList_var;
-
- typedef
- TAO_Seq_Out_T<
- ServerInformationList,
- ServerInformationList_var,
- ServerInformation
- >
- ServerInformationList_out;
-
- class TAO_PortableServer_Export ServerInformationList
- : public
- TAO_Unbounded_Sequence<
- ServerInformation
- >
- {
- public:
- ServerInformationList (void);
- ServerInformationList (CORBA::ULong max);
- ServerInformationList (
- CORBA::ULong max,
- CORBA::ULong length,
- ServerInformation* buffer,
- CORBA::Boolean release = 0
- );
- ServerInformationList (const ServerInformationList &);
- ~ServerInformationList (void);
-
- static void _tao_any_destructor (void *);
-
- typedef ServerInformationList_var _var_type;
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerInformationList;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:611
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__VAR_OUT_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__VAR_OUT_CH_
-
- class ServerInformationIterator;
- typedef ServerInformationIterator *ServerInformationIterator_ptr;
-
- typedef
- TAO_Objref_Var_T<
- ServerInformationIterator
- >
- ServerInformationIterator_var;
-
- typedef
- TAO_Objref_Out_T<
- ServerInformationIterator
- >
- ServerInformationIterator_out;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:611
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__VAR_OUT_CH_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__VAR_OUT_CH_
-
- class Administration;
- typedef Administration *Administration_ptr;
-
- typedef
- TAO_Objref_Var_T<
- Administration
- >
- Administration_var;
-
- typedef
- TAO_Objref_Out_T<
- Administration
- >
- Administration_out;
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:54
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_
-
- class TAO_PortableServer_Export Administration
- : public virtual CORBA::Object
- {
- public:
- friend class TAO::Narrow_Utils<Administration>;
- typedef Administration_ptr _ptr_type;
- typedef Administration_var _var_type;
-
- // The static operations.
- static Administration_ptr _duplicate (Administration_ptr obj);
-
- static Administration_ptr _narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static Administration_ptr _unchecked_narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static Administration_ptr _nil (void)
- {
- return (Administration_ptr)0;
- }
-
- static void _tao_any_destructor (void *);
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void activate_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual char * activate_server_with_startup (
- const char * server,
- ::CORBA::Long check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void register_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void reregister_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void remove_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void shutdown_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void server_is_running (
- const char * server,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void server_is_shutting_down (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void find (
- const char * server,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void list (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list,
- ::ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void shutdown_repo (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual char * find_ior (
- const char * object_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:208
-
- virtual CORBA::Boolean _is_a (
- const char *type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
- virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
- private:
- TAO::Collocation_Proxy_Broker *the_TAO_Administration_Proxy_Broker_;
-
- protected:
- // Concrete interface only.
- Administration (void);
-
- // These methods travese the inheritance tree and set the
- // parents piece of the given class in the right mode.
- virtual void ImplementationRepository_Administration_setup_collocation (void);
-
- // Concrete non-local interface only.
- Administration (
- IOP::IOR *ior,
- TAO_ORB_Core *orb_core = 0
- );
-
- // Non-local interface only.
- Administration (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated = 0,
- TAO_Abstract_ServantBase *servant = 0,
- TAO_ORB_Core *orb_core = 0
- );
-
- virtual ~Administration (void);
-
- private:
- // Private and unimplemented for concrete interfaces.
- Administration (const Administration &);
-
- void operator= (const Administration &);
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_Administration;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:54
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_
-
- class TAO_PortableServer_Export ServerInformationIterator
- : public virtual CORBA::Object
- {
- public:
- friend class TAO::Narrow_Utils<ServerInformationIterator>;
- typedef ServerInformationIterator_ptr _ptr_type;
- typedef ServerInformationIterator_var _var_type;
-
- // The static operations.
- static ServerInformationIterator_ptr _duplicate (ServerInformationIterator_ptr obj);
-
- static ServerInformationIterator_ptr _narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static ServerInformationIterator_ptr _unchecked_narrow (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- static ServerInformationIterator_ptr _nil (void)
- {
- return (ServerInformationIterator_ptr)0;
- }
-
- static void _tao_any_destructor (void *);
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual CORBA::Boolean next_n (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ch.cpp:208
-
- virtual CORBA::Boolean _is_a (
- const char *type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
- virtual CORBA::Boolean marshal (TAO_OutputCDR &cdr);
- private:
- TAO::Collocation_Proxy_Broker *the_TAO_ServerInformationIterator_Proxy_Broker_;
-
- protected:
- // Concrete interface only.
- ServerInformationIterator (void);
-
- // These methods travese the inheritance tree and set the
- // parents piece of the given class in the right mode.
- virtual void ImplementationRepository_ServerInformationIterator_setup_collocation (void);
-
- // Concrete non-local interface only.
- ServerInformationIterator (
- IOP::IOR *ior,
- TAO_ORB_Core *orb_core = 0
- );
-
- // Non-local interface only.
- ServerInformationIterator (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated = 0,
- TAO_Abstract_ServantBase *servant = 0,
- TAO_ORB_Core *orb_core = 0
- );
-
- virtual ~ServerInformationIterator (void);
-
- private:
- // Private and unimplemented for concrete interfaces.
- ServerInformationIterator (const ServerInformationIterator &);
-
- void operator= (const ServerInformationIterator &);
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_typecode/typecode_decl.cpp:44
-
- TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ServerInformationIterator;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_ch.cpp:66
-
-} // module ImplementationRepository
-
-// Proxy Broker Factory function pointer declarations.
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:120
-
-extern TAO_PortableServer_Export
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- );
-
-extern TAO_PortableServer_Export
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- );
-
-extern TAO_PortableServer_Export
-TAO::Collocation_Proxy_Broker *
-(*ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer) (
- CORBA::Object_ptr obj
- );
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_traits.cpp:59
-
-// Traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__TRAITS_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__TRAITS_CH_
-
- ACE_TEMPLATE_SPECIALIZATION
- struct TAO_PortableServer_Export Objref_Traits<ImplementationRepository::ServerObject>
- {
- static ImplementationRepository::ServerObject_ptr duplicate (
- ImplementationRepository::ServerObject_ptr
- );
- static void release (
- ImplementationRepository::ServerObject_ptr
- );
- static ImplementationRepository::ServerObject_ptr nil (void);
- static CORBA::Boolean marshal (
- ImplementationRepository::ServerObject_ptr p,
- TAO_OutputCDR & cdr
- );
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__TRAITS_CH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__TRAITS_CH_
-
- ACE_TEMPLATE_SPECIALIZATION
- struct TAO_PortableServer_Export Objref_Traits<ImplementationRepository::ServerInformationIterator>
- {
- static ImplementationRepository::ServerInformationIterator_ptr duplicate (
- ImplementationRepository::ServerInformationIterator_ptr
- );
- static void release (
- ImplementationRepository::ServerInformationIterator_ptr
- );
- static ImplementationRepository::ServerInformationIterator_ptr nil (void);
- static CORBA::Boolean marshal (
- ImplementationRepository::ServerInformationIterator_ptr p,
- TAO_OutputCDR & cdr
- );
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__TRAITS_CH_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__TRAITS_CH_
-
- ACE_TEMPLATE_SPECIALIZATION
- struct TAO_PortableServer_Export Objref_Traits<ImplementationRepository::Administration>
- {
- static ImplementationRepository::Administration_ptr duplicate (
- ImplementationRepository::Administration_ptr
- );
- static void release (
- ImplementationRepository::Administration_ptr
- );
- static ImplementationRepository::Administration_ptr nil (void);
- static CORBA::Boolean marshal (
- ImplementationRepository::Administration_ptr p,
- TAO_OutputCDR & cdr
- );
- };
-
-#endif /* end #if !defined */
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerObject_ptr); // copying
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerObject_ptr *); // non-copying
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerObject_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::AlreadyRegistered &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::AlreadyRegistered*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::AlreadyRegistered *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::AlreadyRegistered *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::CannotActivate &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::CannotActivate*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::CannotActivate *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::CannotActivate *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::NotFound &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::NotFound*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::NotFound *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::NotFound *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentVariable &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentVariable*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::EnvironmentVariable *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::EnvironmentVariable *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentList &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentList*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::EnvironmentList *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::EnvironmentList *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_enum/any_op_ch.cpp:51
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ActivationMode);
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ActivationMode &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::StartupOptions &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::StartupOptions*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::StartupOptions *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::StartupOptions *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformation &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformation*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformation *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::ServerInformation *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformationList &); // copying version
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationList*); // noncopying version
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformationList *&); // deprecated
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::ServerInformationList *&);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration_ptr); // copying
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration_ptr *); // non-copying
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/any_op_ch.cpp:52
-
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr); // copying
-TAO_PortableServer_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr *); // non-copying
-TAO_PortableServer_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_ch.cpp:55
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerObject_ptr );
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerObject_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_ch.cpp:52
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::AlreadyRegistered &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::AlreadyRegistered &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_ch.cpp:52
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::CannotActivate &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::CannotActivate &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_exception/cdr_op_ch.cpp:52
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::NotFound &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::NotFound &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_ch.cpp:54
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::EnvironmentVariable &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::EnvironmentVariable &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_ch.cpp:71
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_
-#define _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (
- TAO_OutputCDR &,
- const ImplementationRepository::EnvironmentList &
- );
-TAO_PortableServer_Export CORBA::Boolean operator>> (
- TAO_InputCDR &,
- ImplementationRepository::EnvironmentList &
- );
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_enum/cdr_op_ch.cpp:50
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ActivationMode &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ActivationMode &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_ch.cpp:54
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::StartupOptions &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::StartupOptions &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_structure/cdr_op_ch.cpp:54
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformation &);
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformation &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_sequence/cdr_op_ch.cpp:71
-
-#if !defined _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_
-#define _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (
- TAO_OutputCDR &,
- const ImplementationRepository::ServerInformationList &
- );
-TAO_PortableServer_Export CORBA::Boolean operator>> (
- TAO_InputCDR &,
- ImplementationRepository::ServerInformationList &
- );
-
-#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_ch.cpp:55
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration_ptr );
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Administration_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/cdr_op_ch.cpp:55
-
-TAO_PortableServer_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformationIterator_ptr );
-TAO_PortableServer_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformationIterator_ptr &);
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:976
-
-#if defined (__ACE_INLINE__)
-#include "ImplRepoC.inl"
-#endif /* defined INLINE */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#include /**/ "ace/post.h"
-
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImplRepoC.inl b/TAO/tao/PortableServer/ImplRepoC.inl
deleted file mode 100644
index 36cc19fe639..00000000000
--- a/TAO/tao/PortableServer/ImplRepoC.inl
+++ /dev/null
@@ -1,136 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ci.cpp:70
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___CI_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___CI_
-
-ACE_INLINE
-ImplementationRepository::ServerObject::ServerObject (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated,
- TAO_Abstract_ServantBase *servant,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (
- objref,
- _tao_collocated,
- servant,
- oc
- ),
- the_TAO_ServerObject_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_ServerObject_setup_collocation ();
-}
-
-ACE_INLINE
-ImplementationRepository::ServerObject::ServerObject (
- IOP::IOR *ior,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (ior, oc),
- the_TAO_ServerObject_Proxy_Broker_ (0)
-{
-}
-
-#endif /* end #if !defined */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ci.cpp:70
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___CI_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___CI_
-
-ACE_INLINE
-ImplementationRepository::Administration::Administration (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated,
- TAO_Abstract_ServantBase *servant,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (
- objref,
- _tao_collocated,
- servant,
- oc
- ),
- the_TAO_Administration_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_Administration_setup_collocation ();
-}
-
-ACE_INLINE
-ImplementationRepository::Administration::Administration (
- IOP::IOR *ior,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (ior, oc),
- the_TAO_Administration_Proxy_Broker_ (0)
-{
-}
-
-#endif /* end #if !defined */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ci.cpp:70
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___CI_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___CI_
-
-ACE_INLINE
-ImplementationRepository::ServerInformationIterator::ServerInformationIterator (
- TAO_Stub *objref,
- CORBA::Boolean _tao_collocated,
- TAO_Abstract_ServantBase *servant,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (
- objref,
- _tao_collocated,
- servant,
- oc
- ),
- the_TAO_ServerInformationIterator_Proxy_Broker_ (0)
-{
- this->ImplementationRepository_ServerInformationIterator_setup_collocation ();
-}
-
-ACE_INLINE
-ImplementationRepository::ServerInformationIterator::ServerInformationIterator (
- IOP::IOR *ior,
- TAO_ORB_Core *oc
- )
- : ACE_NESTED_CLASS (CORBA, Object) (ior, oc),
- the_TAO_ServerInformationIterator_Proxy_Broker_ (0)
-{
-}
-
-#endif /* end #if !defined */
-
diff --git a/TAO/tao/PortableServer/ImplRepoS.cpp b/TAO/tao/PortableServer/ImplRepoS.cpp
deleted file mode 100644
index ebc7d0a163e..00000000000
--- a/TAO/tao/PortableServer/ImplRepoS.cpp
+++ /dev/null
@@ -1,7464 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:629
-
-#ifndef _TAO_IDL_IMPLREPOS_CPP_
-#define _TAO_IDL_IMPLREPOS_CPP_
-
-
-#include "ImplRepoS.h"
-#include "tao/PortableServer/Object_Adapter.h"
-#include "tao/PortableServer/Operation_Table.h"
-#include "tao/TAO_Server_Request.h"
-#include "tao/ORB_Core.h"
-#include "tao/Profile.h"
-#include "tao/Stub.h"
-#include "tao/IFR_Client_Adapter.h"
-#include "tao/Object_T.h"
-#include "tao/Typecode.h"
-#include "tao/DynamicC.h"
-#include "tao/CDR.h"
-#include "tao/Basic_Arguments.h"
-#include "tao/Object_Argument_T.h"
-#include "tao/Special_Basic_Arguments.h"
-#include "tao/UB_String_Arguments.h"
-#include "tao/Var_Size_Argument_T.h"
-#include "tao/PortableInterceptor.h"
-#if TAO_HAS_INTERCEPTORS == 1
-#include "tao/PortableServer/PICurrent_Guard.h"
-#include "tao/PortableServer/ServerRequestInfo.h"
-#include "tao/PortableServer/ServerInterceptorAdapter.h"
-#include "tao/RequestInfo_Util.h"
-#endif /* TAO_HAS_INTERCEPTORS == 1 */
-
-#include "ace/Dynamic_Service.h"
-#include "ace/Malloc_Allocator.h"
-#include "ace/config-all.h"
-
-#if defined (__BORLANDC__)
-#pragma option -w-rvl -w-rch -w-ccc -w-aus
-#endif /* __BORLANDC__ */
-
-#if !defined (__ACE_INLINE__)
-#include "ImplRepoS.inl"
-#endif /* !defined INLINE */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:64
-
-// Arg traits specializations.
-namespace TAO
-{
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerObject>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- TAO::Objref_Traits<ImplementationRepository::ServerObject>
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::StartupOptions>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:618
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformation>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_arg_traits.cpp:379
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationList>
- : public
- Var_Size_Arg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >
- {
- };
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_
-
- ACE_TEMPLATE_SPECIALIZATION
- class TAO_PortableServer_Export Arg_Traits<ImplementationRepository::ServerInformationIterator>
- : public
- Object_Arg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>
- >
- {
- };
-
-#endif /* end #if !defined */
-}
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1536
-
-class TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable
- : public TAO_Perfect_Hash_OpTable
-{
-private:
- unsigned int hash (const char *str, unsigned int len);
-
-public:
- const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
-};
-
-/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable -N lookup */
-unsigned int
-TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
-{
- static const unsigned char asso_values[] =
- {
-#if defined (ACE_MVS)
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 16, 16, 5, 16, 0, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 0, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 0, 0, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16,
-#else
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 0, 16, 0, 16, 16,
- 16, 5, 16, 0, 16, 16, 16, 16, 16, 16,
- 0, 16, 0, 16, 16, 0, 0, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
-#endif /* ACE_MVS */
- };
- return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
-}
-
-const class TAO_operation_db_entry *
-TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
-{
- enum
- {
- TOTAL_KEYWORDS = 6,
- MIN_WORD_LENGTH = 4,
- MAX_WORD_LENGTH = 13,
- MIN_HASH_VALUE = 4,
- MAX_HASH_VALUE = 15,
- HASH_VALUE_RANGE = 12,
- DUPLICATES = 0,
- WORDLIST_SIZE = 10
- };
-
- static const class TAO_operation_db_entry wordlist[] =
- {
- {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"ping", &POA_ImplementationRepository::ServerObject::ping_skel, &POA_ImplementationRepository::_TAO_ServerObject_ThruPOA_Proxy_Impl::ping, &POA_ImplementationRepository::_TAO_ServerObject_Direct_Proxy_Impl::ping},
- {"_is_a", &POA_ImplementationRepository::ServerObject::_is_a_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"shutdown", &POA_ImplementationRepository::ServerObject::shutdown_skel, &POA_ImplementationRepository::_TAO_ServerObject_ThruPOA_Proxy_Impl::shutdown, &POA_ImplementationRepository::_TAO_ServerObject_Direct_Proxy_Impl::shutdown},
- {"",0,0,0},
- {"_component", &POA_ImplementationRepository::ServerObject::_component_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"_non_existent", &POA_ImplementationRepository::ServerObject::_non_existent_skel, 0, 0},
- {"",0,0,0},
- {"_interface", &POA_ImplementationRepository::ServerObject::_interface_skel, 0, 0},
- };
-
- if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
- {
- unsigned int key = hash (str, len);
-
- if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
- {
- const char *s = wordlist[key].opname_;
-
- if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
- return &wordlist[key];
- }
- }
- return 0;
-}
-
-static TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable tao_ImplementationRepository_ServerObject_optable;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interceptors_ss.cpp:53
-
-#if (TAO_HAS_INTERCEPTORS == 1)
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::ServerObject *tao_impl
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &
- );
-
-private:
- POA_ImplementationRepository::ServerObject *_tao_impl;
-
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::ServerObject *tao_impl
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return parameter_list;
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::ServerObject *tao_impl
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &
- );
-
-private:
- POA_ImplementationRepository::ServerObject *_tao_impl;
-
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::ServerObject *tao_impl
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return parameter_list;
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-#endif /* TAO_HAS_INTERCEPTORS */
-
-///////////////////////////////////////////////////////////////////////
-// Strategized Proxy Broker Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
-
-// Factory function Implementation.
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker *
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::the_TAO_ServerObject_Strategized_Proxy_Broker (void)
-{
- static POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker
- strategized_proxy_broker;
-
- return &strategized_proxy_broker;
-}
-
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::_TAO_ServerObject_Strategized_Proxy_Broker (void)
-{
-}
-
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::~_TAO_ServerObject_Strategized_Proxy_Broker (void)
-{
-}
-
-TAO::Collocation_Strategy
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO::Collocation_Strategy strategy =
- TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
- return strategy;
-}
-
-void
-POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception))
-{
- TAO_Object_Adapter::Servant_Upcall servant_upcall (
- obj->_stubobj ()->servant_orb_var ()->orb_core ()
- );
-
- TAO_Collocated_Skeleton collocated_skel;
- TAO_Abstract_ServantBase *servant = 0;
-
- if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
- {
- servant_upcall.prepare_for_upcall (
- obj->_stubobj ()->object_key (),
- op,
- forward_obj
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant_upcall.pre_invoke_collocated_request (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant = servant_upcall.servant ();
- }
- else
- {
- servant = obj->_servant ();
- }
-
- int status = servant->_find (op,
- collocated_skel,
- strategy,
- op_len);
-
- if (status == -1)
- {
- ACE_THROW (CORBA::BAD_OPERATION ());
- }
-
- ACE_TRY
- {
- collocated_skel (servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-#if (TAO_HAS_MINIMUM_CORBA == 0)
- ACE_CATCH (PortableServer::ForwardRequest, forward_request)
- {
- forward_obj =
- CORBA::Object::_duplicate (forward_request.forward_reference.in ());
- return;
- }
-#else
- ACE_CATCHANY
- {
- ACE_UNUSED_ARG (forward_obj);
- ACE_RE_THROW;
- }
-#endif /* TAO_HAS_MINIMUM_CORBA */
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-//
-// End Strategized Proxy Broker Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:648
-
-TAO::Collocation_Proxy_Broker *
-ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function (CORBA::Object_ptr)
-{
- return
- ::POA_ImplementationRepository::_TAO_ServerObject_Strategized_Proxy_Broker::the_TAO_ServerObject_Strategized_Proxy_Broker ();
-}
-
-int
-ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer (size_t)
-{
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer =
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function;
-
- return 0;
-}
-
-static int
-ImplementationRepository__TAO_ServerObject_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer (
- reinterpret_cast<
- size_t> (
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_Initializer
- )
- );
-
-
-///////////////////////////////////////////////////////////////////////
-// ThruPOA Proxy Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37
-
-POA_ImplementationRepository::_TAO_ServerObject_ThruPOA_Proxy_Impl::_TAO_ServerObject_ThruPOA_Proxy_Impl (void)
-{}
-
-// ThruPOA Implementation of the IDL interface methods
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_ServerObject_ThruPOA_Proxy_Impl::ping (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerObject_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerObject:1.0"
- )
- )->ping (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_ServerObject_ThruPOA_Proxy_Impl::shutdown (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerObject_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerObject:1.0"
- )
- )->shutdown (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End ThruPOA Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////
-// Direct Proxy Implementation
-//
-
-POA_ImplementationRepository::_TAO_ServerObject_Direct_Proxy_Impl::_TAO_ServerObject_Direct_Proxy_Impl (void)
-{}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_ServerObject_Direct_Proxy_Impl::ping (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerObject_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerObject:1.0"
- )
- )->ping (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_ServerObject_Direct_Proxy_Impl::shutdown (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerObject_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerObject:1.0"
- )
- )->shutdown (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End Direct Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:97
-
-POA_ImplementationRepository::ServerObject::ServerObject (void)
-{
- this->optable_ = &tao_ImplementationRepository_ServerObject_optable;
-}
-
-POA_ImplementationRepository::ServerObject::ServerObject (const ServerObject& rhs)
- : TAO_Abstract_ServantBase (rhs),
- TAO_ServantBase (rhs)
-{
-}
-
-POA_ImplementationRepository::ServerObject::~ServerObject (void)
-{
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::ServerObject::ping_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerObject *_tao_impl =
- static_cast<
- POA_ImplementationRepository::ServerObject *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->ping (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::ServerObject::shutdown_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerObject *_tao_impl =
- static_cast<
- POA_ImplementationRepository::ServerObject *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->shutdown (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:162
-
-void POA_ImplementationRepository::ServerObject::_is_a_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-
- POA_ImplementationRepository::ServerObject *_tao_impl =
- (POA_ImplementationRepository::ServerObject *) _tao_servant;
-
- CORBA::Boolean _tao_retval = 0;
- CORBA::String_var value;
-
- if (!(_tao_in >> value.out ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-
- _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerObject::_non_existent_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerObject *_tao_impl =
- (POA_ImplementationRepository::ServerObject *) _tao_servant;
-
- CORBA::Boolean _tao_retval =
- _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerObject::_interface_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_IFR_Client_Adapter *_tao_adapter =
- ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
- TAO_ORB_Core::ifr_client_adapter_name ()
- );
-
- if (_tao_adapter == 0)
- {
- ACE_THROW (CORBA::INTF_REPOS ());
- }
-
- POA_ImplementationRepository::ServerObject *_tao_impl =
- (POA_ImplementationRepository::ServerObject *) _tao_servant;
-
- CORBA::InterfaceDef_ptr _tao_retval =
- _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- CORBA::Boolean _tao_result =
- _tao_adapter->interfacedef_cdr_insert (
- _tao_out,
- _tao_retval
- );
-
- _tao_adapter->dispose (_tao_retval);
-
- if (_tao_result == 0)
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerObject::_component_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_object_reference,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerObject *_tao_impl =
- (POA_ImplementationRepository::ServerObject *) _tao_object_reference;
-
- CORBA::Object_var _tao_retval =
- _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << _tao_retval.in ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-CORBA::Boolean POA_ImplementationRepository::ServerObject::_is_a (
- const char* value
- ACE_ENV_ARG_DECL_NOT_USED
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/ServerObject:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-void* POA_ImplementationRepository::ServerObject::_downcast (
- const char* logical_type_id
- )
-{
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:ImplementationRepository/ServerObject:1.0") == 0)
- {
- return static_cast<POA_ImplementationRepository::ServerObject_ptr> (this);
- }
-
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:omg.org/CORBA/Object:1.0") == 0)
- {
- return static_cast<PortableServer::Servant> (this);
- }
-
- return 0;
-}
-
-const char* POA_ImplementationRepository::ServerObject::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/ServerObject:1.0";
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:584
-
-void POA_ImplementationRepository::ServerObject::_dispatch (
- TAO_ServerRequest &req,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- this->synchronous_upcall_dispatch (req,
- servant_upcall,
- this
- ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:526
-
-ImplementationRepository::ServerObject *
-POA_ImplementationRepository::ServerObject::_this (ACE_ENV_SINGLE_ARG_DECL)
-{
- TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- TAO_Stub_Auto_Ptr safe_stub (stub);
- CORBA::Object_ptr tmp = CORBA::Object::_nil ();
-
- if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 1, this),
- 0
- );
- }
- else
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 0, this),
- 0
- );
- }
-
- CORBA::Object_var obj = tmp;
- (void) safe_stub.release ();
-
- typedef ::ImplementationRepository::ServerObject STUB_SCOPED_NAME;
- return
- TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_ServerObject_Proxy_Broker_Factory_function_pointer
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1536
-
-class TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable
- : public TAO_Perfect_Hash_OpTable
-{
-private:
- unsigned int hash (const char *str, unsigned int len);
-
-public:
- const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
-};
-
-/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable -N lookup */
-unsigned int
-TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
-{
- static const unsigned char asso_values[] =
- {
-#if defined (ACE_MVS)
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 0,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 4,
- 34, 34, 0, 0, 0, 0, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 5, 34, 5,
- 0, 0, 34, 0, 34, 34, 34, 34, 34, 34,
- 34, 34, 5, 15, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34,
-#else
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 0, 34, 4, 34, 34,
- 0, 0, 0, 0, 34, 34, 34, 34, 5, 34,
- 5, 0, 0, 34, 0, 5, 15, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34,
-#endif /* ACE_MVS */
- };
- return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
-}
-
-const class TAO_operation_db_entry *
-TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
-{
- enum
- {
- TOTAL_KEYWORDS = 16,
- MIN_WORD_LENGTH = 4,
- MAX_WORD_LENGTH = 28,
- MIN_HASH_VALUE = 4,
- MAX_HASH_VALUE = 33,
- HASH_VALUE_RANGE = 30,
- DUPLICATES = 0,
- WORDLIST_SIZE = 20
- };
-
- static const class TAO_operation_db_entry wordlist[] =
- {
- {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"find", &POA_ImplementationRepository::Administration::find_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find},
- {"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"find_ior", &POA_ImplementationRepository::Administration::find_ior_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find_ior, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find_ior},
- {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel, 0, 0},
- {"_interface", &POA_ImplementationRepository::Administration::_interface_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::remove_server, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_server},
- {"",0,0,0},
- {"register_server", &POA_ImplementationRepository::Administration::register_server_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::register_server, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::register_server},
- {"",0,0,0},
- {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::reregister_server, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregister_server},
- {"shutdown_repo", &POA_ImplementationRepository::Administration::shutdown_repo_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_repo, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_repo},
- {"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server},
- {"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_server, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_server},
- {"",0,0,0},
- {"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_running, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_running},
- {"",0,0,0},
- {"list", &POA_ImplementationRepository::Administration::list_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::list, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list},
- {"_component", &POA_ImplementationRepository::Administration::_component_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"_non_existent", &POA_ImplementationRepository::Administration::_non_existent_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"activate_server_with_startup", &POA_ImplementationRepository::Administration::activate_server_with_startup_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server_with_startup, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server_with_startup},
- {"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel, &POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_shutting_down, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_shutting_down},
- };
-
- if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
- {
- unsigned int key = hash (str, len);
-
- if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
- {
- const char *s = wordlist[key].opname_;
-
- if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
- return &wordlist[key];
- }
- }
- return 0;
-}
-
-static TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable tao_ImplementationRepository_Administration_optable;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interceptors_ss.cpp:53
-
-#if (TAO_HAS_INTERCEPTORS == 1)
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_activate_server_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound,
- ImplementationRepository::_tc_CannotActivate
- };
-
- exception_list->length (2);
- for (CORBA::ULong i = 0; i < 2; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_activate_server_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::CORBA::Long & check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void result (char * result);
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
- const ::CORBA::Long & check_startup_;
- char * _result;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::CORBA::Long & check_startup
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- check_startup_ (check_startup)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= check_startup_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_activate_server_with_startup_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound,
- ImplementationRepository::_tc_CannotActivate
- };
-
- exception_list->length (2);
- for (CORBA::ULong i = 0; i < 2; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_activate_server_with_startup_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 0;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Any_var safe_result_any = result_any;
-
- (*result_any) <<= this->_result;
-
- return safe_result_any._retn ();
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup::result (char * result)
-{
- // Update the result.
- this->_result = result;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
- const ::ImplementationRepository::StartupOptions & options_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- options_ (options)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->options_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_register_server_exceptiondata[] =
- {
- ImplementationRepository::_tc_AlreadyRegistered,
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (2);
- for (CORBA::ULong i = 0; i < 2; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_register_server_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
- const ::ImplementationRepository::StartupOptions & options_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- options_ (options)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (2);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->options_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_reregister_server_exceptiondata[] =
- {
- ImplementationRepository::_tc_AlreadyRegistered,
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (2);
- for (CORBA::ULong i = 0; i < 2; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_reregister_server_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_remove_server_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_remove_server_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
- const char * addr_;
- ::ImplementationRepository::ServerObject_ptr server_object_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server),
- addr_ (addr),
- server_object_ (server_object)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (3);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= addr_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- (*parameter_list)[len].argument <<= this->server_object_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_running_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_server_is_running_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_find : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * server_;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::TAO_ServerRequestInfo_ImplementationRepository_Administration_find (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * server
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- server_ (server)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= server_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_find_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_find_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_list : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_list (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const ::CORBA::ULong & how_many
-
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_list (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const ::CORBA::ULong & how_many_;
-
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::TAO_ServerRequestInfo_ImplementationRepository_Administration_list (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const ::CORBA::ULong & how_many
-
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- how_many_ (how_many)
-
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= how_many_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_list::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return parameter_list;
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * object_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void result (char * result);
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior &
- );
-
-private:
- POA_ImplementationRepository::Administration *_tao_impl;
-
- const char * object_name_;
- char * _result;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::Administration *tao_impl,
- const char * object_name
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- object_name_ (object_name)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= object_name_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ExceptionList_var safe_exception_list = exception_list;
-
- static CORBA::TypeCode_ptr _tao_ImplementationRepository_Administration_find_ior_exceptiondata[] =
- {
- ImplementationRepository::_tc_NotFound
- };
-
- exception_list->length (1);
- for (CORBA::ULong i = 0; i < 1; ++i)
- {
- CORBA::TypeCode_ptr tcp = _tao_ImplementationRepository_Administration_find_ior_exceptiondata[i];
- TAO_Pseudo_Object_Manager<CORBA::TypeCode> tcp_object (&tcp, 1);
- (*exception_list)[i] = tcp_object;
- }
-
- return safe_exception_list._retn ();
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 0;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Any_var safe_result_any = result_any;
-
- (*result_any) <<= this->_result;
-
- return safe_result_any._retn ();
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior::result (char * result)
-{
- // Update the result.
- this->_result = result;
-}
-
-#endif /* TAO_HAS_INTERCEPTORS */
-
-///////////////////////////////////////////////////////////////////////
-// Strategized Proxy Broker Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
-
-// Factory function Implementation.
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker *
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::the_TAO_Administration_Strategized_Proxy_Broker (void)
-{
- static POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker
- strategized_proxy_broker;
-
- return &strategized_proxy_broker;
-}
-
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::_TAO_Administration_Strategized_Proxy_Broker (void)
-{
-}
-
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::~_TAO_Administration_Strategized_Proxy_Broker (void)
-{
-}
-
-TAO::Collocation_Strategy
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO::Collocation_Strategy strategy =
- TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
- return strategy;
-}
-
-void
-POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception))
-{
- TAO_Object_Adapter::Servant_Upcall servant_upcall (
- obj->_stubobj ()->servant_orb_var ()->orb_core ()
- );
-
- TAO_Collocated_Skeleton collocated_skel;
- TAO_Abstract_ServantBase *servant = 0;
-
- if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
- {
- servant_upcall.prepare_for_upcall (
- obj->_stubobj ()->object_key (),
- op,
- forward_obj
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant_upcall.pre_invoke_collocated_request (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant = servant_upcall.servant ();
- }
- else
- {
- servant = obj->_servant ();
- }
-
- int status = servant->_find (op,
- collocated_skel,
- strategy,
- op_len);
-
- if (status == -1)
- {
- ACE_THROW (CORBA::BAD_OPERATION ());
- }
-
- ACE_TRY
- {
- collocated_skel (servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-#if (TAO_HAS_MINIMUM_CORBA == 0)
- ACE_CATCH (PortableServer::ForwardRequest, forward_request)
- {
- forward_obj =
- CORBA::Object::_duplicate (forward_request.forward_reference.in ());
- return;
- }
-#else
- ACE_CATCHANY
- {
- ACE_UNUSED_ARG (forward_obj);
- ACE_RE_THROW;
- }
-#endif /* TAO_HAS_MINIMUM_CORBA */
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-//
-// End Strategized Proxy Broker Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:648
-
-TAO::Collocation_Proxy_Broker *
-ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function (CORBA::Object_ptr)
-{
- return
- ::POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::the_TAO_Administration_Strategized_Proxy_Broker ();
-}
-
-int
-ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer (size_t)
-{
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer =
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function;
-
- return 0;
-}
-
-static int
-ImplementationRepository__TAO_Administration_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer (
- reinterpret_cast<
- size_t> (
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_Initializer
- )
- );
-
-
-///////////////////////////////////////////////////////////////////////
-// ThruPOA Proxy Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37
-
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::_TAO_Administration_ThruPOA_Proxy_Impl (void)
-{}
-
-// ThruPOA Implementation of the IDL interface methods
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->activate_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- ((TAO::Arg_Traits< ::CORBA::Char *>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->activate_server_with_startup (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< CORBA::Long>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->register_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->reregister_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->remove_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->shutdown_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->server_is_running (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->server_is_shutting_down (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->find (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->list (
- ((TAO::Arg_Traits< CORBA::ULong>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationIterator>::out_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->shutdown_repo (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_Administration_ThruPOA_Proxy_Impl::find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- ((TAO::Arg_Traits< ::CORBA::Char *>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->find_ior (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End ThruPOA Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////
-// Direct Proxy Implementation
-//
-
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::_TAO_Administration_Direct_Proxy_Impl (void)
-{}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->activate_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ))
-{
- ((TAO::Arg_Traits< ::CORBA::Char *>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->activate_server_with_startup (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< CORBA::Long>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->register_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->reregister_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::StartupOptions>::in_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->remove_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->shutdown_server (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->server_is_running (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::Address>::in_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerObject>::in_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->server_is_shutting_down (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->find (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformation>::out_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->list (
- ((TAO::Arg_Traits< CORBA::ULong>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val *) args[2])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationIterator>::out_arg_val *) args[3])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->shutdown_repo (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ))
-{
- ((TAO::Arg_Traits< ::CORBA::Char *>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::Administration_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/Administration:1.0"
- )
- )->find_ior (
- ((TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val *) args[1])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End Direct Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:97
-
-POA_ImplementationRepository::Administration::Administration (void)
-{
- this->optable_ = &tao_ImplementationRepository_Administration_optable;
-}
-
-POA_ImplementationRepository::Administration::Administration (const Administration& rhs)
- : TAO_Abstract_ServantBase (rhs),
- TAO_ServantBase (rhs)
-{
-}
-
-POA_ImplementationRepository::Administration::~Administration (void)
-{
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::activate_server_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
-
- if (!(
- (_tao_in >> server.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->activate_server (
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::activate_server_with_startup_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- CORBA::String_var _tao_retval;
- ::CORBA::String_var server;
- ::CORBA::Long check_startup;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> check_startup)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server_with_startup _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- check_startup
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- _tao_retval =
- _tao_impl->activate_server_with_startup (
- server.in (),
-
- check_startup
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- char * _tao_retval_info = _tao_retval._retn ();
- _tao_ri.result (_tao_retval_info);
- _tao_retval = _tao_retval_info;
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << _tao_retval.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::register_server_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::ImplementationRepository::StartupOptions options;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> options)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- options
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->register_server (
- server.in (),
-
- options
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::reregister_server_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::ImplementationRepository::StartupOptions options;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> options)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- options
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->reregister_server (
- server.in (),
-
- options
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::remove_server_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
-
- if (!(
- (_tao_in >> server.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->remove_server (
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::shutdown_server_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
-
- if (!(
- (_tao_in >> server.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->shutdown_server (
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::server_is_running_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
- ::CORBA::String_var addr;
- ::ImplementationRepository::ServerObject_var server_object;
-
- if (!(
- (_tao_in >> server.out ()) &&
- (_tao_in >> addr.out ()) &&
- (_tao_in >> server_object.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in (),
-
- addr.in (),
-
- server_object.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->server_is_running (
- server.in (),
-
- addr.in (),
-
- server_object.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::server_is_shutting_down_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
- ::CORBA::String_var server;
-
- if (!(
- (_tao_in >> server.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->server_is_shutting_down (
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::find_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
-
- ::CORBA::String_var server;
- ::ImplementationRepository::ServerInformation_var info;
-
- if (!(
- (_tao_in >> server.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- server.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->find (
- server.in (),
-
- info.out ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << info.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::list_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
-
- ::CORBA::ULong how_many;
- ::ImplementationRepository::ServerInformationList_var server_list;
-
- ::ImplementationRepository::ServerInformationIterator_var server_iterator;
-
- if (!(
- (_tao_in >> how_many)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_list _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- how_many
-
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->list (
- how_many,
-
- server_list.out (),
-
- server_iterator.out ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << server_list.in ()) &&
- (_tao_out << server_iterator.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::shutdown_repo_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_repo _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->shutdown_repo (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::Administration::find_ior_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::Administration *_tao_impl =
- static_cast<
- POA_ImplementationRepository::Administration *> (
- _tao_servant
- );
- CORBA::String_var _tao_retval;
- ::CORBA::String_var object_name;
-
- if (!(
- (_tao_in >> object_name.out ())
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_Administration_find_ior _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- object_name.in ()
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- _tao_retval =
- _tao_impl->find_ior (
- object_name.in ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- char * _tao_retval_info = _tao_retval._retn ();
- _tao_ri.result (_tao_retval_info);
- _tao_retval = _tao_retval_info;
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << _tao_retval.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:162
-
-void POA_ImplementationRepository::Administration::_is_a_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-
- POA_ImplementationRepository::Administration *_tao_impl =
- (POA_ImplementationRepository::Administration *) _tao_servant;
-
- CORBA::Boolean _tao_retval = 0;
- CORBA::String_var value;
-
- if (!(_tao_in >> value.out ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-
- _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Administration::_non_existent_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration *_tao_impl =
- (POA_ImplementationRepository::Administration *) _tao_servant;
-
- CORBA::Boolean _tao_retval =
- _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Administration::_interface_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_IFR_Client_Adapter *_tao_adapter =
- ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
- TAO_ORB_Core::ifr_client_adapter_name ()
- );
-
- if (_tao_adapter == 0)
- {
- ACE_THROW (CORBA::INTF_REPOS ());
- }
-
- POA_ImplementationRepository::Administration *_tao_impl =
- (POA_ImplementationRepository::Administration *) _tao_servant;
-
- CORBA::InterfaceDef_ptr _tao_retval =
- _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- CORBA::Boolean _tao_result =
- _tao_adapter->interfacedef_cdr_insert (
- _tao_out,
- _tao_retval
- );
-
- _tao_adapter->dispose (_tao_retval);
-
- if (_tao_result == 0)
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::Administration::_component_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_object_reference,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::Administration *_tao_impl =
- (POA_ImplementationRepository::Administration *) _tao_object_reference;
-
- CORBA::Object_var _tao_retval =
- _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << _tao_retval.in ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-CORBA::Boolean POA_ImplementationRepository::Administration::_is_a (
- const char* value
- ACE_ENV_ARG_DECL_NOT_USED
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/Administration:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-void* POA_ImplementationRepository::Administration::_downcast (
- const char* logical_type_id
- )
-{
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:ImplementationRepository/Administration:1.0") == 0)
- {
- return static_cast<POA_ImplementationRepository::Administration_ptr> (this);
- }
-
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:omg.org/CORBA/Object:1.0") == 0)
- {
- return static_cast<PortableServer::Servant> (this);
- }
-
- return 0;
-}
-
-const char* POA_ImplementationRepository::Administration::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/Administration:1.0";
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:584
-
-void POA_ImplementationRepository::Administration::_dispatch (
- TAO_ServerRequest &req,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- this->synchronous_upcall_dispatch (req,
- servant_upcall,
- this
- ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:526
-
-ImplementationRepository::Administration *
-POA_ImplementationRepository::Administration::_this (ACE_ENV_SINGLE_ARG_DECL)
-{
- TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- TAO_Stub_Auto_Ptr safe_stub (stub);
- CORBA::Object_ptr tmp = CORBA::Object::_nil ();
-
- if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 1, this),
- 0
- );
- }
- else
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 0, this),
- 0
- );
- }
-
- CORBA::Object_var obj = tmp;
- (void) safe_stub.release ();
-
- typedef ::ImplementationRepository::Administration STUB_SCOPED_NAME;
- return
- TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_interface.cpp:1536
-
-class TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable
- : public TAO_Perfect_Hash_OpTable
-{
-private:
- unsigned int hash (const char *str, unsigned int len);
-
-public:
- const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
-};
-
-/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable -N lookup */
-unsigned int
-TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
-{
- static const unsigned char asso_values[] =
- {
-#if defined (ACE_MVS)
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 16, 0, 5, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 16, 16, 16, 16, 0, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16,
-#else
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 0, 16, 0, 16, 16,
- 0, 5, 16, 16, 16, 16, 16, 16, 16, 16,
- 0, 16, 16, 16, 16, 16, 0, 16, 16, 16,
- 16, 0, 16, 16, 16, 16, 16, 16,
-#endif /* ACE_MVS */
- };
- return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
-}
-
-const class TAO_operation_db_entry *
-TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
-{
- enum
- {
- TOTAL_KEYWORDS = 6,
- MIN_WORD_LENGTH = 5,
- MAX_WORD_LENGTH = 13,
- MIN_HASH_VALUE = 5,
- MAX_HASH_VALUE = 15,
- HASH_VALUE_RANGE = 11,
- DUPLICATES = 0,
- WORDLIST_SIZE = 11
- };
-
- static const class TAO_operation_db_entry wordlist[] =
- {
- {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
- {"_is_a", &POA_ImplementationRepository::ServerInformationIterator::_is_a_skel, 0, 0},
- {"next_n", &POA_ImplementationRepository::ServerInformationIterator::next_n_skel, &POA_ImplementationRepository::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl::next_n, &POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::next_n},
- {"destroy", &POA_ImplementationRepository::ServerInformationIterator::destroy_skel, &POA_ImplementationRepository::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl::destroy, &POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::destroy},
- {"",0,0,0},{"",0,0,0},
- {"_component", &POA_ImplementationRepository::ServerInformationIterator::_component_skel, 0, 0},
- {"",0,0,0},{"",0,0,0},
- {"_non_existent", &POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel, 0, 0},
- {"",0,0,0},
- {"_interface", &POA_ImplementationRepository::ServerInformationIterator::_interface_skel, 0, 0},
- };
-
- if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
- {
- unsigned int key = hash (str, len);
-
- if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
- {
- const char *s = wordlist[key].opname_;
-
- if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
- return &wordlist[key];
- }
- }
- return 0;
-}
-
-static TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable tao_ImplementationRepository_ServerInformationIterator_optable;
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interceptors_ss.cpp:53
-
-#if (TAO_HAS_INTERCEPTORS == 1)
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::ServerInformationIterator *tao_impl,
- const ::CORBA::ULong & how_many
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void result (CORBA::Boolean result);
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &
- );
-
-private:
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl;
-
- const ::CORBA::ULong & how_many_;
- CORBA::Boolean _result;
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::ServerInformationIterator *tao_impl,
- const ::CORBA::ULong & how_many
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl),
- how_many_ (how_many)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- Dynamic::ParameterList_var safe_parameter_list = parameter_list;
- parameter_list->length (1);
- CORBA::ULong len = 0;
-
- (*parameter_list)[len].argument <<= how_many_;
- (*parameter_list)[len].mode = CORBA::PARAM_IN;
- len++;
-
- return safe_parameter_list._retn ();
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 0;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- CORBA::Any_var safe_result_any = result_any;
-
- (*result_any) <<= CORBA::Any::from_boolean (this->_result);
-
- return safe_result_any._retn ();
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-void
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n::result (CORBA::Boolean result)
-{
- // Update the result.
- this->_result = result;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:74
-
-class TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy : public TAO_ServerRequestInfo
-{
-public:
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
- POA_ImplementationRepository::ServerInformationIterator *tao_impl
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual Dynamic::ParameterList * arguments (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual Dynamic::ExceptionList * exceptions (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Any * result (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual char * target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- virtual CORBA::Boolean target_is_a (
- const char * id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
-private:
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &
- );
-
- void operator= (
- const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &
- );
-
-private:
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl;
-
-};
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/interceptors_ss.cpp:438
-
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy (
- TAO_ServerRequest &_tao_server_request,
- TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
- POA_ImplementationRepository::ServerInformationIterator *tao_impl
- ACE_ENV_ARG_DECL_NOT_USED
- )
- : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
- _tao_impl (tao_impl)
-{}
-
-Dynamic::ParameterList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::arguments (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the argument list on demand.
- Dynamic::ParameterList *parameter_list =
- TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return parameter_list;
-}
-
-Dynamic::ExceptionList *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::exceptions (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the exception list on demand.
- Dynamic::ExceptionList *exception_list =
- TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return exception_list;
-}
-
-CORBA::Any *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::result (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Generate the result on demand.
- CORBA::Boolean tk_void_any = 1;
- CORBA::Any *result_any =
- TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- return result_any;
-}
-
-char *
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::target_most_derived_interface (
- ACE_ENV_SINGLE_ARG_DECL_NOT_USED
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return
- CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
-}
-
-CORBA::Boolean
-TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy::target_is_a (
- const char * id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
-}
-
-#endif /* TAO_HAS_INTERCEPTORS */
-
-///////////////////////////////////////////////////////////////////////
-// Strategized Proxy Broker Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
-
-// Factory function Implementation.
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker *
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::the_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void)
-{
- static POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker
- strategized_proxy_broker;
-
- return &strategized_proxy_broker;
-}
-
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void)
-{
-}
-
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::~_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void)
-{
-}
-
-TAO::Collocation_Strategy
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- TAO::Collocation_Strategy strategy =
- TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
- return strategy;
-}
-
-void
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception))
-{
- TAO_Object_Adapter::Servant_Upcall servant_upcall (
- obj->_stubobj ()->servant_orb_var ()->orb_core ()
- );
-
- TAO_Collocated_Skeleton collocated_skel;
- TAO_Abstract_ServantBase *servant = 0;
-
- if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
- {
- servant_upcall.prepare_for_upcall (
- obj->_stubobj ()->object_key (),
- op,
- forward_obj
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant_upcall.pre_invoke_collocated_request (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-
- servant = servant_upcall.servant ();
- }
- else
- {
- servant = obj->_servant ();
- }
-
- int status = servant->_find (op,
- collocated_skel,
- strategy,
- op_len);
-
- if (status == -1)
- {
- ACE_THROW (CORBA::BAD_OPERATION ());
- }
-
- ACE_TRY
- {
- collocated_skel (servant,
- args,
- num_args
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
-#if (TAO_HAS_MINIMUM_CORBA == 0)
- ACE_CATCH (PortableServer::ForwardRequest, forward_request)
- {
- forward_obj =
- CORBA::Object::_duplicate (forward_request.forward_reference.in ());
- return;
- }
-#else
- ACE_CATCHANY
- {
- ACE_UNUSED_ARG (forward_obj);
- ACE_RE_THROW;
- }
-#endif /* TAO_HAS_MINIMUM_CORBA */
- ACE_ENDTRY;
- ACE_CHECK;
-}
-
-//
-// End Strategized Proxy Broker Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:648
-
-TAO::Collocation_Proxy_Broker *
-ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function (CORBA::Object_ptr)
-{
- return
- ::POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker::the_TAO_ServerInformationIterator_Strategized_Proxy_Broker ();
-}
-
-int
-ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer (size_t)
-{
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer =
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function;
-
- return 0;
-}
-
-static int
-ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer (
- reinterpret_cast<
- size_t> (
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_Initializer
- )
- );
-
-
-///////////////////////////////////////////////////////////////////////
-// ThruPOA Proxy Implementation
-//
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37
-
-POA_ImplementationRepository::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl (void)
-{}
-
-// ThruPOA Implementation of the IDL interface methods
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl::next_n (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ((TAO::Arg_Traits< ACE_InputCDR::to_boolean>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::ServerInformationIterator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- )
- )->next_n (
- ((TAO::Arg_Traits< CORBA::ULong>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52
-
-void
-POA_ImplementationRepository::_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl::destroy (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerInformationIterator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- )
- )->destroy (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End ThruPOA Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////
-// Direct Proxy Implementation
-//
-
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::_TAO_ServerInformationIterator_Direct_Proxy_Impl (void)
-{}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::next_n (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- ((TAO::Arg_Traits< ACE_InputCDR::to_boolean>::ret_val *) args[0])->arg () =
- reinterpret_cast<
- POA_ImplementationRepository::ServerInformationIterator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- )
- )->next_n (
- ((TAO::Arg_Traits< CORBA::ULong>::in_arg_val *) args[1])->arg (),
- ((TAO::Arg_Traits< ::ImplementationRepository::ServerInformationList>::out_arg_val *) args[2])->arg ()
- ACE_ENV_ARG_PARAMETER
- );
- ACE_CHECK;
-}// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
-
-void
-POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::destroy (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument **,
- int
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ))
-{
- reinterpret_cast<
- POA_ImplementationRepository::ServerInformationIterator_ptr> (
- servant->_downcast (
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- )
- )->destroy (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- ACE_CHECK;
-}
-
-//
-// End Direct Proxy Implementation
-///////////////////////////////////////////////////////////////////////
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:97
-
-POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void)
-{
- this->optable_ = &tao_ImplementationRepository_ServerInformationIterator_optable;
-}
-
-POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (const ServerInformationIterator& rhs)
- : TAO_Abstract_ServantBase (rhs),
- TAO_ServantBase (rhs)
-{
-}
-
-POA_ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void)
-{
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::ServerInformationIterator::next_n_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::ServerInformationIterator *> (
- _tao_servant
- );
- CORBA::Boolean _tao_retval = 0;
- ::CORBA::ULong how_many;
- ::ImplementationRepository::ServerInformationList_var server_list;
-
-
- if (!(
- (_tao_in >> how_many)
- ))
- {
- TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl,
-
- how_many
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- _tao_retval =
- _tao_impl->next_n (
- how_many,
-
- server_list.out ()
- ACE_ENV_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- CORBA::Boolean _tao_retval_info = _tao_retval;
- _tao_ri.result (_tao_retval_info);
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-#if (TAO_HAS_INTERCEPTORS == 1)
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(
- (_tao_out << CORBA::Any::from_boolean (_tao_retval)) &&
- (_tao_out << server_list.in ())
- ))
- {
- TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
-#endif /* TAO_HAS_INTERCEPTORS */
-
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_ss.cpp:98
-
-void POA_ImplementationRepository::ServerInformationIterator::destroy_skel (
- TAO_ServerRequest &_tao_server_request,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- static_cast<
- POA_ImplementationRepository::ServerInformationIterator *> (
- _tao_servant
- );
- _tao_server_request.argument_flag (0);
-
-
-#if (TAO_HAS_INTERCEPTORS == 1)
- TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
- static_cast<
- TAO_Object_Adapter::Servant_Upcall *> (
- _tao_servant_upcall
- );
-
- TAO_ServerRequestInterceptor_Adapter _tao_vfr (
- _tao_server_request.orb_core ()->server_request_interceptors (),
- _tao_server_request.interceptor_count ()
- );
-
- TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy _tao_ri (
- _tao_server_request,
- _tao_upcall,
- _tao_impl
- ACE_ENV_ARG_PARAMETER
- );
-
- ACE_TRY
- {
- {
- TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
- true /* Copy TSC to RSC */);
-
- _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (!_tao_vfr.location_forwarded ())
- {
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_impl->destroy (
- ACE_ENV_SINGLE_ARG_PARAMETER
- );
- TAO_INTERCEPTOR_CHECK;
-#if (TAO_HAS_INTERCEPTORS == 1)
- }
- }
-
- if (!_tao_vfr.location_forwarded ())
- {
- _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
- _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- _tao_ri.exception (&ACE_ANY_EXCEPTION);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
- || _tao_status == PortableInterceptor::USER_EXCEPTION)
- {
- ACE_RE_THROW;
- }
- }
-
-# if defined (ACE_HAS_EXCEPTIONS) \
- && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
- ACE_CATCHALL
- {
- CORBA::UNKNOWN ex;
-
- _tao_ri.exception (&ex);
- _tao_vfr.send_exception (
- &_tao_ri
- ACE_ENV_ARG_PARAMETER
- );
- ACE_TRY_CHECK;
-
- PortableInterceptor::ReplyStatus _tao_status =
- _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
- ACE_TRY_THROW (ex);
- }
-# endif /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
- ACE_ENDTRY;
- ACE_CHECK;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- _tao_server_request.init_reply ();
-
- // In case _tao_servant_upcall is not used in this function
- ACE_UNUSED_ARG (_tao_servant_upcall);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:162
-
-void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
-
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- (POA_ImplementationRepository::ServerInformationIterator *) _tao_servant;
-
- CORBA::Boolean _tao_retval = 0;
- CORBA::String_var value;
-
- if (!(_tao_in >> value.out ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-
- _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- (POA_ImplementationRepository::ServerInformationIterator *) _tao_servant;
-
- CORBA::Boolean _tao_retval =
- _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerInformationIterator::_interface_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_servant,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- TAO_IFR_Client_Adapter *_tao_adapter =
- ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
- TAO_ORB_Core::ifr_client_adapter_name ()
- );
-
- if (_tao_adapter == 0)
- {
- ACE_THROW (CORBA::INTF_REPOS ());
- }
-
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- (POA_ImplementationRepository::ServerInformationIterator *) _tao_servant;
-
- CORBA::InterfaceDef_ptr _tao_retval =
- _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- CORBA::Boolean _tao_result =
- _tao_adapter->interfacedef_cdr_insert (
- _tao_out,
- _tao_retval
- );
-
- _tao_adapter->dispose (_tao_retval);
-
- if (_tao_result == 0)
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-void POA_ImplementationRepository::ServerInformationIterator::_component_skel (
- TAO_ServerRequest &_tao_server_request,
- void * _tao_object_reference,
- void * /* Servant_Upcall */
- ACE_ENV_ARG_DECL
- )
-{
- POA_ImplementationRepository::ServerInformationIterator *_tao_impl =
- (POA_ImplementationRepository::ServerInformationIterator *) _tao_object_reference;
-
- CORBA::Object_var _tao_retval =
- _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK;
-
- _tao_server_request.init_reply ();
- TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
-
- if (!(_tao_out << _tao_retval.in ()))
- {
- ACE_THROW (CORBA::MARSHAL ());
- }
-}
-
-CORBA::Boolean POA_ImplementationRepository::ServerInformationIterator::_is_a (
- const char* value
- ACE_ENV_ARG_DECL_NOT_USED
- )
-{
- if (
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0"
- ) ||
- !ACE_OS::strcmp (
- (char *)value,
- "IDL:omg.org/CORBA/Object:1.0"
- )
- )
- {
- return 1;
- }
- else
- {
- return 0;
- }
-}
-
-void* POA_ImplementationRepository::ServerInformationIterator::_downcast (
- const char* logical_type_id
- )
-{
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0") == 0)
- {
- return static_cast<POA_ImplementationRepository::ServerInformationIterator_ptr> (this);
- }
-
- if (ACE_OS::strcmp (logical_type_id,
- "IDL:omg.org/CORBA/Object:1.0") == 0)
- {
- return static_cast<PortableServer::Servant> (this);
- }
-
- return 0;
-}
-
-const char* POA_ImplementationRepository::ServerInformationIterator::_interface_repository_id (void) const
-{
- return "IDL:ImplementationRepository/ServerInformationIterator:1.0";
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:584
-
-void POA_ImplementationRepository::ServerInformationIterator::_dispatch (
- TAO_ServerRequest &req,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- )
-{
- this->synchronous_upcall_dispatch (req,
- servant_upcall,
- this
- ACE_ENV_ARG_PARAMETER);
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_ss.cpp:526
-
-ImplementationRepository::ServerInformationIterator *
-POA_ImplementationRepository::ServerInformationIterator::_this (ACE_ENV_SINGLE_ARG_DECL)
-{
- TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
-
- TAO_Stub_Auto_Ptr safe_stub (stub);
- CORBA::Object_ptr tmp = CORBA::Object::_nil ();
-
- if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 1, this),
- 0
- );
- }
- else
- {
- ACE_NEW_RETURN (
- tmp,
- CORBA::Object (stub, 0, this),
- 0
- );
- }
-
- CORBA::Object_var obj = tmp;
- (void) safe_stub.release ();
-
- typedef ::ImplementationRepository::ServerInformationIterator STUB_SCOPED_NAME;
- return
- TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
- obj.in (),
- ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer
- );
-}
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_root/root.cpp:1680
-
-#if 0
-/* Useful at a later date.
-At present will be commented out */
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerObject>;
-
- template class
- TAO::Object_SArg_Traits_T<
- ImplementationRepository::ServerObject_ptr,
- ImplementationRepository::ServerObject_var,
- ImplementationRepository::ServerObject_out,
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::StartupOptions>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::StartupOptions,
- ImplementationRepository::StartupOptions_var,
- ImplementationRepository::StartupOptions_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformation>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_var,
- ImplementationRepository::ServerInformation_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformationList>;
-
- template class
- TAO::Var_Size_SArg_Traits_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_var,
- ImplementationRepository::ServerInformationList_out
- >;
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_
-
- template class TAO::SArg_Traits<ImplementationRepository::ServerInformationIterator>;
-
- template class
- TAO::Object_SArg_Traits_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_var,
- ImplementationRepository::ServerInformationIterator_out,
- >;
-
-#endif /* end #if !defined */
-
- template class
- TAO::Out_Var_Size_SArgument_T<
- ImplementationRepository::ServerInformationList,
- ImplementationRepository::ServerInformationList_out
- >;
-
- template class
- TAO::In_Var_Size_SArgument_T<
- ImplementationRepository::StartupOptions
- >;
-
- template class
- TAO::In_Object_SArgument_T<
- ImplementationRepository::ServerObject_ptr
- >;
-
- template class
- TAO::Out_Var_Size_SArgument_T<
- ImplementationRepository::ServerInformation,
- ImplementationRepository::ServerInformation_out
- >;
-
- template class
- TAO::Out_Object_SArgument_T<
- ImplementationRepository::ServerInformationIterator_ptr,
- ImplementationRepository::ServerInformationIterator_out
- >;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerObject>
-
-# pragma instantiate \
- TAO::Object_SArg_Traits_T< \
- ImplementationRepository::ServerObject_ptr, \
- ImplementationRepository::ServerObject_var, \
- ImplementationRepository::ServerObject_out, \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::StartupOptions>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::StartupOptions, \
- ImplementationRepository::StartupOptions_var, \
- ImplementationRepository::StartupOptions_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformation>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_var, \
- ImplementationRepository::ServerInformation_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformationList>
-
-# pragma instantiate \
- TAO::Var_Size_SArg_Traits_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_var, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-#endif /* end #if !defined */
-
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_TMPLINST_SS_
-
-# pragma instantiate TAO::SArg_Traits<ImplementationRepository::ServerInformationIterator>
-
-# pragma instantiate \
- TAO::Object_SArg_Traits_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_var, \
- ImplementationRepository::ServerInformationIterator_out, \
- >
-
-#endif /* end #if !defined */
-
-# pragma instantiate \
- TAO::Out_Var_Size_SArgument_T< \
- ImplementationRepository::ServerInformationList, \
- ImplementationRepository::ServerInformationList_out \
- >
-
-# pragma instantiate \
- TAO::In_Var_Size_SArgument_T< \
- ImplementationRepository::StartupOptions \
- >
-
-# pragma instantiate \
- TAO::In_Object_SArgument_T< \
- ImplementationRepository::ServerObject_ptr \
- >
-
-# pragma instantiate \
- TAO::Out_Var_Size_SArgument_T< \
- ImplementationRepository::ServerInformation, \
- ImplementationRepository::ServerInformation_out \
- >
-
-# pragma instantiate \
- TAO::Out_Object_SArgument_T< \
- ImplementationRepository::ServerInformationIterator_ptr, \
- ImplementationRepository::ServerInformationIterator_out \
- >
-
-#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-#endif /*if 0*/
-
-
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImplRepoS.h b/TAO/tao/PortableServer/ImplRepoS.h
deleted file mode 100644
index a7fc6e3a573..00000000000
--- a/TAO/tao/PortableServer/ImplRepoS.h
+++ /dev/null
@@ -1,1346 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:409
-
-#ifndef _TAO_IDL_IMPLREPOS_H_
-#define _TAO_IDL_IMPLREPOS_H_
-
-#include /**/ "ace/pre.h"
-
-#include "ImplRepoC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/Collocation_Proxy_Broker.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Base.h"
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_sh.cpp:49
-
-namespace POA_ImplementationRepository
-{
-
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_sh.cpp:90
-
- class ServerObject;
- typedef ServerObject *ServerObject_ptr;
-
- class _TAO_ServerObject_ThruPOA_Proxy_Impl;
- class _TAO_ServerObject_Direct_Proxy_Impl;
- class _TAO_ServerObject_Strategized_Proxy_Broker;
-
- class TAO_PortableServer_Export ServerObject
- : public virtual PortableServer::ServantBase
- {
- protected:
- ServerObject (void);
-
- public:
- // Useful for template programming.
- typedef ::ImplementationRepository::ServerObject _stub_type;
- typedef ::ImplementationRepository::ServerObject_ptr _stub_ptr_type;
- typedef ::ImplementationRepository::ServerObject_var _stub_var_type;
-
- ServerObject (const ServerObject& rhs);
- virtual ~ServerObject (void);
-
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual void* _downcast (
- const char* logical_type_id
- );
-
- static void _is_a_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _non_existent_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _interface_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _component_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- virtual void _dispatch (
- TAO_ServerRequest &req,
- void *_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- ::ImplementationRepository::ServerObject *_this (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void ping (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void ping_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void shutdown (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void shutdown_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
- };
-
- ///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
- class TAO_PortableServer_Export _TAO_ServerObject_Strategized_Proxy_Broker
- : public virtual TAO::Collocation_Proxy_Broker
- {
- public:
- _TAO_ServerObject_Strategized_Proxy_Broker (void);
-
- virtual ~_TAO_ServerObject_Strategized_Proxy_Broker (void);
-
- TAO::Collocation_Strategy
- get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception));
-
- static _TAO_ServerObject_Strategized_Proxy_Broker *
- the_TAO_ServerObject_Strategized_Proxy_Broker (void);
- };
-
- //
- // End Strategized Proxy Broker Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
- ///////////////////////////////////////////////////////////////////////
- // ThruPOA Proxy Impl. Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_sh.cpp:37
-
- class TAO_PortableServer_Export _TAO_ServerObject_ThruPOA_Proxy_Impl
- {
- public:
- _TAO_ServerObject_ThruPOA_Proxy_Impl (void);
-
- virtual ~_TAO_ServerObject_ThruPOA_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- ping (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- };
-
- //
- // ThruPOA Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
- ///////////////////////////////////////////////////////////////////////
- // Direct Impl. Declaration
- //
-
- class TAO_PortableServer_Export _TAO_ServerObject_Direct_Proxy_Impl
- {
- public:
- _TAO_ServerObject_Direct_Proxy_Impl (void);
-
- virtual ~_TAO_ServerObject_Direct_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- ping (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- };
-
- //
- // Direct Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_sh.cpp:90
-
- class Administration;
- typedef Administration *Administration_ptr;
-
- class _TAO_Administration_ThruPOA_Proxy_Impl;
- class _TAO_Administration_Direct_Proxy_Impl;
- class _TAO_Administration_Strategized_Proxy_Broker;
-
- class TAO_PortableServer_Export Administration
- : public virtual PortableServer::ServantBase
- {
- protected:
- Administration (void);
-
- public:
- // Useful for template programming.
- typedef ::ImplementationRepository::Administration _stub_type;
- typedef ::ImplementationRepository::Administration_ptr _stub_ptr_type;
- typedef ::ImplementationRepository::Administration_var _stub_var_type;
-
- Administration (const Administration& rhs);
- virtual ~Administration (void);
-
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual void* _downcast (
- const char* logical_type_id
- );
-
- static void _is_a_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _non_existent_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _interface_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _component_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- virtual void _dispatch (
- TAO_ServerRequest &req,
- void *_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- ::ImplementationRepository::Administration *_this (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void activate_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- )) = 0;
-
- static void activate_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual char * activate_server_with_startup (
- const char * server,
- ::CORBA::Long check_startup
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- )) = 0;
-
- static void activate_server_with_startup_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void register_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void register_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void reregister_server (
- const char * server,
- const ::ImplementationRepository::StartupOptions & options
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void reregister_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void remove_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void remove_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void shutdown_server (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void shutdown_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void server_is_running (
- const char * server,
- const char * addr,
- ::ImplementationRepository::ServerObject_ptr server_object
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void server_is_running_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void server_is_shutting_down (
- const char * server
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void server_is_shutting_down_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void find (
- const char * server,
- ::ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void find_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void list (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list,
- ::ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void list_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void shutdown_repo (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void shutdown_repo_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual char * find_ior (
- const char * object_name
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- )) = 0;
-
- static void find_ior_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
- };
-
- ///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
- class TAO_PortableServer_Export _TAO_Administration_Strategized_Proxy_Broker
- : public virtual TAO::Collocation_Proxy_Broker
- {
- public:
- _TAO_Administration_Strategized_Proxy_Broker (void);
-
- virtual ~_TAO_Administration_Strategized_Proxy_Broker (void);
-
- TAO::Collocation_Strategy
- get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception));
-
- static _TAO_Administration_Strategized_Proxy_Broker *
- the_TAO_Administration_Strategized_Proxy_Broker (void);
- };
-
- //
- // End Strategized Proxy Broker Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
- ///////////////////////////////////////////////////////////////////////
- // ThruPOA Proxy Impl. Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_sh.cpp:37
-
- class TAO_PortableServer_Export _TAO_Administration_ThruPOA_Proxy_Impl
- {
- public:
- _TAO_Administration_ThruPOA_Proxy_Impl (void);
-
- virtual ~_TAO_Administration_ThruPOA_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
- };
-
- //
- // ThruPOA Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
- ///////////////////////////////////////////////////////////////////////
- // Direct Impl. Declaration
- //
-
- class TAO_PortableServer_Export _TAO_Administration_Direct_Proxy_Impl
- {
- public:
- _TAO_Administration_Direct_Proxy_Impl (void);
-
- virtual ~_TAO_Administration_Direct_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- activate_server_with_startup (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound,
- ::ImplementationRepository::CannotActivate
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- register_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- reregister_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- remove_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_server (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_running (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- server_is_shutting_down (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- list (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- shutdown_repo (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- find_ior (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
- ));
- };
-
- //
- // Direct Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/interface_sh.cpp:90
-
- class ServerInformationIterator;
- typedef ServerInformationIterator *ServerInformationIterator_ptr;
-
- class _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl;
- class _TAO_ServerInformationIterator_Direct_Proxy_Impl;
- class _TAO_ServerInformationIterator_Strategized_Proxy_Broker;
-
- class TAO_PortableServer_Export ServerInformationIterator
- : public virtual PortableServer::ServantBase
- {
- protected:
- ServerInformationIterator (void);
-
- public:
- // Useful for template programming.
- typedef ::ImplementationRepository::ServerInformationIterator _stub_type;
- typedef ::ImplementationRepository::ServerInformationIterator_ptr _stub_ptr_type;
- typedef ::ImplementationRepository::ServerInformationIterator_var _stub_var_type;
-
- ServerInformationIterator (const ServerInformationIterator& rhs);
- virtual ~ServerInformationIterator (void);
-
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual void* _downcast (
- const char* logical_type_id
- );
-
- static void _is_a_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _non_existent_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _interface_skel (
- TAO_ServerRequest &req,
- void *servant,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- static void _component_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- virtual void _dispatch (
- TAO_ServerRequest &req,
- void *_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- ::ImplementationRepository::ServerInformationIterator *_this (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- );
-
- virtual const char* _interface_repository_id (void) const;
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual CORBA::Boolean next_n (
- ::CORBA::ULong how_many,
- ::ImplementationRepository::ServerInformationList_out server_list
- ACE_ENV_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void next_n_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
-
- static void destroy_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_servant,
- void *_tao_servant_upcall
- ACE_ENV_ARG_DECL
- );
- };
-
- ///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
- class TAO_PortableServer_Export _TAO_ServerInformationIterator_Strategized_Proxy_Broker
- : public virtual TAO::Collocation_Proxy_Broker
- {
- public:
- _TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
-
- virtual ~_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
-
- TAO::Collocation_Strategy
- get_strategy (
- CORBA::Object_ptr obj
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- void
- dispatch (
- CORBA::Object_ptr obj,
- CORBA::Object_out forward_obj,
- TAO::Argument ** args,
- int num_args,
- const char * op,
- size_t op_len,
- TAO::Collocation_Strategy strategy
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((CORBA::Exception));
-
- static _TAO_ServerInformationIterator_Strategized_Proxy_Broker *
- the_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
- };
-
- //
- // End Strategized Proxy Broker Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
- ///////////////////////////////////////////////////////////////////////
- // ThruPOA Proxy Impl. Declaration
- //
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/thru_poa_proxy_impl_sh.cpp:37
-
- class TAO_PortableServer_Export _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl
- {
- public:
- _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl (void);
-
- virtual ~_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- next_n (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- destroy (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- };
-
- //
- // ThruPOA Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
- ///////////////////////////////////////////////////////////////////////
- // Direct Impl. Declaration
- //
-
- class TAO_PortableServer_Export _TAO_ServerInformationIterator_Direct_Proxy_Impl
- {
- public:
- _TAO_ServerInformationIterator_Direct_Proxy_Impl (void);
-
- virtual ~_TAO_ServerInformationIterator_Direct_Proxy_Impl (void) {}
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- next_n (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
- // TAO_IDL - Generated from
- // E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_operation/proxy_impl_xh.cpp:24
-
- static void
- destroy (
- TAO_Abstract_ServantBase *servant,
- TAO::Argument ** args,
- int num_args
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- };
-
- //
- // Direct Proxy Impl. Declaration
- ///////////////////////////////////////////////////////////////////////
-
-
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_visitor_module/module_sh.cpp:80
-
-} // module ImplementationRepository
-
-// TAO_IDL - Generated from
-// E:\doc_cvs\ACE_wrappers\TAO\TAO_IDL\be\be_codegen.cpp:1012
-
-
-#if defined (__ACE_INLINE__)
-#include "ImplRepoS.inl"
-#endif /* defined INLINE */
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#include /**/ "ace/post.h"
-#endif /* ifndef */
diff --git a/TAO/tao/PortableServer/ImplRepoS.inl b/TAO/tao/PortableServer/ImplRepoS.inl
deleted file mode 100644
index 1d2df31bd57..00000000000
--- a/TAO/tao/PortableServer/ImplRepoS.inl
+++ /dev/null
@@ -1,26 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
diff --git a/TAO/utils/catior/catior.cpp b/TAO/utils/catior/catior.cpp
index 494a15cd204..2f6b5e595cb 100644
--- a/TAO/utils/catior/catior.cpp
+++ b/TAO/utils/catior/catior.cpp
@@ -17,24 +17,18 @@
// Jason Cohen, Lockheed Martin ATL <jcohen@atl.lmco.com>
//
// ============================================================================
-// FUZZ: disable check_for_streams_include
#include "ace/Codeset_Registry.h"
#include "ace/Get_Opt.h"
#include "ace/streams.h"
-#include "ace/os_include/os_ctype.h"
+#include "tao/corba.h"
#include "tao/IIOP_Profile.h"
#include "tao/Messaging_PolicyValueC.h"
#include "tao/Messaging/Messaging_RT_PolicyC.h"
#include "tao/Messaging/Messaging_SyncScope_PolicyC.h"
#include "tao/Messaging/Messaging_No_ImplC.h"
#include "tao/RTCORBA/RTCORBA.h"
-#include "tao/Typecode.h"
-#include "tao/Marshal.h"
-#include "tao/ORB_Constants.h"
-#include "tao/Transport_Acceptor.h"
-#include "tao/IIOP_EndpointsC.h"
-#include "tao/CDR.h"
+#include "tao/iiop_endpoints.h"
static CORBA::Boolean
@@ -87,7 +81,7 @@ catiiop (char* string
if (cp == 0)
{
- ACE_THROW_RETURN (CORBA::DATA_CONVERSION (), 0);
+ ACE_THROW_RETURN (CORBA_DATA_CONVERSION (), 0);
}
hostname = CORBA::string_alloc (1 + cp - string);
@@ -105,7 +99,7 @@ catiiop (char* string
if (cp == 0)
{
CORBA::string_free (hostname);
- ACE_THROW_RETURN (CORBA::DATA_CONVERSION (), 0);
+ ACE_THROW_RETURN (CORBA_DATA_CONVERSION (), 0);
}
port_number = (short) ACE_OS::atoi ((char *) string);
@@ -132,8 +126,10 @@ catiiop (char* string
static CORBA::Boolean
cat_iiop_profile (TAO_InputCDR& cdr);
+#if 0
static CORBA::Boolean
cat_sciop_profile (TAO_InputCDR& cdr);
+#endif /*if 0*/
static CORBA::Boolean
cat_uiop_profile (TAO_InputCDR& cdr);
@@ -206,7 +202,7 @@ catior (char* str
{
ACE_DEBUG ((LM_DEBUG,
"cannot read type id\n"));
- return TAO::TRAVERSE_STOP;
+ return CORBA::TypeCode::TRAVERSE_STOP;
}
ACE_DEBUG ((LM_DEBUG,
@@ -234,7 +230,7 @@ catior (char* str
{
ACE_DEBUG ((LM_DEBUG,
"cannot read the profile count\n"));
- return TAO::TRAVERSE_STOP;
+ return CORBA::TypeCode::TRAVERSE_STOP;
}
CORBA::ULong profile_counter = 0;
@@ -245,7 +241,7 @@ catior (char* str
// No profiles means a NIL objref.
if (profiles == 0)
- return TAO::TRAVERSE_CONTINUE;
+ return CORBA_TypeCode::TRAVERSE_CONTINUE;
else
while (profiles-- != 0)
{
@@ -272,12 +268,19 @@ catior (char* str
continue_decoding = cat_iiop_profile (stream);
ACE_DEBUG ((LM_DEBUG, "%}"));
}
+
+// the SCIOR decoding is disabled in the main branch. This will be
+// enabled when SCTP_O branch is merged in.
+// gthaker@atl.lmco.com, Feb 11, 2003.
+#if 0
else if (tag == TAO_TAG_SCIOP_PROFILE)
{
ACE_DEBUG ((LM_DEBUG, "%{"));
continue_decoding = cat_sciop_profile (stream);
ACE_DEBUG ((LM_DEBUG, "%}"));
}
+#endif
+
else if (tag == TAO_TAG_UIOP_PROFILE)
{
ACE_DEBUG ((LM_DEBUG, "%{"));
@@ -436,7 +439,7 @@ catpoop (char* string
int
main (int argc, char *argv[])
{
- ACE_Get_Opt get_opt (argc, argv, "f:");
+ ACE_Get_Opt get_opt (argc, argv, "f:n:");
ACE_DECLARE_NEW_CORBA_ENV;
CORBA::ORB_var orb_var = CORBA::ORB_init (argc, argv, "TAO" ACE_ENV_ARG_PARAMETER);
@@ -447,6 +450,15 @@ main (int argc, char *argv[])
{
switch (opt)
{
+ case 'n':
+ // Read the CosName from the NamingService convert the
+ // object_ptr to a CORBA::String_var via the call to
+ // object_to_string.
+ ACE_DEBUG ((LM_DEBUG,
+ "opening a connection to the NamingService\n"
+ "resolving the CosName %s\n",
+ get_opt.opt_arg ()));
+ break;
case 'f':
{
// Read the file into a CORBA::String_var.
@@ -490,7 +502,7 @@ main (int argc, char *argv[])
// Strip the IOR: off the string.
ACE_CString prefix = "IOR:";
- short prefixLength = prefix.length ();
+ size_t prefixLength = prefix.length ();
ACE_CString subString =
aString.substring (prefixLength,
@@ -505,7 +517,7 @@ main (int argc, char *argv[])
"decoding an IIOP URL IOR\n"));
ACE_CString prefix = "IIOP:";
- short prefixLength = prefix.length ();
+ size_t prefixLength = prefix.length ();
ACE_CString subString =
aString.substring (prefixLength,
@@ -541,6 +553,7 @@ main (int argc, char *argv[])
ACE_ERROR_RETURN ((LM_ERROR,
"Usage: %s "
"-f filename "
+ "-n CosName "
"\n"
"Reads an IOR "
"and dumps the contents to stdout "
@@ -589,13 +602,9 @@ cat_tao_tag_endpoints (TAO_InputCDR& stream) {
TAO_InputCDR stream2 (stream, length);
stream.skip_bytes(length);
- TAO::IIOPEndpointSequence epseq;
+ TAO_IIOPEndpointSequence epseq;
stream2 >> epseq;
- ACE_DEBUG ((LM_DEBUG,
- "%I Number of endpoints: %d\n",
- epseq.length()));
-
for (unsigned int iter=0; iter < epseq.length() ; iter++) {
ACE_DEBUG ((LM_DEBUG,
"%I Endpoint #%d:\n",iter+1));
@@ -613,37 +622,23 @@ cat_tao_tag_endpoints (TAO_InputCDR& stream) {
}
static CORBA::Boolean
-cat_tag_group (TAO_InputCDR& stream) {
-/*
-ID is 27
-Component Value len: 36
-Component Value as hex:
-01 01 00 cd 0f 00 00 00 64 65 66 61 75 6c 74 2d
-64 6f 6d 61 69 6e 00 cd 01 00 00 00 00 00 00 00
-02 00 00 00
-The Component Value as string:
- ...-....default-domain.-............
-*/
-
-#if 1
- cat_octet_seq ("TAG_GROUP", stream);
-#else
- CORBA::Octet version_major;
- if (stream.read_octet(version_major) == 0)
- {
+cat_tag_alternate_endpoints (TAO_InputCDR& stream) {
+ CORBA::ULong length = 0;
+ if (stream.read_ulong (length) == 0)
return 1;
- }
- CORBA::Octet version_minor;
- if (stream.read_octet(version_minor) == 0)
- {
- return 1;
- }
+ TAO_InputCDR stream2 (stream, length);
+ stream.skip_bytes(length);
-#endif
+ TAG_ALTERNATE_IIOP_Endpoint_Info ei;
+ if ((stream2 >> ei) == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,"cannot extract endpoint info\n"),0);
+ ACE_DEBUG ((LM_DEBUG,
+ "%I endpoint: %s:%u\n",ei.host.in(),(unsigned short)ei.port));
return 1;
}
+
static CORBA::Boolean
cat_tag_policies (TAO_InputCDR& stream) {
CORBA::ULong length = 0;
@@ -827,7 +822,8 @@ cat_octet_seq (const char *object_name,
for (i = 0; i < length; i++)
{
char c = objKey[i];
- if (isprint (c))
+ int tmp = (unsigned char) c; // isprint doesn't work with negative vals.(except EOF)
+ if (isprint (tmp))
ACE_DEBUG ((LM_DEBUG, "%c", c));
else
ACE_DEBUG ((LM_DEBUG, "."));
@@ -888,7 +884,7 @@ cat_codeset_info(TAO_InputCDR& stream)
CORBA::ULong byteOrder;
stream >> byteOrder;
- if( byteOrder )
+ if (byteOrder)
{
ACE_DEBUG ((LM_DEBUG,
"\tThe Component Byte Order:\tLittle Endian\n"));
@@ -900,41 +896,42 @@ cat_codeset_info(TAO_InputCDR& stream)
// CodesetId for char
// CORBA::ULong c_ncsId;
ACE_DEBUG ((LM_DEBUG, "\tNative CodeSet for char: "));
- displayHex( stream );
+ displayHex (stream);
// number of Conversion Codesets for char
CORBA::ULong c_ccslen=0;
stream >> c_ccslen;
ACE_DEBUG ((LM_DEBUG, "\tNumber of CCS for char %u \n", c_ccslen));
- if( c_ccslen )
+ if (c_ccslen)
ACE_DEBUG ((LM_DEBUG, "\tConversion Codesets for char are: \n"));
// Loop through and display them
- for( CORBA::ULong index=0; index < c_ccslen; ++index)
+ CORBA::ULong index = 0;
+ for ( ; index < c_ccslen; ++index)
{
// CodesetId for char
ACE_DEBUG ((LM_DEBUG, "\t%u) ", index + 1L));
- displayHex( stream );
+ displayHex (stream);
}
// CodesetId for wchar
ACE_DEBUG ((LM_DEBUG, "\tNative CodeSet for wchar: "));
- displayHex( stream );
+ displayHex (stream);
// number of Conversion Codesets for char
CORBA::ULong w_ccslen=0;
stream >> w_ccslen;
ACE_DEBUG ((LM_DEBUG, "\tNumber of CCS for wchar %u \n", w_ccslen));
- if( w_ccslen )
+ if (w_ccslen)
ACE_DEBUG ((LM_DEBUG, "\tConversion Codesets for wchar are: \n"));
// Loop through and display them
- for( CORBA::ULong index2=0; index2 < w_ccslen; ++index2)
+ for (index = 0; index < w_ccslen; ++index)
{
- ACE_DEBUG ((LM_DEBUG, "\t %u) ", index2 + 1L));
- displayHex( stream );
+ ACE_DEBUG ((LM_DEBUG, "\t %u) ", index + 1L));
+ displayHex (stream);
}
return 1;
}
@@ -971,7 +968,7 @@ cat_tagged_components (TAO_InputCDR& stream)
} else if (tag == IOP::TAG_ALTERNATE_IIOP_ADDRESS) {
ACE_DEBUG ((LM_DEBUG,"%d (TAG_ALTERNATE_IIOP_ADDRESS)\n", tag));
ACE_DEBUG ((LM_DEBUG, "%{%{"));
- cat_octet_seq ("Component Value" ,stream);
+ cat_tag_alternate_endpoints (stream);
ACE_DEBUG ((LM_DEBUG, "%}%}"));
} else if (tag == TAO_TAG_ENDPOINTS) {
@@ -985,16 +982,6 @@ cat_tagged_components (TAO_InputCDR& stream)
ACE_DEBUG ((LM_DEBUG, "%{%{"));
cat_tag_policies(stream);
ACE_DEBUG ((LM_DEBUG, "%}%}"));
- } else if (tag == IOP::TAG_FT_GROUP) { //@@ PortableGroup will rename this TAG_GROUP
- ACE_DEBUG ((LM_DEBUG,"%d (TAG_GROUP)\n", tag));
- ACE_DEBUG ((LM_DEBUG, "%{%{"));
- cat_tag_group (stream);
- ACE_DEBUG ((LM_DEBUG, "%}%}"));
- } else if (tag == IOP::TAG_FT_PRIMARY) { //@@ PortableGroup will rename this TAG_PRIMARY
- ACE_DEBUG ((LM_DEBUG,"%d (TAG_PRIMARY)\n", tag));
- ACE_DEBUG ((LM_DEBUG, "%{%{"));
- cat_octet_seq ("TAG_PRIMARY", stream);
- ACE_DEBUG ((LM_DEBUG, "%}%}"));
} else {
ACE_DEBUG ((LM_DEBUG,"%d\n", tag));
ACE_DEBUG ((LM_DEBUG, "%{%{"));
@@ -1163,6 +1150,7 @@ cat_uiop_profile (TAO_InputCDR& stream)
return 1;
}
+#if 0
static CORBA::Boolean
cat_sciop_profile (TAO_InputCDR& stream)
{
@@ -1253,3 +1241,4 @@ cat_sciop_profile (TAO_InputCDR& stream)
return 1;
}
+#endif /*if 0*/
diff --git a/bin/MakeProjectCreator/config/imr_activator.mpb b/bin/MakeProjectCreator/config/imr_activator.mpb
new file mode 100644
index 00000000000..1ce86ff8f03
--- /dev/null
+++ b/bin/MakeProjectCreator/config/imr_activator.mpb
@@ -0,0 +1,4 @@
+project : minimum_corba {
+ after += ImR_Activator
+ libs += TAO_ImR_Activator
+}
diff --git a/bin/MakeProjectCreator/config/imr_locator.mpb b/bin/MakeProjectCreator/config/imr_locator.mpb
new file mode 100644
index 00000000000..98ad3734a1f
--- /dev/null
+++ b/bin/MakeProjectCreator/config/imr_locator.mpb
@@ -0,0 +1,4 @@
+project : orbsvcsexe, minimum_corba {
+ after += ImR_Locator
+ libs += TAO_ImR_Locator
+}