summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-05-23 17:58:35 +0000
committermichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-05-23 17:58:35 +0000
commita9f7c13cc5880361f10b33316275c1e2bdb0531c (patch)
tree356619b2ce4020f571bb845e627617e0f66a9281
parent4eeeea501494df9261c59786e45483d4fed92569 (diff)
downloadATCD-a9f7c13cc5880361f10b33316275c1e2bdb0531c.tar.gz
ChangeLogTag: Mon May 23 12:38:31 2005 Justin Michel <michel_j@ociweb.com>
-rw-r--r--TAO/ChangeLog197
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp13
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp46
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl2
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp50
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h8
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp47
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp177
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h44
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp15
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Options.h6
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp32
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h2
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/README.txt2
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp373
-rw-r--r--TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h75
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Advanced.mpc39
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Manager.idl9
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Manager_i.cpp39
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Manager_i.h39
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Messenger.idl6
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.cpp41
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.h40
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/README37
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/TestClient.cpp255
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/TestClient.h37
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/TestServer.cpp525
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/TestServer.h51
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/client_main.cpp25
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/all6
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/defaults76
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/environment14
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/invocation48
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/persistence57
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/retry28
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/use_environment19
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/use_invocation12
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/drivers/use_persistence22
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/manager_main.cpp59
-rwxr-xr-xTAO/orbsvcs/examples/ImR/Advanced/run_test.pl519
-rw-r--r--TAO/orbsvcs/examples/ImR/Advanced/server_main.cpp26
-rw-r--r--TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp18
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp69
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp23
-rw-r--r--TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h4
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/airplane_server_i.cpp67
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/airplane_server_i.h2
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/locked/run_test.pl32
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/nestea_server_i.cpp82
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/nestea_server_i.h3
-rwxr-xr-xTAO/orbsvcs/tests/ImplRepo/run_test.pl336
-rw-r--r--TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp5
-rwxr-xr-xTAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl2
-rw-r--r--TAO/tao/ImR_Client/ImR_Client.cpp17
-rw-r--r--TAO/tao/ImR_Client/ImplRepo.pidl35
-rw-r--r--TAO/tao/ImR_Client/ImplRepoA.cpp1069
-rw-r--r--TAO/tao/ImR_Client/ImplRepoC.cpp1528
-rw-r--r--TAO/tao/ImR_Client/ImplRepoC.h502
-rw-r--r--TAO/tao/ImR_Client/ImplRepoC.inl4
-rw-r--r--TAO/tao/ImR_Client/ImplRepoS.cpp1298
-rw-r--r--TAO/tao/ImR_Client/ImplRepoS.h387
-rw-r--r--TAO/tao/ORB_Core.cpp5
63 files changed, 5401 insertions, 3208 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index fd0444dc1b9..f6394aec5f7 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,8 +1,141 @@
+Mon May 23 12:38:31 2005 Justin Michel <michel_j@ociweb.com>
+
+ * orbsvcs/ImplRepo_Service/Activator_Options.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Activator.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Activator.idl:
+ * orbsvcs/ImplRepo_Service/ImR_Activator_i.h:
+ * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Locator.cpp:
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.h:
+ * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_Options.h:
+ * orbsvcs/ImplRepo_Service/Locator_Options.cpp:
+ * orbsvcs/ImplRepo_Service/Locator_Repository.h:
+ * orbsvcs/ImplRepo_Service/Locator_Repository.cpp:
+ * orbsvcs/ImplRepo_Service/README.txt:
+ * orbsvcs/ImplRepo_Service/tao_imr_i.h:
+ * orbsvcs/ImplRepo_Service/tao_imr_i.cpp:
+ * tao/ImR_Client/ImR_Client.cpp:
+ * tao/ImR_Client/ImplRepo.pidl:
+ * tao/ImR_Client/ImplRepoC.h:
+ * tao/ImR_Client/ImplRepoC.inl:
+ * tao/ImR_Client/ImplRepoC.cpp:
+ * tao/ImR_Client/ImplRepoS.h:
+ * tao/ImR_Client/ImplRepoS.cpp:
+
+ Several bug fixes and enhancments to the ImR.
+ Cleaned up the perl to use strict and compile without warnings.
+ Displayed a message that the poa was being registered with the
+ ImR even when -orbuseimr 0 was specified.
+ Stop printing the exception details for unexpected exceptions
+ that happen during a call to server->shutdown(). At least on
+ windows, we often get COMM_FAILURE or TRANSIENT, because the
+ socket is not shutdown gracefully by the server.
+ Don't print the exception when a TRANSIENT is received while
+ pinging the server. This is not an error. Not sure why we were
+ getting 'No usable profile in IOR' messages though, when we
+ expect a 'POA in holding state'.
+ Merge in changes to support ImplRepo_Service -e, which
+ will clear the repository on startup. This makes it easier to write
+ persistence tests, and might be useful in general.
+ Updated to automatically set the ImplRepoServiceIOR and
+ TAO_USE_IMR environment variables, obviating the need to pass
+ -orbuseimr or -orbinitref ImplRepoService=... when using an
+ Activator to start a server.
+ Add -orbuseimr 0 to the cmd line args, so that the TAO_USE_IMR=1
+ environment variable can be used safely.
+ Fix incorrect exception specifications in activator.
+ Fix command line help descriptions.
+ Combine add/update operations in the imr and imr util.
+ Support clean shutdown using ctrl-c as well as the
+ imr util shutdown-repo command.
+ Add detection of server process death, and an option to
+ notify the ImR when this happens, to the activator.
+ Fix some problems with exception macros and unused vars.
+ Fix bug with case-insensitive activator name and binary persistence.
+
+
+ * orbsvcs/examples/ImR/Advanced/Advanced.mpc:
+ * orbsvcs/examples/ImR/Advanced/Manager.idl:
+ * orbsvcs/examples/ImR/Advanced/Manager_i.h:
+ * orbsvcs/examples/ImR/Advanced/Manager_i.cpp:
+ * orbsvcs/examples/ImR/Advanced/Messenger.idl:
+ * orbsvcs/examples/ImR/Advanced/Messenger_i.h:
+ * orbsvcs/examples/ImR/Advanced/Messenger_i.cpp:
+ * orbsvcs/examples/ImR/Advanced/README:
+ * orbsvcs/examples/ImR/Advanced/TestClient.h:
+ * orbsvcs/examples/ImR/Advanced/TestClient.cpp:
+ * orbsvcs/examples/ImR/Advanced/TestServer.h:
+ * orbsvcs/examples/ImR/Advanced/TestServer.cpp:
+ * orbsvcs/examples/ImR/Advanced/client_main.cpp:
+ * orbsvcs/examples/ImR/Advanced/drivers/all:
+ * orbsvcs/examples/ImR/Advanced/drivers/defaults:
+ * orbsvcs/examples/ImR/Advanced/drivers/environment:
+ * orbsvcs/examples/ImR/Advanced/drivers/invocation:
+ * orbsvcs/examples/ImR/Advanced/drivers/persistence:
+ * orbsvcs/examples/ImR/Advanced/drivers/retry:
+ * orbsvcs/examples/ImR/Advanced/drivers/use_environment:
+ * orbsvcs/examples/ImR/Advanced/drivers/use_invocation:
+ * orbsvcs/examples/ImR/Advanced/drivers/use_persistence:
+ * orbsvcs/examples/ImR/Advanced/manager_main.cpp:
+ * orbsvcs/examples/ImR/Advanced/run_test.pl:
+ * orbsvcs/examples/ImR/Advanced/server_main.cpp:
+
+ Dave Giovannini's new test which provides greater
+ coverage of ImR features. Some tests are still failing, so
+ this is not ready to be enabled for nightly builds.
+
+ * orbsvcs/orbsvcs/IOR_Multicast.cpp:
+
+ Fixed bug in unregistration, and updated log messages
+ to show the name of the class and method being logged.
+
+ * orbsvcs/orbsvcs/Notify/XML_Saver.h:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+
+ Updated to use the new ACEXML_escape_string() function.
+
+ * orbsvcs/orbsvcs/Shutdown_Utilities.h:
+ * orbsvcs/orbsvcs/Shutdown_Utilities.cpp:
+
+ Updated to work on Windows.
+
+ * orbsvcs/tests/ImplRepo/airplane_server_i.h:
+ * orbsvcs/tests/ImplRepo/airplane_server_i.cpp:
+ * orbsvcs/tests/ImplRepo/locked/run_test.pl:
+ * orbsvcs/tests/ImplRepo/nestea_server_i.h:
+ * orbsvcs/tests/ImplRepo/nestea_server_i.cpp:
+ * orbsvcs/tests/ImplRepo/run_test.pl:
+ * orbsvcs/tests/ImplRepo/scale/server_i.cpp:
+
+ Basic code cleanup to match latest 1.4a.
+ Some tests were not shutting down correctly, and were
+ activating the poa manager too soon.
+ Nestea test prints the contents of ImplRepoServiceIOR and TAO_USE_IMR.
+ Stop passing -orbuseimr 1 and imr_init_ref in the command lines
+ registered with the ImR.
+
+
+ * orbsvcs/tests/Notify/Reconnecting/run_test.pl:
+
+ Use -ORBObjRefStyle URL so that the XML file has consistent
+ contents, and can be compared for equality. This should let this
+ test pass on more (all?) platforms.
+
+ * tao/ORB_Core.cpp:
+
+ Add missing support for -ORBObjRefStyle IOR.
+
+ * tao/ImR_Client/ImplRepoA.cpp:
+
+ Removed this file, because the idl command line wasn't set to generate it.
+
+
Mon May 23 06:12:01 2005 J.T. Conklin <jtc@acorntoolworks.com>
- * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::remove_old_records):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::remove_old_records):
- Fixed tipo introduced in last change.
+ Fixed tipo introduced in last change.
Mon May 23 12:27:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -161,46 +294,46 @@ Mon May 23 05:31:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Sun May 22 22:10:00 2005 J.T. Conklin <jtc@acorntoolworks.com>
- * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp (display_records)
- (delete_records):
+ * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp (display_records)
+ (delete_records):
- Changed query language parameter from "TCL" to "EXTENDED_TCL".
+ Changed query language parameter from "TCL" to "EXTENDED_TCL".
- * orbsvcs/orbsvcs/Log/Log_i.cpp (QUERY_LANG_SUPPORTED_BY_LOG):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (QUERY_LANG_SUPPORTED_BY_LOG):
- Changed from "TCL" to "EXTENDED_TCL".
+ Changed from "TCL" to "EXTENDED_TCL".
- * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::delete_records_by_id)
- (TAO_Log_i::delete_records, TAO_Log_i::remove_old_records):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::delete_records_by_id)
+ (TAO_Log_i::delete_records, TAO_Log_i::remove_old_records):
- Don't bother checking whether current_size is less than max_size
- if not log_full. Avoids potentially costly calls into log store
- (if/when we support strategized stores).
+ Don't bother checking whether current_size is less than max_size
+ if not log_full. Avoids potentially costly calls into log store
+ (if/when we support strategized stores).
Sun May 22 18:02:07 2005 J.T. Conklin <jtc@acorntoolworks.com>
- * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::delete_records)
- (TAO_Log_i::remove_old_records):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::delete_records)
+ (TAO_Log_i::remove_old_records):
- Like delete_records_by_id(), reset "log_full" if "current_size"
- is less than "max_size".
+ Like delete_records_by_id(), reset "log_full" if "current_size"
+ is less than "max_size".
Sun May 22 17:01:56 2005 J.T. Conklin <jtc@acorntoolworks.com>
- * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::scheduled):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::scheduled):
- Removed duplicate fetch of current time.
+ Removed duplicate fetch of current time.
- * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::remove_old_records):
+ * orbsvcs/orbsvcs/Log/Log_i.cpp (TAO_Log_i::remove_old_records):
- Corrected calculation of purge time. Arithmetic was being done on
- time values without normalizing units first.
+ Corrected calculation of purge time. Arithmetic was being done on
+ time values without normalizing units first.
Sun May 22 16:37:39 2005 J.T. Conklin <jtc@acorntoolworks.com>
- * tao/Makefile.am:
+ * tao/Makefile.am:
- Regenerated.
+ Regenerated.
Sun May 22 20:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -242,18 +375,18 @@ Sun May 22 20:16:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Sun May 22 10:33:34 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
- * tao/PortableServer/Root_POA.cpp (create_POA_i):
+ * tao/PortableServer/Root_POA.cpp (create_POA_i):
- Increment the reference count immediately after binding the
- child POA to children map. Addresses a seg fault introduced by
- the leak fix described in ChangeLog entry "Sun May 22 00:00:31
- 2005 Ossama Othman <ossama@dre.vanderbilt.edu>".
+ Increment the reference count immediately after binding the
+ child POA to children map. Addresses a seg fault introduced by
+ the leak fix described in ChangeLog entry "Sun May 22 00:00:31
+ 2005 Ossama Othman <ossama@dre.vanderbilt.edu>".
- * tao/PortableServer/Root_POA.h (create_POA_i):
+ * tao/PortableServer/Root_POA.h (create_POA_i):
- No need to return a pointer to TAO_Root_POA. Return a
- PortableServer::POA_ptr instead. Allows implementation to be
- slightly simplified.
+ No need to return a pointer to TAO_Root_POA. Return a
+ PortableServer::POA_ptr instead. Allows implementation to be
+ slightly simplified.
Sun May 22 14:49:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
index 7c13173a280..463fa913844 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Options.cpp
@@ -180,9 +180,8 @@ Activator_Options::print_usage (void) const
" ('install' or 'remove' or 'install_no_imr')\n"
" -d level Sets the debug level\n"
" -o file Outputs the ImR's IOR to a file\n"
- " -l Notify the ImR Locator when a process exits\n"
- " -n name Specify a name for the Activator\n"
- " -s Runs as a service (NT Only)\n")
+ " -l Notify the ImR when a process exits\n"
+ " -n name Specify a name for the Activator\n")
);
}
@@ -221,6 +220,11 @@ Activator_Options::save_registry_options()
(LPBYTE) this->name_.c_str(), this->name_.length() + 1);
ACE_ASSERT(err == ERROR_SUCCESS);
+ DWORD tmpint = this->notify_imr_;
+ err = ACE_TEXT_RegSetValueEx(key, "NotifyImR", 0, REG_DWORD,
+ (LPBYTE) &tmpint , sizeof(tmpint));
+ ACE_ASSERT(err == ERROR_SUCCESS);
+
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
#endif
@@ -279,13 +283,14 @@ Activator_Options::load_registry_options ()
this->name_ = tmpstr;
}
- DWORD tmpint = this->notify_imr_;
+ DWORD tmpint = 0;
sz = sizeof(tmpint);
err = ACE_TEXT_RegQueryValueEx(key, "NotifyImR", 0, &type,
(LPBYTE) &tmpint , &sz);
if (err == ERROR_SUCCESS) {
ACE_ASSERT(type == REG_DWORD);
}
+ this->notify_imr_ = tmpint != 0;
err = ::RegCloseKey(key);
ACE_ASSERT(err == ERROR_SUCCESS);
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
index 4f8d6ee8b9f..37eb23a1884 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.cpp
@@ -5,11 +5,47 @@
#include "ImR_Activator_i.h"
#include "Activator_NT_Service.h"
+#include "orbsvcs/Shutdown_Utilities.h"
+
+class ImR_Activator_Shutdown : public Shutdown_Functor
+{
+public:
+ ImR_Activator_Shutdown(ImR_Activator_i& act);
+
+ void operator() (int which_signal);
+private:
+ ImR_Activator_i& act_;
+};
+
+ImR_Activator_Shutdown::ImR_Activator_Shutdown (ImR_Activator_i &act)
+ : act_(act)
+{
+}
+
+void
+ImR_Activator_Shutdown::operator() (int /*which_signal*/)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ this->act_.shutdown(true ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR Activator: ");
+ }
+ ACE_ENDTRY;
+}
+
int
run_standalone (Activator_Options& opts)
{
ImR_Activator_i server;
+ ImR_Activator_Shutdown killer (server);
+ Service_Shutdown kill_contractor(killer);
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
@@ -91,7 +127,7 @@ run_service_command (Activator_Options& opts)
opts.service_command() == Activator_Options::SC_INSTALL_NO_LOCATOR)
{
const DWORD MAX_PATH_LENGTH = 4096;
- char pathname[MAX_PATH_LENGTH];
+ char pathname[MAX_PATH_LENGTH];
DWORD length = ACE_TEXT_GetModuleFileName(NULL, pathname, MAX_PATH_LENGTH);
if (length == 0 || length >= MAX_PATH_LENGTH - sizeof(" -s"))
@@ -127,19 +163,19 @@ run_service_command (Activator_Options& opts)
} else {
ACE_ERROR((LM_ERROR, "Error: Failed to install service.\n"));
}
- if (ret == 0)
+ if (ret == 0)
return 1;
}
else if (opts.service_command() == Activator_Options::SC_REMOVE)
{
int ret = SERVICE::instance ()->remove ();
ACE_DEBUG ((LM_DEBUG, "ImR Activator: Service removed.\n"));
- if (ret == 0)
+ if (ret == 0)
return 1; // If successfull, then we don't want to continue.
}
- else
+ else
{
- ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
+ ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
opts.service_command()));
return -1;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl
index 0027fc8c159..aa0fecbd401 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator.idl
@@ -11,6 +11,8 @@ module ImplementationRepository
// Tells the activator to launch a server with the given information.
void start_server(in string name, in string cmdline,
in string dir, in EnvironmentList env) raises(CannotActivate);
+
+ oneway void shutdown();
};
};
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
index dea5e9fcbf4..74911fa6839 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp
@@ -197,7 +197,11 @@ ImR_Activator_i::init_with_orb(CORBA::ORB_ptr orb, const Activator_Options& opts
int
ImR_Activator_i::init (Activator_Options& opts ACE_ENV_ARG_DECL)
{
- ACE_ARGV av(opts.cmdline());
+ ACE_CString cmdline = opts.cmdline();
+ // Must use IOR style objrefs, because URLs sometimes get mangled when passed
+ // to ACE_Process::spawn().
+ cmdline += "-ORBUseImR 0 -ORBObjRefStyle IOR ";
+ ACE_ARGV av(cmdline.c_str());
int argc = av.argc();
CORBA::ORB_var orb =
@@ -218,6 +222,8 @@ ImR_Activator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
if (debug_ > 1)
ACE_DEBUG((LM_DEBUG, "ImR Activator: Shutting down...\n"));
+ this->process_mgr_.close();
+
this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -227,7 +233,27 @@ ImR_Activator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
this->registration_token_ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
+ }
+ ACE_CATCH(CORBA::COMM_FAILURE, ex)
+ {
+ if (debug_ > 1)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Unable to unregister from ImR.\n"));
+ }
+ ACE_CATCH(CORBA::TRANSIENT, ex)
+ {
+ if (debug_ > 1)
+ ACE_DEBUG((LM_DEBUG, "ImR Activator: Unable to unregister from ImR.\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR Activator: fini");
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ ACE_TRY
+ {
this->orb_->destroy(ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -236,7 +262,7 @@ ImR_Activator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
}
ACE_CATCHANY
{
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR_Activator_i::fini");
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR Activator: fini 2");
ACE_RE_THROW;
}
ACE_ENDTRY;
@@ -253,6 +279,19 @@ ImR_Activator_i::run (ACE_ENV_SINGLE_ARG_DECL)
}
void
+ImR_Activator_i::shutdown (ACE_ENV_SINGLE_ARG_DECL)
+ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ shutdown(false ACE_ENV_ARG_PARAMETER);
+}
+
+void
+ImR_Activator_i::shutdown (bool wait_for_completion ACE_ENV_ARG_DECL)
+{
+ this->orb_->shutdown(wait_for_completion ACE_ENV_ARG_PARAMETER);
+}
+
+void
ImR_Activator_i::start_server(const char* name,
const char* cmdline,
const char* dir,
@@ -273,6 +312,13 @@ ImR_Activator_i::start_server(const char* name,
// handles. This includes stdin, stdout, logs, etc.
proc_opts.handle_inheritence (0);
+ proc_opts.setenv("TAO_USE_IMR", "1");
+ if (!CORBA::is_nil (this->locator_.in ()))
+ {
+ CORBA::String_var ior = orb_->object_to_string(locator_.in());
+ proc_opts.setenv("ImplRepoServiceIOR", ior.in());
+ }
+
for (CORBA::ULong i = 0; i < env.length(); ++i) {
proc_opts.setenv (env[i].name.in(), env[i].value.in());
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
index dedfe744ced..7b62dc525cf 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Activator_i.h
@@ -29,7 +29,7 @@
class Activator_Options;
-// ace/Functor.h doesn't provide functors for every built in integer type.
+// ace/Functor.h doesn't provide functors for every built in integer type.
// Depending on the platform and what pid_t maps to, the functors may be missing.
struct ACE_Hash_pid_t
{
@@ -70,6 +70,9 @@ public:
const ImplementationRepository::EnvironmentList & env ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::CannotActivate));
+ void shutdown(ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
/// Initialize the Server state - parsing arguments and waiting.
int init (Activator_Options& opts ACE_ENV_ARG_DECL_WITH_DEFAULTS);
@@ -79,6 +82,9 @@ public:
/// Runs the orb.
int run (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS);
+ /// Shutdown the orb.
+ void shutdown (bool wait_for_completion ACE_ENV_ARG_DECL);
+
private:
int init_with_orb (CORBA::ORB_ptr orb, const Activator_Options& opts ACE_ENV_ARG_DECL_WITH_DEFAULTS);
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
index 86fe4313604..b8d88642125 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator.cpp
@@ -3,12 +3,47 @@
#include "ImR_Locator_i.h"
#include "Locator_NT_Service.h"
#include "Locator_Options.h"
+#include "orbsvcs/Shutdown_Utilities.h"
+
+class ImR_Locator_Shutdown : public Shutdown_Functor
+{
+public:
+ ImR_Locator_Shutdown(ImR_Locator_i& imr);
+
+ void operator() (int which_signal);
+private:
+ ImR_Locator_i& imr_;
+};
+
+ImR_Locator_Shutdown::ImR_Locator_Shutdown (ImR_Locator_i &imr)
+ : imr_(imr)
+{
+}
+
+void
+ImR_Locator_Shutdown::operator() (int /*which_signal*/)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ this->imr_.shutdown(true ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR: ");
+ }
+ ACE_ENDTRY;
+}
int
run_standalone (Options& opts)
{
ImR_Locator_i server;
+ ImR_Locator_Shutdown killer (server);
+ Service_Shutdown kill_contractor(killer);
+
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
@@ -81,7 +116,7 @@ run_service (void)
static int
run_service_command (Options& opts)
{
- if (opts.service_command() == Options::SC_NONE)
+ if (opts.service_command() == Options::SC_NONE)
return 0;
#if defined (ACE_WIN32)
@@ -90,7 +125,7 @@ run_service_command (Options& opts)
if (opts.service_command() == Options::SC_INSTALL)
{
const DWORD MAX_PATH_LENGTH = 4096;
- char pathname[MAX_PATH_LENGTH];
+ char pathname[MAX_PATH_LENGTH];
DWORD length = ACE_TEXT_GetModuleFileName(NULL, pathname, MAX_PATH_LENGTH);
if (length == 0 || length >= MAX_PATH_LENGTH - sizeof(" -s"))
@@ -111,19 +146,19 @@ run_service_command (Options& opts)
} else {
ACE_ERROR((LM_ERROR, "Error: Failed to install service. error:%d\n", errno));
}
- if (ret == 0)
+ if (ret == 0)
return 1;
}
else if (opts.service_command() == Options::SC_REMOVE)
{
int ret = SERVICE::instance ()->remove ();
ACE_DEBUG ((LM_DEBUG, "ImR: Service removed.\n"));
- if (ret == 0)
+ if (ret == 0)
return 1; // If successfull, then we don't want to continue.
}
- else
+ else
{
- ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
+ ACE_ERROR ((LM_ERROR, "Error: Unknown service command :%d \n",
opts.service_command()));
return -1;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
index adc06001a88..4e6b302d802 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp
@@ -14,6 +14,7 @@
#include "ace/ARGV.h"
#include "ace/OS_NS_sys_time.h"
+#include "ace/Vector_T.h"
static const int DEFAULT_START_LIMIT = 1;
@@ -150,7 +151,7 @@ ImR_Locator_i::init_with_orb (CORBA::ORB_ptr orb, Options& opts ACE_ENV_ARG_DECL
// 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());
+ this->repository_.init (opts);
if (init_result == -1)
{
ACE_ERROR_RETURN ((LM_ERROR, "Repository failed to initialize\n"), -1);
@@ -187,7 +188,7 @@ int
ImR_Locator_i::init(Options& opts ACE_ENV_ARG_DECL)
{
ACE_CString cmdline = opts.cmdline();
- cmdline += " -orbcollocation no";
+ cmdline += " -orbcollocation no -orbuseimr 0";
ACE_ARGV av(cmdline.c_str());
int argc = av.argc();
char** argv = av.argv();
@@ -226,14 +227,75 @@ ImR_Locator_i::run(ACE_ENV_SINGLE_ARG_DECL)
return 0;
}
+void
+ImR_Locator_i::shutdown(CORBA::Boolean activators, CORBA::Boolean servers ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (servers != 0 && this->repository_.servers().current_size() > 0)
+ {
+ // Note : shutdown is oneway, so we can't throw
+ ACE_ERROR((LM_ERROR, "ImR: Shutdown of all servers not implemented.\n"));
+ }
+ if (activators != 0 && this->repository_.activators().current_size() > 0)
+ {
+ ACE_Vector<ImplementationRepository::Activator_var> acts;
+ Locator_Repository::AIMap::ENTRY* entry = 0;
+ Locator_Repository::AIMap::ITERATOR it(this->repository_.activators());
+ for (;it.next(entry) != 0; it.advance())
+ {
+ Activator_Info_Ptr info = entry->int_id_;
+ ACE_ASSERT(! info.null());
+ connect_activator(*info);
+ if (! CORBA::is_nil(info->activator.in()))
+ acts.push_back(info->activator);
+ }
+
+ int shutdown_errs = 0;
+
+ for (size_t i = 0; i < acts.size(); ++i)
+ {
+ ACE_TRY
+ {
+ acts[i]->shutdown(ACE_ENV_SINGLE_ARG_PARAMETER);
+ acts[i] = ImplementationRepository::Activator::_nil();
+ }
+ ACE_CATCHANY
+ {
+ ++shutdown_errs;
+ if (debug_ > 1)
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "ImR: shutdown activator");
+ }
+ }
+ ACE_ENDTRY;
+ ACE_CHECK;
+ }
+ if (debug_ > 0 && shutdown_errs > 0)
+ {
+ ACE_DEBUG((LM_DEBUG, "ImR: Some activators could not be shut down.\n"));
+ }
+ }
+ // Technically, we should wait for all the activators to unregister, but
+ // ,for now at least, it doesn't seem worth it.
+ shutdown(false ACE_ENV_ARG_PARAMETER);
+}
+
+void
+ImR_Locator_i::shutdown (bool wait_for_completion ACE_ENV_ARG_DECL)
+{
+ this->orb_->shutdown(wait_for_completion ACE_ENV_ARG_PARAMETER);
+}
+
int
ImR_Locator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
{
ACE_TRY
{
- if (debug_ > 0)
+ if (debug_ > 1)
ACE_DEBUG((LM_DEBUG, "ImR: Shutting down...\n"));
+ teardown_multicast();
+
this->root_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -253,6 +315,16 @@ ImR_Locator_i::fini (ACE_ENV_SINGLE_ARG_DECL)
return 0;
}
+void
+ImR_Locator_i::teardown_multicast()
+{
+ ACE_Reactor* r = ior_multicast_.reactor();
+ if (r != 0) {
+ r->remove_handler(&ior_multicast_, ACE_Event_Handler::READ_MASK);
+ ior_multicast_.reactor(0);
+ }
+}
+
int
ImR_Locator_i::setup_multicast (ACE_Reactor* reactor, const char* ior)
{
@@ -302,13 +374,11 @@ ImR_Locator_i::setup_multicast (ACE_Reactor* reactor, const char* ior)
ACE_DEBUG ((LM_DEBUG, "ImR: cannot register Event handler\n"));
return -1;
}
-
- return 0;
#else /* ACE_HAS_IP_MULTICAST*/
ACE_UNUSED_ARG (reactor);
ACE_UNUSED_ARG (ior);
- return 0;
#endif /* ACE_HAS_IP_MULTICAST*/
+ return 0;
}
CORBA::Long
@@ -387,9 +457,7 @@ ACE_THROW_SPEC ((CORBA::SystemException))
ACE_ASSERT(name != 0);
if (this->debug_ > 1)
- ACE_DEBUG((LM_DEBUG,
- "ImR: Server has died <%s>.\n",
- name));
+ ACE_DEBUG((LM_DEBUG, "ImR: Server has died <%s>.\n", name));
Server_Info_Ptr info = this->repository_.get_server(name);
if (! info.null())
@@ -713,45 +781,25 @@ ImR_Locator_i::set_timeout_policy(CORBA::Object_ptr obj, const ACE_Time_Value& t
}
void
-ImR_Locator_i::register_server (const char* server,
+ImR_Locator_i::add_or_update_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, 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_DEBUG((LM_DEBUG, "ImR: Cannot register server <%s> due to locked database.\n", server));
+ ACE_DEBUG((LM_DEBUG, "ImR: Cannot add/update 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));
}
+ if (debug_ > 0)
+ ACE_DEBUG ((LM_DEBUG, "ImR: Add/Update server <%s>.\n", server));
+
int limit = options.start_limit;
if (limit < 0)
{
@@ -776,12 +824,6 @@ ImR_Locator_i::register_server_i (const char* server,
options.activation,
limit);
}
- else if (! allow_updates)
- {
- ACE_ERROR ((LM_ERROR,
- "ImR: Server <%s> already registered.\n", server));
- ACE_THROW (ImplementationRepository::AlreadyRegistered());
- }
else
{
if (this->debug_ > 1)
@@ -799,9 +841,6 @@ ImR_Locator_i::register_server_i (const char* server,
ACE_UNUSED_ARG(err);
}
- if (debug_ > 0)
- ACE_DEBUG ((LM_DEBUG, "ImR: Add/Update server <%s>.\n", server));
-
if (this->debug_ > 1)
{
// Note : The info var may be null, so we use options.
@@ -850,6 +889,18 @@ ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
{
if (this->repository_.remove_server (name) == 0)
{
+ if (this->debug_ > 1)
+ ACE_DEBUG ((LM_DEBUG, "ImR: Removing Server <%s>...\n", name));
+
+ PortableServer::POA_var poa = findPOA(name);
+ ACE_CHECK;
+ if (! CORBA::is_nil(poa.in()))
+ {
+ bool etherealize = true;
+ bool wait = false;
+ poa->destroy(etherealize, wait ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
if (this->debug_ > 0)
ACE_DEBUG ((LM_DEBUG, "ImR: Removed Server <%s>.\n", name));
}
@@ -862,6 +913,21 @@ ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
}
}
+PortableServer::POA_ptr
+ImR_Locator_i::findPOA(const char* name)
+{
+ ACE_TRY_NEW_ENV
+ {
+ bool activate_it = false;
+ return root_poa_->find_POA(name, activate_it ACE_ENV_ARG_PARAMETER);
+ }
+ ACE_CATCHANY
+ {// Ignore
+ }
+ ACE_ENDTRY;
+ return PortableServer::POA::_nil();
+}
+
void
ImR_Locator_i::shutdown_server (const char* server ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
@@ -916,11 +982,12 @@ ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
if (this->debug_ > 1)
{
ACE_DEBUG((LM_DEBUG, "ImR: Exception ignored while shutting down <%s>\n", server));
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "");
}
}
ACE_ENDTRY;
+ // Note : In most cases this has already been done in the server_is_shutting_down()
+ // operation, but it doesn't hurt to update it again.
info->reset();
int err = this->repository_.update_server(*info);
@@ -1018,23 +1085,25 @@ void
ImR_Locator_i::find (const char* server,
ImplementationRepository::ServerInformation_out imr_info
ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound))
+ ACE_THROW_SPEC ((CORBA::SystemException))
{
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())
+ if (! info.null())
{
- ACE_ERROR ((LM_ERROR, "ImR: Cannot find info for server <%s>\n", server));
- ACE_THROW(ImplementationRepository::NotFound());
- }
-
imr_info = info->createImRServerInfo(ACE_ENV_SINGLE_ARG_PARAMETER);
if (this->debug_ > 1)
ACE_DEBUG ((LM_DEBUG, "ImR: Found server %s.\n", server));
}
+ else
+ {
+ if (debug_ > 1)
+ ACE_DEBUG((LM_DEBUG, "ImR: Cannot find server <%s>\n", server));
+ }
+}
void
ImR_Locator_i::list (CORBA::ULong how_many,
@@ -1043,7 +1112,7 @@ ImR_Locator_i::list (CORBA::ULong how_many,
ACE_ENV_ARG_DECL
) ACE_THROW_SPEC ((CORBA::SystemException))
{
- if (this->debug_ > 0)
+ if (this->debug_ > 1)
ACE_DEBUG ((LM_DEBUG, "ImR: List servers.\n"));
// Initialize the out variables, so if we return early, they will
@@ -1100,7 +1169,7 @@ ImR_Locator_i::list (CORBA::ULong how_many,
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);
+ ServerInformationIterator::_unchecked_narrow(obj.in() ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_CATCHANY
@@ -1157,7 +1226,7 @@ ImR_Locator_i::connect_activator (Activator_Info& info)
return;
}
- if (debug_ > 0)
+ if (debug_ > 1)
ACE_DEBUG((LM_DEBUG, "ImR: Connected to activator <%s>\n", info.name.c_str()));
}
ACE_CATCHANY
@@ -1407,7 +1476,7 @@ ImR_Locator_i::is_alive_i(Server_Info& info)
if (debug_ > 1)
{
ACE_DEBUG((LM_DEBUG,
- "ImR: <%s> Unknown Local TRANSIENT. alive=false.\n", info.name.c_str()));
+ "ImR: <%s> TRANSIENT exception. alive=false.\n", info.name.c_str()));
}
info.last_ping = ACE_Time_Value::zero;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
index 414ee3ccec0..a9c34b6863d 100644
--- a/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/ImR_Locator_i.h
@@ -48,6 +48,9 @@ public:
/// Run using the orb reference created during init()
int run (ACE_ENV_SINGLE_ARG_DECL);
+ /// Shutdown the orb.
+ void shutdown (bool wait_for_completion ACE_ENV_ARG_DECL);
+
int debug() const;
// Note : See the IDL for descriptions of the operations.
@@ -70,33 +73,22 @@ public:
ACE_THROW_SPEC ((CORBA::SystemException,
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)
+ virtual void add_or_update_server (const char * name,
+ const ImplementationRepository::StartupOptions &options ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
- virtual void shutdown_server (const char * name
- ACE_ENV_ARG_DECL)
+ virtual void remove_server (const char * name ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
- virtual void find (const char * name,
- ImplementationRepository::ServerInformation_out info
- ACE_ENV_ARG_DECL)
+ virtual void shutdown_server (const char * name ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException, ImplementationRepository::NotFound));
+ virtual void find (const char * name,
+ ImplementationRepository::ServerInformation_out info ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
virtual void list (
CORBA::ULong how_many,
ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator
- ACE_ENV_ARG_DECL)
+ ImplementationRepository::ServerInformationIterator_out server_iterator ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void shutdown(CORBA::Boolean activators, CORBA::Boolean servers ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
// Server->Locator
@@ -138,20 +130,13 @@ private:
ImplementationRepository::NotFound,
ImplementationRepository::CannotActivate));
- void register_server_i (const char * name,
- const ImplementationRepository::StartupOptions &options,
- bool allow_updates
- ACE_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- 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);
+ void teardown_multicast();
void unregister_activator_i(const char* activator);
@@ -164,6 +149,7 @@ private:
void connect_server(Server_Info& info);
+ PortableServer::POA_ptr findPOA(const char* name);
private:
// The class that handles the forwarding.
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
index faf93fc91a7..152d21939ae 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.cpp
@@ -30,6 +30,7 @@ static const int DEFAULT_START_TIMEOUT = 60; // seconds
Options::Options ()
: repo_mode_ (REPO_NONE)
+, erase_repo_ (false)
, debug_ (1)
, multicast_ (false)
, service_ (false)
@@ -163,6 +164,11 @@ Options::parse_args (int &argc, char *argv[])
this->repo_mode_ = REPO_XML_FILE;
}
else if (ACE_OS::strcasecmp (shifter.get_current (),
+ ACE_TEXT ("-e")) == 0)
+ {
+ this->erase_repo_ = true;
+ }
+ else if (ACE_OS::strcasecmp (shifter.get_current (),
ACE_TEXT ("-t")) == 0)
{
shifter.consume_arg ();
@@ -241,11 +247,10 @@ Options::print_usage (void) const
" -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"
" -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"
+ " -t secs Server startup timeout.(Default=60s)\n"
" -v msecs Server verification interval.(Default=10s)\n"
));
}
@@ -476,6 +481,12 @@ Options::repository_mode (void) const
}
bool
+Options::repository_erase (void) const
+{
+ return this->erase_repo_;
+}
+
+bool
Options::readonly (void) const
{
return this->readonly_;
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
index 682b2769523..17f40bddcac 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Options.h
@@ -83,6 +83,9 @@ public:
RepoMode repository_mode (void) const;
+ /// Do we wish to clear out the repository
+ bool repository_erase (void) const;
+
/// Returns the timeout value for program starting.
ACE_Time_Value startup_timeout (void) const;
@@ -107,6 +110,9 @@ private:
// xml, heap, or registry
RepoMode repo_mode_;
+ // do we clear out the repository on load
+ bool erase_repo_;
+
/// Debug level.
unsigned int debug_;
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp
index 2d172e8734f..28224f3c804 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.cpp
@@ -6,6 +6,7 @@
#include "ACEXML/parser/parser/Parser.h"
#include "ACEXML/common/FileCharStream.h"
+#include "ACEXML/common/XML_Util.h"
ACE_RCSID (ImplRepo_Service, Locator_Repository, "$Id$")
@@ -216,11 +217,14 @@ static void saveAsXML(const ACE_CString& fname, Locator_Repository& repo) {
for (; siit.next(sientry); siit.advance()) {
Server_Info_Ptr& info = sientry->int_id_;
+ ACE_CString cmdline = ACEXML_escape_string(info->cmdline);
+ ACE_CString wdir = ACEXML_escape_string(info->dir);
+
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_OS::fprintf(fp," command_line=\"%s\"", cmdline.c_str());
+ ACE_OS::fprintf(fp," working_dir=\"%s\"", wdir.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);
@@ -232,7 +236,8 @@ static void saveAsXML(const ACE_CString& fname, Locator_Repository& repo) {
{
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_CString val = ACEXML_escape_string(info->env_vars[i].value.in());
+ ACE_OS::fprintf(fp," value=\"%s\"", val.c_str());
ACE_OS::fprintf(fp,"/>\n");
}
@@ -263,10 +268,10 @@ Locator_Repository::Locator_Repository()
}
int
-Locator_Repository::init(Options::RepoMode rmode, const ACE_CString& name)
+Locator_Repository::init(const Options& opts)
{
- this->rmode_ = rmode;
- this->fname_ = name;
+ this->rmode_ = opts.repository_mode();
+ this->fname_ = opts.persist_file_name();
int err = 0;
switch (this->rmode_) {
@@ -276,6 +281,10 @@ Locator_Repository::init(Options::RepoMode rmode, const ACE_CString& name)
}
case Options::REPO_HEAP_FILE:
{
+ if (opts.repository_erase())
+ {
+ ACE_OS::unlink( this->fname_.c_str() );
+ }
ACE_Configuration_Heap* heap = new ACE_Configuration_Heap();
this->config_.reset(heap);
err = heap->open(this->fname_.c_str());
@@ -288,6 +297,13 @@ Locator_Repository::init(Options::RepoMode rmode, const ACE_CString& name)
#if defined (ACE_WIN32)
case Options::REPO_REGISTRY:
{
+ if (opts.repository_erase())
+ {
+ ACE_Configuration_Win32Registry config( HKEY_LOCAL_MACHINE );
+ ACE_Configuration_Section_Key root;
+ config.open_section( config.root_section(), "Software\\TAO", 0, root );
+ config.remove_section( root, "ImplementationRepository", 1 );
+ }
HKEY root = ACE_Configuration_Win32Registry::
resolve_key(HKEY_LOCAL_MACHINE, WIN32_REG_KEY);
this->config_.reset(new ACE_Configuration_Win32Registry(root));
@@ -297,6 +313,10 @@ Locator_Repository::init(Options::RepoMode rmode, const ACE_CString& name)
#endif
case Options::REPO_XML_FILE:
{
+ if (opts.repository_erase())
+ {
+ ACE_OS::unlink( this->fname_.c_str() );
+ }
err = loadAsXML(this->fname_, *this);
break;
}
diff --git a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h
index ab23cf75dae..2ef50b5753a 100644
--- a/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h
+++ b/TAO/orbsvcs/ImplRepo_Service/Locator_Repository.h
@@ -52,7 +52,7 @@ public:
Locator_Repository();
/// Initializes the Server Repository
- int init (Options::RepoMode rmode, const ACE_CString& name);
+ int init (const Options& opts);
/// Add a new server to the Repository
int add_server (const ACE_CString& name,
diff --git a/TAO/orbsvcs/ImplRepo_Service/README.txt b/TAO/orbsvcs/ImplRepo_Service/README.txt
index 35bfe25157c..f6f8082f21b 100644
--- a/TAO/orbsvcs/ImplRepo_Service/README.txt
+++ b/TAO/orbsvcs/ImplRepo_Service/README.txt
@@ -509,7 +509,7 @@ 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
+the locator on the same machine, then you must use the -c install_no_imr
option instead.
@subsection serviceopts Service Options
diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
index 3be1f28e5d9..c7fbddcb83e 100644
--- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
+++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.cpp
@@ -128,14 +128,15 @@ 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"
+ " start Start a server through the ImR\n"
+ " add Add an entry to the ImR\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"
+ " list List the entries in the ImR\n"
+ " remove Remove an entry from the ImR\n"
+ " shutdown Shut down a server through the ImR\n"
+ " shutdown-repo Shut down the ImR\n"
+ " update Update an entry in the ImR\n"
" where [command-arguments] depend on the command\n"));
}
@@ -146,9 +147,14 @@ TAO_IMR_Op *
TAO_IMR_Op::make_op (const ACE_TCHAR *op_name)
{
if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("activate")) == 0)
+ {
+ ACE_ERROR((LM_ERROR, "Warning: The activate option has been renamed to start.\n"));
+ return new TAO_IMR_Op_Activate ();
+ }
+ else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("start")) == 0)
return new TAO_IMR_Op_Activate ();
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("add")) == 0)
- return new TAO_IMR_Op_Add ();
+ return new TAO_IMR_Op_Register (true);
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("autostart")) == 0)
return new TAO_IMR_Op_Autostart();
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("ior")) == 0)
@@ -159,8 +165,10 @@ 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_ShutdownRepo ();
else if (ACE_OS::strcasecmp (op_name, ACE_TEXT ("update")) == 0)
- return new TAO_IMR_Op_Update ();
+ return new TAO_IMR_Op_Register (false);
return 0;
}
@@ -234,22 +242,15 @@ TAO_IMR_Op::display_server_information (const ImplementationRepository::ServerIn
ACE_DEBUG ((LM_DEBUG, "\n"));
}
-
-TAO_IMR_Op_Add::TAO_IMR_Op_Add (void)
-: activation_ (ImplementationRepository::NORMAL)
-, retry_count_ (0)
-{
- // Nothing
-}
-
TAO_IMR_Op_List::TAO_IMR_Op_List (void)
: verbose_server_information_ (0)
{
// Nothing
}
-TAO_IMR_Op_Update::TAO_IMR_Op_Update (void)
-: set_command_line_ (false)
+TAO_IMR_Op_Register::TAO_IMR_Op_Register (bool is_add)
+: is_add_ (is_add)
+, set_command_line_ (false)
, set_environment_vars_(false)
, set_working_dir_ (false)
, set_activation_ (false)
@@ -264,11 +265,11 @@ TAO_IMR_Op_Update::TAO_IMR_Op_Update (void)
void
TAO_IMR_Op_Activate::print_usage (void)
{
- ACE_ERROR ((LM_ERROR, "Activates a server\n"
+ ACE_ERROR ((LM_ERROR, "Starts a server using its registered Activator.\n"
"\n"
- "Usage: tao_imr [options] activate <name>\n"
+ "Usage: tao_imr [options] start <name>\n"
" where [options] are ORB options\n"
- " where <name> is the POA name used by the server object\n"
+ " where <name> is the name of a registered POA.\n"
" -h Displays this\n"));
}
@@ -291,114 +292,7 @@ TAO_IMR_Op_Activate::parse (int argc, ACE_TCHAR **argv)
while ((c = get_opts ()) != -1)
switch (c)
{
- 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;
-}
-
-void
-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 ());
-}
-
-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 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
-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;
- }
-
- // 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 || this->server_name_[0] == '-')
- {
- 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':
- {
- int rc = ACE_OS::atoi(get_opts.optarg);
- if (rc > 0)
- this->retry_count_ = rc;
- }
- break;
- case 'h': // display help
+ case 'h':
this->print_usage ();
return -1;
default:
@@ -406,7 +300,6 @@ TAO_IMR_Op_Add::parse (int argc, ACE_TCHAR **argv)
this->print_usage ();
return -1;
}
- }
return 0;
}
@@ -630,8 +523,59 @@ TAO_IMR_Op_Shutdown::parse (int argc, ACE_TCHAR **argv)
return 0;
}
+TAO_IMR_Op_ShutdownRepo::TAO_IMR_Op_ShutdownRepo()
+: activators_(false)
+{
+}
+
+void
+TAO_IMR_Op_ShutdownRepo::print_usage (void)
+{
+ ACE_ERROR ((LM_ERROR, "Shuts down the ImR\n"
+ "\n"
+ "Usage: tao_imr [options] shutdown-repo [-a]\n"
+ " where [options] are ORB options\n"
+ " Specify -a to also shutdown any registered ImR Activators.\n"
+ " -h Displays this\n"));
+}
+
+int
+TAO_IMR_Op_ShutdownRepo::parse (int argc, ACE_TCHAR **argv)
+{
+ // Check for enough arguments (we need at least one for the server name)
+ if (argc < 1)
+ {
+ this->print_usage ();
+ return -1;
+ }
+
+ // Skip both the program name and the "shutdown-repo" command
+ ACE_Get_Opt get_opts (argc, argv, "ha");
+
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'h':
+ this->print_usage ();
+ return -1;
+ case 'a':
+ activators_ = true;
+ break;
+ default:
+ ACE_ERROR((LM_ERROR, "ERROR : Unknown option '%c'\n", (char) c));
+ this->print_usage ();
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
void
-TAO_IMR_Op_Update::addenv (ACE_TCHAR *opt)
+TAO_IMR_Op_Register::addenv (ACE_TCHAR *opt)
{
CORBA::ULong length = this->environment_vars_.length ();
// Increase the length of the sequence
@@ -646,12 +590,12 @@ TAO_IMR_Op_Update::addenv (ACE_TCHAR *opt)
}
void
-TAO_IMR_Op_Update::print_usage (void)
+TAO_IMR_Op_Register::print_usage (void)
{
ACE_ERROR ((LM_ERROR,
- "Updates a server entry\n"
+ "Adds/Updates a server entry\n"
"\n"
- "Usage: tao_imr [options] update <name> [command-arguments]\n"
+ "Usage: tao_imr [options] <add|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"
@@ -665,7 +609,7 @@ TAO_IMR_Op_Update::print_usage (void)
}
int
-TAO_IMR_Op_Update::parse (int argc, ACE_TCHAR **argv)
+TAO_IMR_Op_Register::parse (int argc, ACE_TCHAR **argv)
{
// Check for enough arguments (we need at least one for the server name)
if (argc < 2)
@@ -782,76 +726,6 @@ TAO_IMR_Op_Activate::run (void)
}
int
-TAO_IMR_Op_Add::run (void)
-{
- ACE_ASSERT(! CORBA::is_nil(imr_));
-
- ImplementationRepository::StartupOptions startup_options;
-
- startup_options.command_line =
- CORBA::string_dup (this->command_line_.c_str ());
- startup_options.environment =
- this->environment_vars_;
- 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 ());
- }
- 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);
- }
-
- ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- 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_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_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_CATCH (CORBA::NO_PERMISSION, ex)
- {
- 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_ENDTRY;
-
- return TAO_IMR_Op::NORMAL;
-}
-
-int
TAO_IMR_Op_Autostart::run (void)
{
ACE_ASSERT(! CORBA::is_nil(imr_));
@@ -1106,11 +980,41 @@ TAO_IMR_Op_Shutdown::run (void)
}
int
-TAO_IMR_Op_Update::run (void)
+TAO_IMR_Op_ShutdownRepo::run (void)
+{
+ ACE_ASSERT(! CORBA::is_nil(imr_));
+
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ bool servers = false; // not implemented yet, if ever
+ this->imr_->shutdown(activators_, servers ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "ImR shutdown initiated.\n"));
+ }
+ ACE_CATCH(CORBA::TIMEOUT, ex)
+ {
+ ACE_DEBUG ((LM_DEBUG, "Timeout waiting for ImR shutdown.\n"));
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Shutting Down ImR");
+ return TAO_IMR_Op::UNKNOWN;
+ }
+ ACE_ENDTRY;
+
+ return TAO_IMR_Op::NORMAL;
+}
+
+int
+TAO_IMR_Op_Register::run (void)
{
ACE_ASSERT(! CORBA::is_nil(imr_));
ImplementationRepository::ServerInformation_var server_information;
+ ImplementationRepository::StartupOptions local;
+ ImplementationRepository::StartupOptions* options = NULL;
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
@@ -1119,42 +1023,51 @@ TAO_IMR_Op_Update::run (void)
server_information.out() ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Conditionally update the startup options
+ if (server_name_ == server_information->server.in())
+ {
+ if (is_add_)
+ {
+ ACE_DEBUG((LM_DEBUG, "Server <%s> already registered.\n", this->server_name_.c_str()));
+ return ALREADY_REGISTERED;
+ }
+ options = &server_information->startup;
+ }
+ else
+ {
+ is_add_ = true;
+ options = &local;
+ }
+
if (this->set_command_line_)
- server_information->startup.command_line =
- CORBA::string_dup (this->command_line_.c_str ());
+ options->command_line = CORBA::string_dup (this->command_line_.c_str ());
if (this->set_environment_vars_)
- server_information->startup.environment = this->environment_vars_;
+ options->environment = this->environment_vars_;
if (this->set_working_dir_)
- server_information->startup.working_directory = CORBA::string_dup (this->working_dir_.c_str ());
+ options->working_directory = CORBA::string_dup (this->working_dir_.c_str ());
- if (this->set_activation_)
- server_information->startup.activation = this->activation_;
+ if (this->set_activation_ || is_add_)
+ options->activation = this->activation_;
- if (this->set_retry_count_)
- server_information->startup.start_limit = this->retry_count_ + 1;
+ if (this->set_retry_count_ || is_add_)
+ options->start_limit = this->retry_count_ + 1;
if (this->set_activator_)
- server_information->startup.activator = CORBA::string_dup(this->activator_.c_str());
-
- this->imr_->reregister_server (this->server_name_.c_str (),
- server_information->startup
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
-
- ACE_DEBUG((LM_DEBUG, "Successfully updated <%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;
+ options->activator = CORBA::string_dup(this->activator_.c_str());
}
- ACE_CATCH (ImplementationRepository::AlreadyRegistered, ex)
+ else if (is_add_)
{
- ACE_ERROR ((LM_ERROR, "Can't change the Activator for <%s>.\n", this->server_name_.c_str ()));
- return TAO_IMR_Op::NORMAL;
+ char host_name[MAXHOSTNAMELEN + 1];
+ ACE_OS::hostname (host_name, MAXHOSTNAMELEN);
+ options->activator = CORBA::string_dup (host_name);
+ }
+
+ this->imr_->add_or_update_server (this->server_name_.c_str (), *options ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG((LM_DEBUG, "Successfully registered <%s>.\n", this->server_name_.c_str ()));
}
ACE_CATCH (CORBA::NO_PERMISSION, ex)
{
diff --git a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
index f2fe1710355..df728e7002e 100644
--- a/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
+++ b/TAO/orbsvcs/ImplRepo_Service/tao_imr_i.h
@@ -135,52 +135,6 @@ protected:
ACE_CString server_name_;
};
-
-/**
- * @class TAO_IMR_Op_Add
- *
- * @brief Add Operation
- *
- * Add is used to register information about a server with the IMR.
- */
-class TAO_IMR_Op_Add : public TAO_IMR_Op
-{
-public:
- TAO_IMR_Op_Add (void);
-
- virtual int parse (int argc, ACE_TCHAR **argv);
- virtual int run (void);
-
-protected:
- /// Sets one of the environment variables
- void addenv (ACE_TCHAR *opt);
-
- /// Prints a message about the usage.
- void print_usage (void);
-
- /// POA server name.
- ACE_CString server_name_;
-
- /// Command line.
- ACE_CString command_line_;
-
- /// Environment Variables.
- ImplementationRepository::EnvironmentList environment_vars_;
-
- /// Working directory.
- ACE_CString working_dir_;
-
- /// Activation mode (0 = NORMAL, 1 = MANUAL, 2 = PER_CLIENT, 3 = AUTO_START)
- ImplementationRepository::ActivationMode activation_;
-
- /// Hostname where the activator is running.
- ACE_CString activator_;
-
- /// startup/ping Retry Count
- int retry_count_;
-};
-
-
/**
* @class TAO_IMR_Op_Autostart
*
@@ -300,24 +254,43 @@ protected:
ACE_CString server_name_;
};
+/**
+ * Shutdown the ImR and optionally any registered activators.
+ */
+class TAO_IMR_Op_ShutdownRepo : public TAO_IMR_Op
+{
+public:
+ TAO_IMR_Op_ShutdownRepo();
+ virtual int parse (int argc, ACE_TCHAR **argv);
+ virtual int run (void);
+
+protected:
+ void print_usage (void);
+
+ bool activators_;
+};
/**
- * @class TAO_IMR_Op_Update
+ * @class TAO_IMR_Op_Register
*
- * @brief Update Operation
+ * @brief Register Operation
*
- * Update is used to update the information for a server registered
+ * Register is used to update/add information for a server
* with the IMR.
*/
-class TAO_IMR_Op_Update : public TAO_IMR_Op
+class TAO_IMR_Op_Register : public TAO_IMR_Op
{
public:
- TAO_IMR_Op_Update(void);
+ TAO_IMR_Op_Register(bool is_add);
virtual int parse (int argc, ACE_TCHAR **argv);
virtual int run (void);
protected:
+
+ /// Enables pre-registration checks
+ bool is_add_;
+
/// Sets one environment variable.
void addenv (ACE_TCHAR *opt);
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Advanced.mpc b/TAO/orbsvcs/examples/ImR/Advanced/Advanced.mpc
new file mode 100644
index 00000000000..9d611e4a943
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Advanced.mpc
@@ -0,0 +1,39 @@
+//$Id$
+project(*Manager): orbsvcsexe, portableserver {
+ requires += exceptions
+ Source_Files {
+ manager_main.cpp
+ Manager_i.cpp
+ }
+ Documentation_Files {
+ Advanced.mpc
+ run_test.pl
+ README
+ drivers/*
+ }
+}
+
+project(*Server): orbsvcsexe, portableserver, iortable {
+ requires += exceptions
+ Source_Files {
+ server_main.cpp
+ TestServer.cpp
+ ManagerC.cpp
+ MessengerS.cpp
+ MessengerC.cpp
+ Messenger_i.cpp
+ }
+}
+
+project(*Client): orbsvcsexe {
+ requires += exceptions
+ Source_Files {
+ client_main.cpp
+ TestClient.cpp
+ MessengerC.cpp
+ }
+ verbatim(gnuace, macros) {
+ VDIR := .obj/Client/
+ }
+
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Manager.idl b/TAO/orbsvcs/examples/ImR/Advanced/Manager.idl
new file mode 100644
index 00000000000..3b01e2ff7e3
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Manager.idl
@@ -0,0 +1,9 @@
+//$Id$
+interface Manager
+{
+ long registerServer();
+
+ void startRetry(in long count);
+
+ long endRetry(); // returns unused attempts
+};
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.cpp b/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.cpp
new file mode 100644
index 00000000000..7a03c0c7de4
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.cpp
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+//
+// $Id$
+#include "Manager_i.h"
+
+Manager_i::Manager_i (long retryCount)
+: server_instance_(0)
+, retry_count_(retryCount)
+, retry_attempt_(0)
+{
+}
+
+Manager_i::~Manager_i (void)
+{
+}
+
+CORBA::Long Manager_i::registerServer ()
+ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ if (retry_attempt_ < retry_count_)
+ {
+ ++retry_attempt_;
+ return -1;
+ }
+ return ++server_instance_;
+}
+
+void Manager_i::startRetry (CORBA::Long count)
+ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ retry_count_ = count;
+ retry_attempt_ = 0;
+}
+
+CORBA::Long Manager_i::endRetry ()
+ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ return retry_count_ - retry_attempt_;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.h b/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.h
new file mode 100644
index 00000000000..5f865cd0d65
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Manager_i.h
@@ -0,0 +1,39 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef MANAGERI_H_
+#define MANAGERI_H_
+
+#include "ManagerS.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Manager_i
+ : public virtual POA_Manager
+ , public virtual PortableServer::RefCountServantBase
+{
+public:
+ Manager_i (long retryCount);
+
+ virtual ~Manager_i (void);
+
+ virtual CORBA::Long registerServer ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void startRetry (CORBA::Long count)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual CORBA::Long endRetry ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+private:
+
+ long server_instance_;
+ long retry_count_;
+ long retry_attempt_;
+};
+
+
+#endif /* MANAGERI_H_ */
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Messenger.idl b/TAO/orbsvcs/examples/ImR/Advanced/Messenger.idl
new file mode 100644
index 00000000000..421512c8587
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Messenger.idl
@@ -0,0 +1,6 @@
+//$Id$
+interface Messenger
+{
+ long send_message(in long thread, in long iter, in long obj, in long req);
+ oneway void shutdownOrb();
+};
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.cpp b/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.cpp
new file mode 100644
index 00000000000..235c97a6b6a
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.cpp
@@ -0,0 +1,41 @@
+// -*- C++ -*-
+//
+// $Id$
+
+#include "Messenger_i.h"
+
+#include <ace/streams.h>
+
+Messenger_i::Messenger_i (CORBA::ORB_ptr orb, long instance)
+: instance_(instance)
+, orb_(CORBA::ORB::_duplicate(orb))
+, isHit_(false)
+{
+}
+
+Messenger_i::~Messenger_i (void)
+{
+}
+
+bool Messenger_i::acknowledgeHit()
+{
+ bool isHit = isHit_;
+ isHit_ = false;
+ return isHit;
+}
+
+CORBA::Long Messenger_i::send_message (CORBA::Long thread,
+ CORBA::Long iter,
+ CORBA::Long obj,
+ CORBA::Long req) ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ cout << "* Invoked: (" << instance_ << "." << thread << "." << iter
+ << "." << obj << "." << req << ")" << endl;
+ isHit_ = true;
+ return instance_;
+}
+
+void Messenger_i::shutdownOrb () ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ orb_->shutdown(0);
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.h b/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.h
new file mode 100644
index 00000000000..e0c39319f28
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/Messenger_i.h
@@ -0,0 +1,40 @@
+// -*- C++ -*-
+//
+// $Id$
+#ifndef MESSENGERI_H_
+#define MESSENGERI_H_
+
+#include "MessengerS.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Messenger_i : public virtual POA_Messenger, public virtual PortableServer::RefCountServantBase
+{
+public:
+ Messenger_i (CORBA::ORB_ptr orb, long instance);
+
+ virtual ~Messenger_i (void);
+
+ virtual
+ CORBA::Long send_message (
+ ::CORBA::Long thread,
+ ::CORBA::Long iter,
+ ::CORBA::Long obj,
+ ::CORBA::Long req
+ ) ACE_THROW_SPEC ((CORBA::SystemException));
+
+ virtual void shutdownOrb ()
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ bool acknowledgeHit();
+
+private:
+ long instance_;
+ CORBA::ORB_var orb_;
+ bool isHit_;
+};
+
+
+#endif /* MESSENGERI_H_ */
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/README b/TAO/orbsvcs/examples/ImR/Advanced/README
new file mode 100644
index 00000000000..08a1a004523
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/README
@@ -0,0 +1,37 @@
+This example tests several uses of the Implementation Repository.
+
+How to Run
+----------
+
+Create driver files:
+------------------------------------------------------
+Driver files are stored in the drivers directory.
+Each file contains a set of parameters for each execution of the
+test.
+
+Each line item in the file has one of the follow forms.
+Empty lines are ignored.
+
+ # <Comment>
+ begin
+ <param>=<value>
+ do <command>
+ - <Disabled Line>
+ -- (Begin/End Disabled Block)
+
+* Comment lines are printed to standard-out.
+* 'begin' resets all parameters to default and clears temporary files.
+* Parameter assignments override the default values.
+* 'do' executes the specified command
+ - There are three predefined use-case commands
+ * use_invocation
+ * use_persistence
+ * use_environment
+ - All methods in run-test can be executed with the do command
+* Disabled lines are ignored
+* The -- designates the begin and end of a block of lines to ignore
+
+Execute the example script
+----------------------------------------------------------------------
+The run_test.pl script reads the driver file and executes each line.
+Simply execute run_test.pl to run all test in the drivers directory.
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/TestClient.cpp b/TAO/orbsvcs/examples/ImR/Advanced/TestClient.cpp
new file mode 100644
index 00000000000..f32b8af10de
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/TestClient.cpp
@@ -0,0 +1,255 @@
+//$Id$
+#include "TestClient.h"
+#include "MessengerC.h"
+
+#include "tao/ORB_Constants.h"
+
+#include "ace/OS_NS_time.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/OS_NS_stdlib.h"
+#include "ace/Get_Opt.h"
+#include "ace/streams.h"
+
+using std::string;
+
+TestClient::TestClient(CORBA::ORB_ptr orb, int argc, char* argv[])
+: orb_(CORBA::ORB::_duplicate(orb))
+, pauseType_('s')
+, startupPause_(0)
+, threadCount_(0)
+, instance_(0)
+, iterations_(0)
+, requestCount_(0)
+, randomRequests_(false)
+, shutdownOrb_(false)
+, expectHolding_(false)
+, expectNoProfile_(false)
+{
+ parseCommands(argc, argv);
+}
+
+TestClient::~TestClient()
+{
+}
+
+int TestClient::parseCommands(int argc, char* argv[])
+{
+ ACE_Get_Opt get_opts(argc, argv, "s:t:i:r:x:e:z:");
+ int c;
+ while ((c = get_opts()) != -1)
+ {
+ switch (c)
+ {
+ case 's':
+ startupPause_ = ::atoi(get_opts.opt_arg());
+ break;
+
+ case 't':
+ threadCount_ = ::atoi(get_opts.opt_arg());
+ break;
+
+ case 'i':
+ iterations_ = ::atoi(get_opts.opt_arg());
+ break;
+
+ case 'r':
+ {
+ const char* opt = get_opts.opt_arg();
+ if (opt[0] == 'r') { randomRequests_ = true; opt++; }
+ requestCount_ = ::atoi(opt);
+ break;
+ }
+
+ case 'x':
+ {
+ const char* opt = get_opts.opt_arg();
+ shutdownOrb_ = (opt && opt[0] != '0');
+ break;
+ }
+
+ case 'e':
+ {
+ const char* opt = get_opts.opt_arg();
+ while (opt && *opt != '\0')
+ {
+ if (*opt == 'h') expectHolding_ = true;
+ else if (*opt == 'n') expectNoProfile_ = true;
+ opt++;
+ }
+ break;
+ }
+
+ case 'z':
+ pauseType_ = get_opts.opt_arg()[0];
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN((LM_ERROR,
+ "usage: %s\n"
+ "\t-s <startup pause in milliseconds>\n"
+ "\t-t <number of threads>\n"
+ "\t-i <number of iterations per thread>\n"
+ "\t-r <r><number of requests per string_to_object>\n"
+ "\t-x 'shutdown server orb at end of a string_to_object'\n"
+ "\t-e <h><n> 'catch holding or no profile exceptions'\n"
+ "\n",
+ argv[0]),
+ -1);
+ }
+ }
+ return 0;
+}
+
+void TestClient::pause(int milliseconds)
+{
+ if (milliseconds > 0)
+ {
+ if (pauseType_ == 's')
+ {
+ ACE_OS::sleep(ACE_Time_Value(0, milliseconds * 1000));
+ }
+ else if (pauseType_ == 'r')
+ {
+ ACE_Time_Value tv(0, milliseconds * 1000);
+ orb_->run(tv);
+ }
+ }
+}
+
+void TestClient::run()
+{
+ cout << "Starting Client." << endl;
+ pause(startupPause_);
+ cout << "* Client started." << endl;
+
+ buildIORList();
+
+ if (this->activate(THR_NEW_LWP, threadCount_) == -1)
+ {
+ ACE_ERROR((LM_ERROR, "%p\n", "activate failed"));
+ }
+ wait();
+
+ cout << "* Client ended." << endl;
+}
+
+void TestClient::buildIORList()
+{
+ // Read in the strigified object references into an array
+ ifstream iorFile("imr_test.ior");
+ while (true)
+ {
+ string ior;
+ iorFile >> ior;
+ if (ior.empty() == false)
+ iors_.push_back(ior);
+ else
+ break;
+ }
+}
+
+int TestClient::svc()
+{
+ // Every invocation of svc increates the thread count
+ instance_++;
+ int threadNum = instance_;
+ cout << "* Client Thread started (" << threadNum << "." << iterations_
+ << "." << iors_.size() << "." << requestCount_ << ")" << endl;
+
+ int i = 0;
+ size_t objIter = 0;
+ int requestIter = 0;
+
+ string currentIOR;
+
+ ACE_OS::srand(ACE_OS::time());
+
+ try
+ {
+ int holdingCount = 0;
+ int noProfileCount = 0;
+
+ // For each iteration
+ for (i = 1; i <= iterations_; i++)
+ {
+ // For each object reference read from file
+ for (objIter = 1; objIter <= iors_.size(); objIter++)
+ {
+ requestIter = -1;
+ // Get a imr_test_var
+ currentIOR = iors_[objIter - 1];
+ CORBA::Object_var obj = orb_->string_to_object(currentIOR.c_str());
+ if (CORBA::is_nil(obj.in()) == false)
+ {
+ requestIter = 0;
+ Messenger_var test = Messenger::_narrow(obj.in());
+
+ if (CORBA::is_nil(test.in()) == false)
+ {
+ // Calculate the number of requests
+ int newReqCount (randomRequests_ == false ? requestCount_ :
+ (int)((((double)ACE_OS::rand() / (double)RAND_MAX) * (double)(requestCount_ - 1)) + .5) + 1);
+ int serverInstance = 0;
+ // For each request
+ for (requestIter = 1; requestIter <= newReqCount; requestIter++)
+ {
+ try
+ {
+ serverInstance = test->send_message(threadNum, i, objIter, requestIter);
+ }
+ catch (CORBA::SystemException& ex)
+ {
+ // If these exceptions are expected record the number of instances, otherwise rethrow
+ if (expectHolding_ == true && ex.minor() == TAO_POA_HOLDING)
+ {
+ cout << "Caught expected holding exception with ("
+ << threadNum << "." << objIter << "." << requestIter << ") " << endl;
+ holdingCount++;
+ }
+ else
+ {
+ throw;
+ }
+ if (expectNoProfile_ == true
+ && ex.minor() == TAO_INVOCATION_SEND_REQUEST_MINOR_CODE)
+ {
+ cout << "Caught expected no profile exception with ("
+ << threadNum << "." << objIter << "." << requestIter << ") " << endl;
+ noProfileCount++;
+ }
+ else
+ {
+ throw;
+ }
+ } // catch
+ } // for request
+ // We are done with our non-nil narrowed obj ref
+ if (shutdownOrb_ == true) test->shutdownOrb();
+ } // if narrow
+ } // if obj
+ } // for obj
+ } // for iter
+ // Report expected exceptions
+ if (holdingCount > 0)
+ {
+ cout << "Client thread " << threadNum << " received "
+ << holdingCount << " holding error(s)." << endl;
+ }
+
+ if (noProfileCount > 0)
+ {
+ cout << "Client thread " << threadNum << " received "
+ << noProfileCount << " no profile error(s)." << endl;
+ }
+
+ return 0;
+ } // try
+ catch (CORBA::Exception& ex)
+ {
+ cerr << "CORBA client error with (" << threadNum << "." << i
+ << "." << objIter << "." << requestIter << "):" << currentIOR << endl;
+ ACE_PRINT_EXCEPTION(ex, "");
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/TestClient.h b/TAO/orbsvcs/examples/ImR/Advanced/TestClient.h
new file mode 100644
index 00000000000..d2f989111cc
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/TestClient.h
@@ -0,0 +1,37 @@
+//$Id$
+#include "tao/ORB.h"
+
+#include "ace/Task.h"
+
+#include <vector>
+#include <string>
+
+class TestClient : public ACE_Task_Base
+{
+public:
+ TestClient(CORBA::ORB_ptr orb, int argc, char* argv[]);
+
+ virtual ~TestClient();
+
+ void run();
+
+private:
+ int parseCommands(int argc, char* argv[]);
+ void buildIORList();
+ void pause(int milliseconds);
+ virtual int svc();
+
+ CORBA::ORB_var orb_;
+ std::vector<std::string> iors_;
+
+ char pauseType_;
+ int startupPause_;
+ int threadCount_;
+ int instance_;
+ int iterations_;
+ int requestCount_;
+ bool randomRequests_;
+ bool shutdownOrb_;
+ bool expectHolding_;
+ bool expectNoProfile_;
+};
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/TestServer.cpp b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.cpp
new file mode 100644
index 00000000000..96a8d61092c
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.cpp
@@ -0,0 +1,525 @@
+//$Id$
+#include "TestServer.h"
+
+#include "ManagerC.h"
+
+#include "tao/Profile.h"
+#include "tao/Stub.h"
+#include "tao/ORB_Core.h"
+
+#include "ace/streams.h"
+#include "ace/OS_NS_unistd.h"
+#include "ace/OS_NS_string.h"
+#include "ace/OS_NS_ctype.h"
+#include "ace/os_include/os_ctype.h"
+#include "ace/Get_Opt.h"
+
+#include <sstream>
+#include <utility>
+
+using std::string;
+
+// Does this function already exist?
+// Is there a path class?
+
+string normalizePath(const string& dir, char delim = '/', bool toLower = false);
+string getWorkingPath(char delim = '/', bool toLower = false);
+
+string deleteLeaf(const string& dir)
+{
+ string temp = dir;
+ temp.resize(dir.find_last_of("/\\"));
+ return temp;
+}
+
+string getWorkingPath(char delim, bool toLower)
+{
+ char buffer[PATH_MAX + 2];
+ ACE_OS::getcwd(buffer, PATH_MAX);
+ return normalizePath(buffer, delim, toLower);
+}
+
+string normalizePath(const string& dir, char delim, bool toLower)
+{
+ if (dir.empty() == true) return string();
+ char buffer[PATH_MAX + 2];
+
+ string::size_type i = 0;
+
+ for (; ACE_OS::ace_isspace(dir[i]); i++);
+
+ string::size_type begin = i;
+
+ int j = 0;
+ for (; i < dir.size(); i++)
+ {
+ if (dir[i] == '\\' || dir[i] == '/')
+ {
+ // skip redundant
+ if (dir[i + 1] == '\\' || dir[i + 1] == '/')
+ {
+ }
+ // Convert to proper delim
+ else
+ {
+ buffer[j] = delim; j++;
+ }
+ }
+ else if (dir[i] == '.')
+ {
+ // If specifying current, skip
+ if (dir[i + 1] == '\\' || dir[i + 1] == '/' || dir[i + 1] == '\0')
+ {
+ if (i == begin) // relative start
+ {
+ string curDir = getWorkingPath();
+ ACE_OS::strncpy(buffer, curDir.c_str(), sizeof(buffer));
+ j = curDir.length();
+ }
+ else
+ {
+ i += 2;
+ }
+ }
+ // If specifying parent, go back
+ else if (dir[i + 1] == '.')
+ {
+ if (i == begin) // relative start
+ {
+ string curDir = getWorkingPath();
+ ACE_OS::strncpy(buffer, curDir.c_str(), sizeof(buffer));
+ j = curDir.length();
+ }
+ int k = j;
+ for (; buffer[k] != delim; k--);
+ k--;
+ for (; buffer[k] != delim; k--);
+ j = (k + 1);
+ i+=2;
+ }
+ else
+ {
+ if (toLower)
+ buffer[j] = ::tolower(dir[i]);
+ else
+ buffer[j] = dir[i];
+ j++;
+ }
+ }
+ // normal character
+ else
+ {
+ if (toLower)
+ buffer[j] = ::tolower(dir[i]);
+ else
+ buffer[j] = dir[i];
+ j++;
+ }
+ }
+
+ if (buffer[j - 1] == delim) j--;
+ buffer[j] ='\0';
+ return buffer;
+}
+
+TestServer::TestServer(CORBA::ORB_ptr orb, int argc, char* argv[])
+: serverID_(1)
+, serverInstanceID_(-1)
+, useIORTable_(false)
+, writeIORFile_(false)
+, retryQuery_(false)
+, pauseType_('s')
+, startupPause_(0)
+, objActivatePause_(0)
+, activatePause_(0)
+, runPause_(0)
+, numPOAS_(0)
+, numObjsPerPOA_(0)
+, useItLoseItSecs_(0)
+, orb_(CORBA::ORB::_duplicate(orb))
+, iorTable_(IORTable::Table::_nil())
+, root_(PortableServer::POA::_nil())
+, mgr_(PortableServer::POAManager::_nil())
+{
+ parseCommands(argc, argv);
+
+ verifyEnvironment();
+
+ // We really do not want the current directory set by the
+ // activator. baseDir_ is where all the operation files are.
+ if (baseDir_.empty() == false)
+ {
+ ACE_OS::chdir(baseDir_.c_str());
+ }
+}
+
+TestServer::~TestServer()
+{
+ root_->destroy(1, 1);
+}
+
+// TestServer::parseCommands
+// Reads params from command line
+//
+int TestServer::parseCommands(int argc, char* argv[])
+{
+ ACE_Get_Opt get_opts(argc, argv, "w:e:d:t:o:s:c:a:r:p:n:x:z:q:b:");
+ int c;
+ while ((c = get_opts()) != -1)
+ {
+ switch (c)
+ {
+ case 'w':
+ expectedDir_ = normalizePath(get_opts.opt_arg());
+ break;
+
+ case 'e':
+ {
+ string name = get_opts.opt_arg();
+ string::size_type i = name.find_first_of("=");
+ string value = name.substr(i + 1, name.length() - 1);
+ name.resize(i);
+ expectedEnv_.push_back(std::make_pair(name, value));
+ break;
+ }
+
+ case 'd':
+ serverID_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 't':
+ {
+ const char* opt = get_opts.opt_arg();
+ useIORTable_ = (opt && opt[0] != '0');
+ break;
+ }
+
+ case 'q':
+ {
+ const char* opt = get_opts.opt_arg();
+ retryQuery_ = (opt && opt[0] != '0');
+ break;
+ }
+
+ case 'o':
+ {
+ const char* opt = get_opts.opt_arg();
+ writeIORFile_ = (opt && opt[0] != '0');
+ break;
+ }
+
+ case 's':
+ startupPause_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'c':
+ objActivatePause_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'a':
+ activatePause_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'r':
+ runPause_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'p':
+ numPOAS_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'n':
+ numObjsPerPOA_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'x':
+ useItLoseItSecs_ = ACE_OS::atoi(get_opts.opt_arg());
+ break;
+
+ case 'z':
+ pauseType_ = get_opts.opt_arg()[0];
+ break;
+
+ case 'b':
+ baseDir_ = get_opts.opt_arg();
+ break;
+
+ case '?':
+ default:
+ ACE_ERROR_RETURN((LM_ERROR,
+ "usage: %s\n"
+ "\t-d <startup pause in milliseconds>\n"
+ "\t-t 'use IOR Table'\n"
+ "\t-o 'write the IOR file'\n"
+ "\t-s <startup pause in milliseconds>\n"
+ "\t-a <activation pause in milliseconds>\n"
+ "\t-r <run pause in milliseconds>\n"
+ "\t-p <number of POAS>\n"
+ "\t-n <number of objects per POA>\n"
+ "\t-x <number of seconds from last hit till exit>\n"
+ "\t-e <expected_env_var_name>=<value> 'can be repeated'\n"
+ "\t-w <expected_working_directory>\n"
+ "\n",
+ argv[0]),
+ -1);
+ }
+ }
+ return 0;
+}
+
+// TestServer::verifyEnvironment
+// Checks to see if the activator setup requested env vars and current directory
+//
+bool TestServer::verifyEnvironment() const
+{
+ bool err = false;
+
+ // Check paths
+ string currentDir = getWorkingPath();
+ if (expectedDir_.empty() == false && currentDir != expectedDir_)
+ {
+ cout << "Error: directory paths ("
+ << currentDir << ", " << expectedDir_
+ << ") do not match." << endl;
+ err |= true;
+ }
+
+ // Check env vars
+ for (string::size_type i = 0; i < expectedEnv_.size(); i++)
+ {
+ const char* realValue = ACE_OS::getenv(expectedEnv_[i].first.c_str()) ;
+ if (realValue == NULL)
+ {
+ cout << "Error: env variable '"
+ << expectedEnv_[i].first
+ << "' not found." << endl;
+ err |= true;
+ }
+ else if (expectedEnv_[i].second != realValue)
+ {
+ cout << "Error: env variable '" << expectedEnv_[i].first << "' values ("
+ << realValue << ", " << expectedEnv_[i].second
+ << ") do not match." << endl;
+ err |= true;
+ }
+ }
+
+ return (err ? 1 : 0);
+}
+
+// TestServer::pause
+// Pause processing by either sleep or timed run-loop
+//
+void TestServer::pause(int milliseconds)
+{
+ if (milliseconds > 0)
+ {
+ if (pauseType_ == 's')
+ {
+ ACE_OS::sleep(ACE_Time_Value(0, milliseconds * 1000));
+ }
+ else if (pauseType_ == 'r')
+ {
+ ACE_Time_Value tv(0, milliseconds * 1000);
+ orb_->run(tv);
+ }
+ else
+ {
+ ACE_ASSERT(pauseType_ == 'r');
+ }
+ }
+}
+
+// TestServer::pause
+// Pause processing by either sleep or timed run-loop
+//
+void TestServer::run()
+{
+ // Startup
+ pause(startupPause_);
+
+ // Resolve initial references
+ CORBA::Object_var obj = orb_->resolve_initial_references("RootPOA");
+ root_ = PortableServer::POA::_narrow(obj.in());
+ mgr_ = root_->the_POAManager();
+
+ // Register w/ the manager
+ if (registerWithManager() == false)
+ return;
+
+ cout << "* Server (" << serverID_ << "." << serverInstanceID_ << ") started." << endl;
+
+ // Create IOR Table
+ if (useIORTable_ == true)
+ {
+ CORBA::Object_var obj = orb_->resolve_initial_references("IORTable");
+ iorTable_ = IORTable::Table::_narrow(obj.in());
+ }
+
+ // Build Servant
+ servant_.reset(new Messenger_i(orb_.in(), serverInstanceID_));
+
+ // Buile the POAs and Objs
+ buildObjects();
+
+ // Activate
+ pause(activatePause_);
+ mgr_->activate();
+
+ // Run with a timeout for activity
+ if (useItLoseItSecs_ > 0)
+ {
+ pause(runPause_);
+ do
+ {
+ ACE_Time_Value tv(useItLoseItSecs_);
+ orb_->run(tv);
+ } while (orb_->orb_core()->has_shutdown() == 0
+ && servant_->acknowledgeHit());
+ }
+
+ // Report shutdown
+ if (orb_->orb_core()->has_shutdown() != 0)
+ {
+ cout << "* Server (" << serverID_ << "."
+ << serverInstanceID_ << ") ended." << endl;
+ }
+ else
+ {
+ cout << "* Server (" << serverID_ << "."
+ << serverInstanceID_ << ") self terminated." << endl;
+ }
+}
+
+// TestServer::registerServer
+// This will register the server with the manager.
+//
+bool TestServer::registerWithManager()
+{
+ // So-far, the use cases dictate writting IOR
+ // responsibility is exclusive of registering
+ if (writeIORFile_ == false)
+ {
+ // Get the manager's ref
+ CORBA::Object_var obj = orb_->string_to_object("file://manager.ior");
+ if (CORBA::is_nil(obj.in()))
+ {
+ cerr << "Server Error: Could not get Manager IOR." << endl;
+ return false;
+ }
+ Manager_var manager = Manager::_narrow(obj.in());
+ if (CORBA::is_nil(manager.in())) {
+ cerr << "Server Error: IOR was not a Manager object reference." << endl;
+ return false;
+ }
+
+ // If this is a query process
+ if (retryQuery_ == true)
+ {
+ int diff = manager->endRetry();
+ if (diff != 0)
+ {
+ cout << "* Server Error: Not all retry attempts were made." << endl;
+ }
+ return false;
+ }
+ else // Get the server ID
+ {
+ serverInstanceID_ = manager->registerServer();
+ if (serverInstanceID_ == -1)
+ {
+ cout << "* Server (" << serverID_ << "."
+ << serverInstanceID_ << ") could not register." << endl;
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+// TestServer::buildObjects
+// Builds all the objects required by the client and server
+// Writes IORs if requested
+//
+void TestServer::buildObjects()
+{
+ // Append to existing file
+ ofstream iorFile("imr_test.ior", ios::app);
+
+ // Create number of requested POAS
+ for (int i = 0; i < numPOAS_; i++)
+ {
+ CORBA::PolicyList policies(3);
+ policies.length(3);
+ policies[0] = root_->create_id_assignment_policy(PortableServer::USER_ID);
+ policies[1] = root_->create_id_uniqueness_policy(PortableServer::MULTIPLE_ID);
+ policies[2] = root_->create_lifespan_policy(PortableServer::PERSISTENT);
+
+ // Create a POA
+ string poaName;
+ {
+ std::stringstream poaStream;
+ poaStream << "POA_" << serverID_ << "_" << (i + 1);
+ poaName = poaStream.str();
+ }
+
+ cout << "* Creating POA: " << poaName << endl;
+
+ PortableServer::POA_var sub_poa = root_->create_POA(poaName.c_str(), mgr_.in(), policies);
+
+ pause(objActivatePause_);
+ // Create number of requested object references
+ for (int j = 0; j < numObjsPerPOA_; j++)
+ {
+ // Create object reference and activate it
+ string objName;
+ {
+ std::stringstream objStream;
+ objStream << "OBJ_" << serverID_ << "_" << (i + 1) << "_" << (j + 1);
+ objName = objStream.str();
+ }
+ cout << "* Activating Obj: " << objName << endl;
+
+ PortableServer::ObjectId_var oid = PortableServer::string_to_ObjectId(objName.c_str());
+ sub_poa->activate_object_with_id(oid.in(), servant_.get());
+
+ // Output the stringified ID to the file for the client
+ if (! useIORTable_)
+ {
+ if (writeIORFile_)
+ {
+ // Write out IOR
+ CORBA::Object_var obj = sub_poa->id_to_reference(oid.in());
+ CORBA::String_var ior = orb_->object_to_string(obj.in());
+ iorFile << ior.in () << endl;
+ }
+ }
+ else // use IOR table
+ {
+ // Write out corbaloc
+ TAO_POA* tmp_poa = sub_poa->_tao_poa_downcast();
+ // Make entry into ior table using the non IMRified object ref.
+ CORBA::Object_var obj = tmp_poa->id_to_reference(oid.in(), false);
+ CORBA::String_var ior = orb_->object_to_string(obj.in());
+ string key = (poaName + "/" + objName);
+ iorTable_->bind(key.c_str(), ior.in());
+
+ if (writeIORFile_)
+ {
+ // Use the IMRified object ref to create the corbaloc.
+ CORBA::Object_var obj = sub_poa->id_to_reference(oid.in());
+
+ // Create a corbaloc
+ TAO_Profile* profile = obj->_stubobj()->profile_in_use();
+ CORBA::String_var temp = profile->to_string();
+ string corbaloc = temp.in();
+ corbaloc.resize(corbaloc.find_first_of(profile->object_key_delimiter()) + 1);
+ corbaloc += key;
+
+ // Write out corbaloc
+ iorFile << corbaloc << endl;
+ }
+ }
+ }
+ }
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h
new file mode 100644
index 00000000000..261b37c35e3
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/TestServer.h
@@ -0,0 +1,51 @@
+//$Id$
+#include "Messenger_i.h"
+
+#include "ace/Auto_Ptr.h"
+
+#include "tao/IORTable/IORTable.h"
+#include "tao/PortableServer/POA.h"
+
+#include <string>
+#include <vector>
+
+class TestServer
+{
+public:
+ TestServer(CORBA::ORB_ptr, int argc, char* argv[]);
+
+ ~TestServer();
+
+ void run();
+
+private:
+ int parseCommands(int argc, char* argv[]);
+ bool verifyEnvironment() const;
+ bool registerWithManager();
+ void buildObjects();
+ void pause(int milliseconds);
+
+ int serverID_;
+ int serverInstanceID_;
+ bool useIORTable_;
+ bool writeIORFile_;
+ bool retryQuery_;
+ char pauseType_;
+ int startupPause_;
+ int objActivatePause_;
+ int activatePause_;
+ int runPause_;
+ int numPOAS_;
+ int numObjsPerPOA_;
+ int useItLoseItSecs_;
+
+ std::string baseDir_;
+ std::string expectedDir_;
+ std::vector<std::pair<std::string, std::string> > expectedEnv_;
+ ACE_Auto_Ptr<Messenger_i> servant_;
+
+ CORBA::ORB_var orb_;
+ IORTable::Table_var iorTable_;
+ PortableServer::POA_var root_;
+ PortableServer::POAManager_var mgr_;
+};
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/client_main.cpp b/TAO/orbsvcs/examples/ImR/Advanced/client_main.cpp
new file mode 100644
index 00000000000..bcebff9a94f
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/client_main.cpp
@@ -0,0 +1,25 @@
+//$Id$
+#include "TestClient.h"
+
+#include <ace/streams.h>
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+
+ {
+ TestClient client(orb.in(), argc, argv);
+ client.run();
+ }
+
+ orb->destroy();
+ return 0;
+ }
+ catch (CORBA::Exception& ex)
+ {
+ cerr << "TestClient: " << ex << endl;
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/all b/TAO/orbsvcs/examples/ImR/Advanced/drivers/all
new file mode 100644
index 00000000000..d4a342bc676
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/all
@@ -0,0 +1,6 @@
+# All Tests
+run invocation
+run environment
+run persistence
+run retry
+
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/defaults b/TAO/orbsvcs/examples/ImR/Advanced/drivers/defaults
new file mode 100644
index 00000000000..212a54c6bfb
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/defaults
@@ -0,0 +1,76 @@
+- General
+
+- How should pauses be performed
+pause_type=s
+- Which file to parse next
+file=
+
+- IMR
+
+- Is the ImR even turned on
+imr_on=1
+- Shutdown the ImR using the tao_imr tool
+imr_shutdown=0
+- Time between pings, in milliseconds
+imr_ping_interval=10
+- Timeout for server activation, in seconds
+imr_startup_timeout=5
+- The IMR's debug level [0-2]
+imr_debug_level=1
+- How the IMR saves its information (registry, binary, XML)
+imr_persistence=
+- Clear the persistence on load
+imr_persistence_clear=1
+- The enpoint for the IMR service
+imr_endpoint=iiop://:33333
+
+- Activator
+
+- Activator mode (empty), normal, manual, auto_start, per_client
+activate_mode=
+- Server retry count for the activator
+activate_retry=0
+- How to register the servers, update or add
+registration_type=update
+- Number of test environment varaiables
+env_varnum=0
+- Test working directory
+env_dir=
+
+- Server
+
+- Server's reference style
+server_ref_style=
+- Use IORTable
+server_ior_table=0
+- Pause before POA and servant creation, in milliseconds
+server_start_pause=0
+- Pause before object activation, in milliseconds
+server_obj_act_pause=0
+- Pause before POA MGR activate, in milliseconds
+server_activate_pause=0
+- Pause before orb run, in milliseconds
+server_run_pause=0
+- Inactivity shutdown time during run, in seconds
+server_hit_time_min=15
+- Number of POAS to create
+server_poas=2
+- Number of servant activations (IORS)per POA to create
+server_poa_objs=2
+
+- Client
+
+- Pause before thread creation, in milliseconds
+client_start_pause=100
+- Number of threads to create
+client_threads=2
+- Number of work iterations per thread
+client_iterations=2
+- Number of requests per IOR
+client_requests=2
+- Make the number of requests random per IOR
+client_rand_req=0
+- Expect holding exceptions
+client_holding=0
+- Expent no-profile exceptions
+client_noprofile=0 \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/environment b/TAO/orbsvcs/examples/ImR/Advanced/drivers/environment
new file mode 100644
index 00000000000..5002846cc03
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/environment
@@ -0,0 +1,14 @@
+#
+# Environment Tests
+#
+
+# Simple Environment
+begin
+imr_shutdown=2
+server_poas=1
+server_poa_objs=0
+activate_mode=manual
+registration_type=add
+env_varnum=4
+env_dir=./drivers
+run use_environment
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/invocation b/TAO/orbsvcs/examples/ImR/Advanced/drivers/invocation
new file mode 100644
index 00000000000..5a91bc532f3
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/invocation
@@ -0,0 +1,48 @@
+#
+# Invocation Tests
+#
+
+# Default test
+begin
+run use_invocation
+
+# Default IOR Table
+begin
+server_ior_table=1
+run use_invocation
+
+# Default Activator
+begin
+activate_mode=normal
+run use_invocation
+
+# Default Activator IOR Table
+begin
+server_ior_table=1
+activate_mode=normal
+run use_invocation
+
+# Default Activator Per Client
+begin
+activate_mode=per_client
+run use_invocation
+
+# Default Activator Per Client IOR Table
+begin
+server_ior_table=1
+activate_mode=per_client
+run use_invocation
+
+# Default Activator Manual
+begin
+activate_mode=manual
+run use_invocation
+
+# Default Activator Manual IOR Table
+begin
+server_ior_table=1
+activate_mode=manual
+run use_invocation
+
+- activate_mode=auto_start is tested in persistence.txt
+
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/persistence b/TAO/orbsvcs/examples/ImR/Advanced/drivers/persistence
new file mode 100644
index 00000000000..4d522eddc11
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/persistence
@@ -0,0 +1,57 @@
+#
+# Persistence Tests
+#
+
+# Default Persistence w/ auto_start - XML
+begin
+server_poas=1
+server_poa_objs=1
+client_threads=1
+client_iterations=1
+client_requests=1
+imr_persistence=XML
+activate_mode=manual
+env_varnum=4
+env_dir=./drivers
+run use_persistence
+
+# Default Persistence w/ auto_start - Binary
+begin
+server_poas=1
+server_poa_objs=1
+client_threads=1
+client_iterations=1
+client_requests=1
+imr_persistence=binary
+activate_mode=auto_start
+env_varnum=4
+env_dir=./drivers
+run use_persistence
+
+# Default Persistence w/ auto_start - Registry
+begin
+server_poas=1
+server_poa_objs=1
+client_threads=1
+client_iterations=1
+client_requests=1
+imr_persistence=registry
+activate_mode=auto_start
+env_varnum=4
+env_dir=./drivers
+run use_persistence
+
+--
+# Clear the persistence
+begin
+imr_persistence_clear=1
+imr_persistence=registry
+do start_imr();
+do kill_imr();
+imr_persistence=XML
+do start_imr();
+do kill_imr();
+imr_persistence=binary
+do start_imr();
+do kill_imr();
+-- \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/retry b/TAO/orbsvcs/examples/ImR/Advanced/drivers/retry
new file mode 100644
index 00000000000..7bcfdd99631
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/retry
@@ -0,0 +1,28 @@
+#
+# Retry Tests
+#
+
+# Simple Retry Test
+begin
+server_poas=1
+server_poa_objs=1
+client_threads=1
+client_iterations=1
+client_requests=1
+activate_retry=4
+activate_mode=per_client
+run use_invocation
+
+# Simple Ping Test
+begin
+debug_level=2
+activate_mode=manual
+server_poas=1
+server_poa_objs=1
+client_threads=1
+client_iterations=1
+client_requests=1
+env_pause_type=r
+ping_interval=500
+server_activate_pause=10000
+run use_invocation
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_environment b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_environment
new file mode 100644
index 00000000000..35b5c3f0525
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_environment
@@ -0,0 +1,19 @@
+- use_environment
+
+do start_imr
+do start_activator
+
+# Regester Server (1/2)
+do register_server
+do activate_server
+do kill_server
+do unregister_server
+
+# Regester Server (2/2)
+do register_server
+do activate_server
+do kill_server
+do unregister_server
+
+do kill_activator
+do kill_imr \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_invocation b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_invocation
new file mode 100644
index 00000000000..927d1ab4100
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_invocation
@@ -0,0 +1,12 @@
+- use_invocation
+
+do invoke_stats
+do start_imr
+do write_iors
+do start_activator
+do register_server
+do start_server
+do launch_client
+do kill_server
+do kill_activator
+do kill_imr
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_persistence b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_persistence
new file mode 100644
index 00000000000..9124a28ceaa
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/drivers/use_persistence
@@ -0,0 +1,22 @@
+- use_persistence
+
+# Start the IMR
+#
+imr_persistence_clear=1
+do invoke_stats
+do start_imr();
+do start_activator
+do write_iors
+do register_server
+do kill_imr
+
+# Reload the IMR
+#
+imr_persistence_clear=0
+do start_imr
+do activator_list
+do start_server
+do launch_client
+do kill_server
+do kill_activator
+do kill_imr \ No newline at end of file
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/manager_main.cpp b/TAO/orbsvcs/examples/ImR/Advanced/manager_main.cpp
new file mode 100644
index 00000000000..6be76baf992
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/manager_main.cpp
@@ -0,0 +1,59 @@
+//$Id$
+#include "Manager_i.h"
+
+#include <ace/Get_Opt.h>
+#include <ace/streams.h>
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ long retryCount = 0;
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+
+ ACE_Get_Opt get_opts(argc, argv, "r:");
+ int c;
+ while ((c = get_opts()) != -1)
+ {
+ switch (c)
+ {
+ case 'r':
+ retryCount = ::atoi(get_opts.opt_arg());
+ break;
+ case '?':
+ default:
+ cout << "Usage: " << argv[0] << " [-r retryCount]" << endl;
+ break;
+ }
+ }
+
+ CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
+ PortableServer::POA_var poa = PortableServer::POA::_narrow(obj.in());
+
+ PortableServer::POAManager_var mgr = poa->the_POAManager();
+
+ Manager_i servant(retryCount);
+ PortableServer::ObjectId_var oid = poa->activate_object(&servant);
+ obj = poa->id_to_reference(oid.in());
+ {
+ CORBA::String_var ior = orb->object_to_string(obj.in());
+ ofstream iorFile("manager.ior");
+ iorFile << ior.in() << endl;
+ }
+
+ cout << "IMR Test Manager activated (servers retry = " << retryCount << ")." << endl;
+
+ mgr->activate();
+
+ orb->run();
+
+ poa->destroy(1, 1);
+ orb->destroy();
+ return 0;
+ }
+ catch (CORBA::Exception& ex)
+ {
+ cerr << "Manager: " << ex << endl;
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/run_test.pl b/TAO/orbsvcs/examples/ImR/Advanced/run_test.pl
new file mode 100755
index 00000000000..b86e167dff9
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/run_test.pl
@@ -0,0 +1,519 @@
+##$Id$
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# This test currently does not perform
+# ImplRepo_Service -m (multicast)
+# ImplRepo_Service -l (loack database)
+# ImplRepo_Service -c (install/remove Windows service)
+# tao_imr shutdown -l hostname (shutdown servers on a specific host)
+# tao_imr shutdown_repo (shutting down ImplRepo_Service via tao_imr)
+
+#use strict;
+use lib "$ENV{ACE_ROOT}/bin";
+use PerlACE::Run_Test;
+use Sys::Hostname;
+use File::Spec;
+use Getopt::Long qw(:config bundling);
+
+
+# Initialize variables
+my %TestParams;
+my $IMPL_IOR = "-ORBInitRef ImplRepoService=file://implrepo.ior";
+my $ENV_CMD;
+my $IMR_CMD;
+my $ACT_CMD;
+my $IOR_CMD;
+my $SERVER_CMD;
+my $CLIENT_CMD;
+my $MGR;
+my $IMPL;
+my $ACT;
+my $SERVER;
+
+# Get command line params
+$TestParams{file} = "./drivers/all";
+GetOptions("file|f=s" => \$TestParams{file});
+parse_file();
+
+# Open the Param file and run the tests within
+sub parse_file
+{
+ my $fh;
+ my $file = $TestParams{file};
+
+ my $disabled_block = 0;
+ if (open($fh, $file))
+ {
+ while (<$fh>)
+ {
+ my $line = $_;
+ $line =~ s/\s+$//;
+
+ # If the line is negated, ignore it
+ if ($line =~ /^--/)
+ {
+ $disabled_block = ! ($disabled_block);
+ }
+
+ elsif ($disabled_block == 0)
+ {
+ # If the line is negated, ignore it
+ if ($line =~ /^-/)
+ {
+ }
+
+ # If the line is a comment, print it
+ elsif ($line =~ /^#/)
+ {
+ print "$line\n";
+ }
+
+ # Start defining an execution
+ elsif ($line =~ /^begin/)
+ {
+ $TestParams{file} = "./drivers/defaults";
+ parse_file();
+ }
+
+ # Parse a new file
+ elsif ($line =~ /^run (\w+)/)
+ {
+ $TestParams{file} = "./drivers/$1";
+ parse_file();
+ }
+
+ # Acquire parameter
+ elsif ($line =~ /(\w+)=(.*)/)
+ {
+ &acquire_param($1, $2);
+ }
+
+ # Execute a single line
+ elsif ($line =~ /^do (\w+)/)
+ {
+ my $methodRef = $1;
+ &$methodRef(); #how do I do this in the strict mode?
+ }
+ }
+ }
+ }
+}
+
+sub invoke_stats()
+{
+ my $IORS = ($TestParams{server_poas} * $TestParams{server_poa_objs});
+ my $THREAD_REQ = ($TestParams{client_iterations} * $IORS * $TestParams{client_requests});
+ my $TOTAL_REQ = ($TestParams{client_threads} * $THREAD_REQ);
+
+ my $RAND_MSG = "";
+ if ($TestParams{client_rand_req} ne "0")
+ {
+ $RAND_MSG = "(max random)";
+ }
+ print "* Invocation Stats\n";
+ print "* POAs: $TestParams{server_poas}\n";
+ print "* Obj/POA: $TestParams{server_poa_objs}\n";
+ print "* IORs: $IORS\n";
+ print "* Threads: $TestParams{client_threads}\n";
+ print "* Iterations/Thread: $TestParams{client_iterations}\n";
+ print "* Requests/Thread: $THREAD_REQ $RAND_MSG\n";
+ print "* Total Requests: $TOTAL_REQ $RAND_MSG\n";
+}
+
+sub start_imr
+{
+ generateCommands();
+
+ # Start the manager
+ unlink "manager.ior";
+ $MGR = new PerlACE::Process("manager_main", "-r $TestParams{activate_retry}");
+ $MGR->Spawn();
+ PerlACE::waitforfile_timed("manager.ior", 10);
+
+ if ($TestParams{imr_on} eq "1")
+ {
+ # Start the IMR Service
+ unlink "implrepo.ior";
+ $IMPL = new PerlACE::Process(
+ "$ENV{TAO_ROOT}/orbsvcs/ImplRepo_Service/ImplRepo_Service",
+ $IMR_CMD);
+ $IMPL->Spawn();
+ PerlACE::waitforfile_timed("implrepo.ior", 10);
+ }
+}
+
+sub kill_imr
+{
+ if ($TestParams{imr_on} eq "1")
+ {
+ if ($TestParams{imr_shutdown} ne "0")
+ {
+ my $tool_params = "$IMPL_IOR shutdown-repo";
+ if ($TestParams{imr_shutdown} eq "2" && $TestParams{activate_mode} ne "")
+ {
+ $tool_params = "$tool_params -a";
+ }
+
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", $tool_params);
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+
+ # test $IMPL
+ if ($TestParams{imr_shutdown} eq "2" && $TestParams{activate_mode} ne "")
+ {
+ $ACT->WaitKill(5);
+ print "* Activator Killed.\n";
+ }
+ $IMPL->WaitKill(5);
+ }
+ else
+ {
+ $IMPL->TerminateWaitKill(1);
+ }
+ print "* IMR Killed.\n";
+ }
+
+ my $TEMP_SERV = new PerlACE::Process("server_main", "-q 1 -x 0");
+ $TEMP_SERV->SpawnWaitKill(5);
+ $MGR->Kill();
+}
+
+# write_iors
+# creates the IORS for all the objects the client will invoke
+# The POAs will be temporarely registered with the IMR.
+sub write_iors
+{
+ generateCommands();
+ unlink "imr_test.ior";
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ # Run a single fake server for every POA
+ for (my $i = 1; $i <= $TestParams{server_poas}; $i++)
+ {
+ my $TEMP_SERV = new PerlACE::Process("server_main", "$IOR_CMD -p 1 -d " . $i);
+ $TEMP_SERV->SpawnWaitKill(5);
+ }
+ print "* IORs Written\n";
+ }
+ elsif ($TestParams{activate_mode} ne "")
+ {
+ # Run a single fake server for all POAs
+ my $TEMP_SERV = new PerlACE::Process("server_main", "$IOR_CMD -d 1 -p $TestParams{server_poas}");
+ $TEMP_SERV->SpawnWaitKill(5);
+ PerlACE::waitforfile_timed("imr_test.ior", 10);
+ print "* IORs Written\n";
+ }
+ else
+ {
+ # Without an activator, the server will write the IORs when manually launched
+ }
+}
+
+sub start_activator
+{
+ if ($TestParams{activate_mode} ne "")
+ {
+ generateCommands();
+
+ # Start the Activator
+ unlink "activator.ior";
+ $ACT = new PerlACE::Process(
+ "$ENV{TAO_ROOT}/orbsvcs/ImplRepo_Service/ImR_Activator",
+ $ACT_CMD);
+ $ACT->Spawn();
+ PerlACE::waitforfile_timed("activator.ior", 5);
+ }
+}
+
+sub kill_activator()
+{
+ if ($TestParams{activate_mode} ne "")
+ {
+ if ($TestParams{imr_shutdown} ne "2")
+ {
+ $ACT->TerminateWaitKill(1);
+ print "* Activator Killed.\n";
+ }
+ }
+}
+
+# activator_list
+# Lists the known servers
+sub activator_list()
+{
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR list -v");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+
+ # TODO: parse output and check values
+}
+
+# register_server
+# Makes the activator know about the server
+# Does nothing for the no-activator mode
+sub register_server()
+{
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ # Register a single POA for each server
+ generateCommands();
+ my $actname = hostname;
+ for (my $i = 1; $i <= $TestParams{server_poas}; $i++)
+ {
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR $TestParams{registration_type} POA_".$i."_1 -c \"server_main $SERVER_CMD -d ".$i." -p 1\" -a $TestParams{activate_mode} -r $TestParams{activate_retry} -l $actname $ENV_CMD");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ }
+ elsif ($TestParams{activate_mode} ne "")
+ {
+ # Register only the first POA for our server
+ # The remaining POAs will auto-register when the server is started
+ generateCommands();
+ my $actname = hostname;
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR $TestParams{registration_type} POA_1_1 -c \"server_main $SERVER_CMD -d 1 -p $TestParams{server_poas}\" -a $TestParams{activate_mode} -r $TestParams{activate_retry} -l $actname $ENV_CMD");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ else
+ {
+ # nothing to register without an activator
+ }
+}
+
+sub unregister_server()
+{
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ # Register a single POA for each server
+ generateCommands();
+ my $actname = hostname;
+ for (my $i = 1; $i <= $TestParams{server_poas}; $i++)
+ {
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR remove POA_".$i."_1");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ }
+ elsif ($TestParams{activate_mode} ne "")
+ {
+ # Register only the first POA for our server
+ # The remaining POAs will auto-register when the server is started
+ generateCommands();
+ my $actname = hostname;
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR remove POA_1_1");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ else
+ {
+ # nothing is registered without an activator
+ }
+}
+
+
+# start_server
+# This method is called before the client is luanched.
+# It only launches the server for the two manual modes (no-act and manual-act).
+sub start_server()
+{
+ if ($TestParams{activate_mode} eq "")
+ {
+ generateCommands();
+ $SERVER = new PerlACE::Process("server_main", "$SERVER_CMD -d 1 -o 1 -p $TestParams{server_poas}");
+ $SERVER->Spawn();
+ PerlACE::waitforfile_timed("imr_test.ior", 10);
+ }
+ elsif ($TestParams{activate_mode} eq "manual")
+ {
+ activate_server();
+ }
+ else
+ {
+ # The server will be launched by the ImR or Client
+ }
+}
+
+# Activate Server
+# This method is an alternative way to start the server.
+# It will activate the servers regardless of mode.
+sub activate_server
+{
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ # Register a single POA for each server
+ generateCommands();
+ my $actname = hostname;
+ for (my $i = 1; $i <= $TestParams{server_poas}; $i++)
+ {
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR activate POA_".$i."_1");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ }
+ elsif ($TestParams{activate_mode} ne "")
+ {
+ # Register only the first POA for our server
+ # The remaining POAs will auto-register when the server is started
+ generateCommands();
+ my $actname = hostname;
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR activate POA_1_1");
+ $TOOL->IgnoreExeSubDir(1);
+ $TOOL->SpawnWaitKill(5);
+ }
+ else # No activator
+ {
+ start_server();
+ }
+}
+
+# kill server
+# This method is called when the services of the server are no longer required.
+# per_client does nothing.
+sub kill_server()
+{
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ # clients do this
+ }
+ elsif ($TestParams{activate_mode} ne "")
+ {
+ # Kill the single server
+ my $TOOL = new PerlACE::Process("$ENV{ACE_ROOT}/bin/tao_imr", "$IMPL_IOR shutdown POA_1_1");
+ $TOOL->SpawnWaitKill(5);
+ }
+ else
+ {
+ $SERVER->Kill();
+ print "* Server Killed.\n";
+ }
+}
+
+# launch_client
+# This method spawns the client and blocks until the client is done
+sub launch_client
+{
+ generateCommands();
+ if ($TestParams{activate_mode} eq "per_client")
+ {
+ my $CLIENT = new PerlACE::Process("client_main", "$CLIENT_CMD -x 1");
+ $CLIENT->SpawnWaitKill(500);
+ }
+ else
+ {
+ my $CLIENT = new PerlACE::Process("client_main", "$CLIENT_CMD");
+ $CLIENT->SpawnWaitKill(500);
+ }
+}
+
+# Private methods
+
+# acquire_param
+# Transforms certain parameters into usable forms
+sub acquire_param
+{
+ $TestParams{$_[0]} = $_[1];
+
+ if ($_[0] eq "imr_persistence")
+ {
+ if ($TestParams{imr_persistence} eq "registry")
+ {
+ $TestParams{imr_persistence} = "-r";
+ }
+ elsif ($TestParams{imr_persistence} eq "binary")
+ {
+ $TestParams{imr_persistence} = "-p imr_persist";
+ }
+ elsif ($TestParams{imr_persistence} eq "XML")
+ {
+ $TestParams{imr_persistence} = "-x imr_persist";
+ }
+ }
+
+ elsif ($_[0] eq "imr_persistence_clear")
+ {
+ if ($TestParams{imr_persistence_clear} eq "1")
+ {
+ $TestParams{imr_persistence_clear} = "-e";
+ }
+ else
+ {
+ $TestParams{imr_persistence_clear} = "";
+ }
+ }
+
+ elsif ($_[0] eq "server_ref_style" && $TestParams{server_ref_style} ne "")
+ {
+ $TestParams{server_ref_style} = "-ORBObjRefStyle $TestParams{server_ref_style}";
+ }
+
+ elsif ($_[0] eq "client_rand_req" && $TestParams{client_rand_req} eq "1")
+ {
+ $TestParams{client_rand_req} = "r";
+ }
+
+ elsif ($_[0] eq "client_holding" && $TestParams{client_holding} eq "1")
+ {
+ $TestParams{client_holding} = "h";
+ }
+
+ elsif ($_[0] eq "client_noprofile" && $TestParams{client_noprofile} eq "1")
+ {
+ $TestParams{client_noprofile} = "n";
+ }
+}
+
+# generateCommands
+# Create common cammand line sets
+sub generateCommands
+{
+ $ENV_CMD = "";
+ for (my $i = 0; $i < $TestParams{env_varnum}; $i++)
+ {
+ $ENV_CMD = "$ENV_CMD -e Name_" . $i . "=Value_" . $i . " ";
+ }
+
+ if ($TestParams{env_dir} ne "")
+ {
+ $ENV_CMD = "$ENV_CMD -w " . File::Spec->rel2abs($TestParams{env_dir}) . " ";
+ }
+
+ $IMR_CMD = "-o implrepo.ior "
+ . "$TestParams{imr_persistence} "
+ . "$TestParams{imr_persistence_clear} "
+ . "-ORBEndPoint $TestParams{imr_endpoint} "
+ . "-d $TestParams{imr_debug_level} "
+ . "-v $TestParams{imr_ping_interval} "
+ . "-t $TestParams{imr_startup_timeout} ";
+
+ $ACT_CMD = "$IMPL_IOR -o activator.ior -d $TestParams{imr_debug_level}";
+
+ $SERVER_CMD = "-ORBUseIMR $TestParams{imr_on} $IMPL_IOR "
+ . "$ENV_CMD "
+ . "$TestParams{server_ref_style} "
+ . "-b " . File::Spec->rel2abs(".") . " "
+ . "-t $TestParams{server_ior_table} "
+ . "-z $TestParams{env_pause_type} "
+ . "-s $TestParams{server_start_pause} "
+ . "-c $TestParams{server_obj_act_pause} "
+ . "-a $TestParams{server_activate_pause} "
+ . "-r $TestParams{server_run_pause} "
+ . "-n $TestParams{server_poa_objs} "
+ . "-x $TestParams{server_hit_time_min} ";
+
+ $CLIENT_CMD = "-z $TestParams{env_pause_type} "
+ . "-s $TestParams{client_start_pause} "
+ . "-t $TestParams{client_threads} "
+ . "-i $TestParams{client_iterations} "
+ . "-r $TestParams{client_rand_req}$TestParams{client_requests} "
+ . "-e $TestParams{client_holding}$TestParams{client_noprofile} ";
+
+ $IOR_CMD = "-ORBUseIMR $TestParams{imr_on} $IMPL_IOR "
+ . "$TestParams{server_ref_style} "
+ . "-b " . File::Spec->rel2abs(".") . " "
+ . "-t $TestParams{server_ior_table} "
+ . "-n $TestParams{server_poa_objs} "
+ . "-z s -s 100 -o 1 -x 0 " # sleep 100, write iors, and exit
+}
diff --git a/TAO/orbsvcs/examples/ImR/Advanced/server_main.cpp b/TAO/orbsvcs/examples/ImR/Advanced/server_main.cpp
new file mode 100644
index 00000000000..ccf813d0e9c
--- /dev/null
+++ b/TAO/orbsvcs/examples/ImR/Advanced/server_main.cpp
@@ -0,0 +1,26 @@
+//$Id$
+#include "TestServer.h"
+
+#include <ace/streams.h>
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CORBA::ORB_var orb;
+ orb = CORBA::ORB_init(argc, argv);
+
+ {
+ TestServer server(orb.in(), argc, argv);
+ server.run();
+ }
+
+ orb->destroy();
+ return 0;
+ }
+ catch (CORBA::Exception& ex)
+ {
+ cerr << "CORBA error: " << ex << endl;
+ }
+ return 1;
+}
diff --git a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
index f2bda240f28..9907942df53 100644
--- a/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
+++ b/TAO/orbsvcs/orbsvcs/IOR_Multicast.cpp
@@ -37,9 +37,9 @@ TAO_IOR_Multicast::TAO_IOR_Multicast (const char *ior,
TAO_IOR_Multicast::~TAO_IOR_Multicast (void)
{
- if (this->mcast_dgram_.leave (this->mcast_addr_) == -1)
+ if (ior_.length() > 0 && this->mcast_dgram_.leave (this->mcast_addr_) == -1)
{
- ACE_ERROR ((LM_ERROR, "%p\n", "leave"));
+ ACE_ERROR ((LM_ERROR, "%p\n", "~TAO_IOR_Multicast()"));
}
}
@@ -50,7 +50,7 @@ TAO_IOR_Multicast::init (const char *ior,
TAO_Service_ID service_id)
{
if (this->mcast_addr_.set (port, mcast_addr) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "set"), -1);
+ ACE_ERROR_RETURN ((LM_ERROR, "TAO_IOR_Multicast::init() %p\n", "set"), -1);
return common_init (ior, service_id);
}
@@ -106,7 +106,7 @@ TAO_IOR_Multicast::common_init (const char *ior,
if (this->response_addr_.set ((u_short) 0) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
+ "TAO_IOR_Multicast::common_init() %p\n",
"set"),
-1);
else if (this->response_.open (this->response_addr_) == -1)
@@ -123,13 +123,13 @@ TAO_IOR_Multicast::common_init (const char *ior,
if (this->mcast_dgram_.subscribe (this->mcast_addr_,
1,
ACE_TEXT_CHAR_TO_TCHAR(this->mcast_nic_.c_str())) == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "subscribe"),-1);
+ ACE_ERROR_RETURN ((LM_ERROR, "TAO_IOR_Multicast::common_init() %p\n", "subscribe"),-1);
}
else
{
if (this->mcast_dgram_.subscribe (this->mcast_addr_) == -1)
ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
+ "TAO_IOR_Multicast::common_init() %p\n",
"subscribe"),
-1);
}
@@ -171,7 +171,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
0);
else if (ACE_NTOHS (header) <= 0)
ACE_ERROR_RETURN ((LM_ERROR,
- "Header value < 1\n"),
+ "TAO_IOR_Multicast::handle_input() Header value < 1\n"),
0);
// Receive full client multicast request.
@@ -214,7 +214,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
&& ACE_OS::strcmp (service_name,
"MCASTServer") != 0)
{
- ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_ERROR_RETURN ((LM_ERROR,
"IOR_Multicast::connect() Unknown service requested.\n"),0);
}
@@ -256,7 +256,7 @@ TAO_IOR_Multicast::handle_input (ACE_HANDLE)
if (TAO_debug_level > 0)
ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) ior_: <%s>\n"
+ "(%P|%t) TAO_IOR_Multicast::handle_input() ior_: <%s>\n"
"sent to %s:%u.\n"
"result from send = %d\n",
this->ior_.c_str (),
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
index 5ad5cf3818a..ddd5e397a93 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
@@ -2,6 +2,8 @@
#include "XML_Saver.h"
+#include "ACEXML/common/XML_Util.h"
+
#include "ace/High_Res_Timer.h"
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_unistd.h"
@@ -166,17 +168,14 @@ namespace TAO_Notify
ACE_OS::fprintf (out, " %s%s%ld%s", TOPOLOGY_ID_NAME, "=\"", lid, "\"");
}
- char * buffer = 0;
- size_t buffer_size = 0;
+ const size_t BUF_SIZE = 512;
+ ACE_CString tmp(BUF_SIZE);
for (size_t idx = 0; idx < attrs.size(); idx++)
{
+ ACEXML_escape_string(attrs[idx].value, tmp);
ACE_OS::fprintf (out, "%s%s%s%s%s", " ",
- attrs[idx].name.c_str (),
- "=\"",
- escape_string(buffer, buffer_size, attrs[idx].value.c_str ()),
- "\"");
+ attrs[idx].name.c_str (), "=\"", tmp.c_str(), "\"");
}
- delete [] buffer;
ACE_OS::fprintf (out, ">\n");
this->indent_ += " ";
return true;
@@ -195,60 +194,4 @@ namespace TAO_Notify
ACE_OS::fprintf (out, "%s%s%s%s", indent_.c_str(), "</",
type.c_str(), ">\n");
}
-
- static const char escaped_amp[] = "&amp;";
- static const char escaped_less[] = "&lt;";
- static const char escaped_greater[] = "&gt;";
- static const char escaped_apos[] = "&apos;";
- static const char escaped_quote[] = "&quot;";
-
- char *
- XML_Saver::escape_string(char *& buffer, size_t & size, const ACE_CString & str)
- {
- size_t len = str.length ();
- size_t needed = len * (sizeof(escaped_quote)-1) + 1;
- if (needed > size)
- {
- delete [] buffer;
- buffer = new char [needed];
- size = needed;
- }
- size_t pos = 0; // position in output buffer
- for (size_t stridx = 0; stridx < len; stridx++)
- {
- char curchar = str[stridx];
- if (curchar == '&')
- {
- strcpy (&buffer[pos], escaped_amp);
- pos += sizeof (escaped_amp) -1;
- }
- else if (curchar == '<')
- {
- strcpy (&buffer[pos], escaped_less);
- pos += sizeof (escaped_less) -1;
- }
- else if (curchar == '>')
- {
- strcpy (&buffer[pos], escaped_greater);
- pos += sizeof (escaped_greater) -1;
- }
- else if (curchar == '\'')
- {
- strcpy (&buffer[pos], escaped_apos);
- pos += sizeof (escaped_apos) -1;
- }
- else if (curchar == '\"')
- {
- strcpy (&buffer[pos], escaped_quote);
- pos += sizeof (escaped_quote) -1;
- }
- else
- {
- buffer[pos++] = curchar;
- }
- }
- buffer[pos++] = '\0';
- return buffer;
- }
-
} /* namespace TAO_Notify */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
index e51370f8e6d..2cbdbf643c0 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
@@ -61,9 +61,6 @@ public:
private:
void backup_file_name (char * file_path, int nfile);
- /// \return newstr to allow in-line use
- char* escape_string(char *& newstr, size_t & size, const ACE_CString & str);
-
private:
/// A stream representing our current output.
FILE * output_;
diff --git a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp b/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp
index b1d1b113a70..3de15da1e53 100644
--- a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp
+++ b/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.cpp
@@ -6,21 +6,15 @@ ACE_RCSID(orbsvcs,
Shutdown_Utilities,
"$Id$")
-Shutdown_Functor::Shutdown_Functor (void)
-{
-}
-
-Shutdown_Functor::~Shutdown_Functor (void)
-{
-}
-
Service_Shutdown::Service_Shutdown (Shutdown_Functor& sf)
: functor_(sf)
{
ACE_Sig_Set std_signals;
#if !defined(ACE_LACKS_UNIX_SIGNALS)
- std_signals.sig_add (SIGINT);
std_signals.sig_add (SIGTERM);
+ std_signals.sig_add (SIGINT);
+#elif defined(ACE_WIN32)
+ std_signals.sig_add (SIGINT);
#endif
this->set_signals (std_signals);
}
@@ -45,12 +39,13 @@ Service_Shutdown::set_signals (ACE_Sig_Set& which_signals)
{
// iterate over all the signals in which_signals and register them...
int did_register = 0;
- for (int i = 1; i < ACE_NSIG; i++)
+ for (int i = 1; i < ACE_NSIG; ++i)
+ {
if (which_signals.is_member (i))
{
if (this->shutdown_.register_handler (i, this) == -1)
{
-#if defined(__TANDEM)
+#if defined(__TANDEM)
// Tandem NSK platform has no signal 10 so do not emit a warning for it
if (i != 10)
#endif
@@ -64,14 +59,18 @@ Service_Shutdown::set_signals (ACE_Sig_Set& which_signals)
else
did_register = 1;
}
-
+ }
if (! did_register)
+ {
ACE_DEBUG ((LM_WARNING,
"WARNING: Service_Shutdown did not register any signals.\n"));
+ }
}
Service_Shutdown::~Service_Shutdown ()
{
+ for (int i = 1; i < ACE_NSIG; ++i)
+ this->shutdown_.remove_handler(i);
}
int
diff --git a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h b/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h
index 77a53946532..a91705d3401 100644
--- a/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h
+++ b/TAO/orbsvcs/orbsvcs/Shutdown_Utilities.h
@@ -24,8 +24,8 @@ public:
virtual void operator() (int which_signal) = 0;
protected:
- Shutdown_Functor (void);
- virtual ~Shutdown_Functor (void);
+ Shutdown_Functor (void) {}
+ virtual ~Shutdown_Functor (void) {}
};
/**
diff --git a/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.cpp b/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.cpp
index b0e9d462649..b4cad654f09 100644
--- a/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.cpp
+++ b/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.cpp
@@ -83,24 +83,18 @@ Airplane_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
return retval;
// Get the POA from the ORB.
- CORBA::Object_var poa_object =
+ CORBA::Object_var obj =
this->orb_->resolve_initial_references ("RootPOA"
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- // Check the POA object.
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- "Airplane_i::init(): Unable to initialize the POA.\n"),
- -1);
+ ACE_ASSERT(! CORBA::is_nil (obj.in ()));
// Narrow the object to a POA.
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ root_poa_ = PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
// Get the POA_Manager.
- this->poa_manager_ = root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ this->poa_manager_ = this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
// We now need to create a POA with the persistent and user_id policies,
@@ -110,17 +104,17 @@ Airplane_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
policies.length (2);
policies[0] =
- root_poa->create_id_assignment_policy (PortableServer::USER_ID
+ this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK
policies[1] =
- root_poa->create_lifespan_policy (PortableServer::PERSISTENT
+ this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
this->airplane_poa_ =
- root_poa->create_POA (poa_name,
+ this->root_poa_->create_POA (poa_name,
this->poa_manager_.in (),
policies
ACE_ENV_ARG_PARAMETER);
@@ -134,9 +128,7 @@ Airplane_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
ACE_TRY_CHECK;
}
- ACE_NEW_RETURN (this->server_impl_,
- Airplane_i,
- -1);
+ ACE_NEW_RETURN (this->server_impl_, Airplane_i, -1);
PortableServer::ObjectId_var server_id =
PortableServer::string_to_ObjectId ("server");
@@ -146,34 +138,36 @@ Airplane_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::Object_var server_obj =
- this->airplane_poa_->id_to_reference (server_id.in () ACE_ENV_ARG_PARAMETER);
+ obj = this->airplane_poa_->id_to_reference (server_id.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
CORBA::String_var ior =
- this->orb_->object_to_string (server_obj.in () ACE_ENV_ARG_PARAMETER);
+ this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "The IOR is: <%s>\n", ior.in ()));
+ ACE_DEBUG ((LM_DEBUG, "The ImRified IOR is: <%s>\n", ior.in ()));
TAO_Root_POA* tmp_poa = dynamic_cast<TAO_Root_POA*>(airplane_poa_.in());
- server_obj = tmp_poa->id_to_reference_i (server_id.in (), false ACE_ENV_ARG_PARAMETER);
+ obj = tmp_poa->id_to_reference_i (server_id.in (), false ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::String_var direct_ior =
- this->orb_->object_to_string (server_obj.in () ACE_ENV_ARG_PARAMETER);
+ CORBA::String_var plain_ior =
+ this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG, "The plain IOR is: <%s>\n", plain_ior.in ()));
- CORBA::Object_var table_object =
- this->orb_->resolve_initial_references ("IORTable" ACE_ENV_ARG_PARAMETER);
+ // Note : The IORTable will only be used for those clients who try to
+ // invoke indirectly using a simple object_key reference
+ // like "corbaloc::localhost:8888/airplane_server".
+ obj = this->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);
+ IORTable::Table::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
ACE_ASSERT(! CORBA::is_nil (adapter.in ()));
- adapter->bind (poa_name, direct_ior.in () ACE_ENV_ARG_PARAMETER);
+ adapter->bind (poa_name, plain_ior.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Make sure the POA manager is activated.
this->poa_manager_->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -202,6 +196,9 @@ Airplane_Server_i::run (ACE_ENV_SINGLE_ARG_DECL)
{
this->orb_->run (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
+
+ this->root_poa_->destroy(1, 1);
+ this->orb_->destroy();
}
ACE_CATCHANY
{
@@ -217,19 +214,5 @@ Airplane_Server_i::run (ACE_ENV_SINGLE_ARG_DECL)
Airplane_Server_i::~Airplane_Server_i (void)
{
- ACE_TRY_NEW_ENV
- {
- if (!CORBA::is_nil (this->airplane_poa_.in ()))
- {
- this->airplane_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- // ignore exceptions.
- }
- ACE_ENDTRY;
-
delete this->server_impl_;
}
diff --git a/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.h b/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.h
index 68a02745b94..3b9a1b1131e 100644
--- a/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.h
+++ b/TAO/orbsvcs/tests/ImplRepo/airplane_server_i.h
@@ -57,6 +57,8 @@ private:
/// The ORB.
CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+
/// The POA for the Airplane Server.
PortableServer::POA_var airplane_poa_;
diff --git a/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
index d1b69ebb7f5..9f570603f1f 100755
--- a/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
+++ b/TAO/orbsvcs/tests/ImplRepo/locked/run_test.pl
@@ -12,11 +12,9 @@ use PerlACE::Run_Test;
# Program locations
$imr_locator_ior = PerlACE::LocalFile ("imr_locator.ior");
-$imr_activator_ior = PerlACE::LocalFile ("imr_activator.ior");
$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");
# We want the tao_imr executable to be found exactly in the path
@@ -30,13 +28,12 @@ $TAO_IMR->IgnoreExeSubDir (1);
$errors = 0;
unlink $imr_locator_ior;
-unlink $imr_activator_ior;
unlink $pfile;
################################################################################
## Start the implementation Repository Locator
-$IMR_LOCATOR->Arguments ("-p $pfile -o $imr_locator_ior -d 1");
+$IMR_LOCATOR->Arguments ("-p $pfile -o $imr_locator_ior -d 2");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 20) == -1) {
@@ -45,18 +42,6 @@ if (PerlACE::waitforfile_timed ($imr_locator_ior, 20) == -1) {
exit 1;
}
-## Start the implementation Repository Activator
-
-$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) {
- print STDERR "ERROR: waiting for $imr_activator_ior\n";
- $IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
- exit 1;
-}
-
################################################################################
## Test out commands on the IMR
@@ -96,7 +81,7 @@ if ($taoimr != 0) {
++$errors;
}
-print "===== Readding a server\n";
+print "===== Re-adding a server\n";
$TAO_IMR->Arguments("-ORBInitRef ImplRepoService=file://$imr_locator_ior"
. " add Foo -c foobarbaz");
@@ -110,6 +95,7 @@ if ($taoimr != 0) {
################################################################################
## Kill the IMR
+print "===== Killing the ImR and restarting in locked mode.\n";
$iserver = $IMR_LOCATOR->TerminateWaitKill (5);
@@ -123,7 +109,7 @@ unlink $imr_locator_ior;
################################################################################
## Restart the Implementation Repository in locked mode.
-$IMR_LOCATOR->Arguments ("-l -p $pfile -o $imr_locator_ior -d 1");
+$IMR_LOCATOR->Arguments ("-l -p $pfile -o $imr_locator_ior -d 2");
$IMR_LOCATOR->Spawn ();
if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
@@ -186,7 +172,7 @@ if ($taoimr != 2) { # NO_PERMISSION
}
################################################################################
-## Kill the IMR_LOCATOR and IMR_ACTIVATOR
+## Kill the IMR
$iserver = $IMR_LOCATOR->TerminateWaitKill (5);
@@ -197,14 +183,6 @@ 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;
unlink $pfile;
exit $errors;
diff --git a/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.cpp b/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.cpp
index 3fc4e802894..f3278167081 100644
--- a/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.cpp
+++ b/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.cpp
@@ -30,20 +30,6 @@ Nestea_Server_i::Nestea_Server_i (const char * /*filename*/)
Nestea_Server_i::~Nestea_Server_i (void)
{
- ACE_TRY_NEW_ENV
- {
- if (!CORBA::is_nil (this->nestea_poa_.in ()))
- {
- this->nestea_poa_->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- }
- ACE_CATCHANY
- {
- // ignore exceptions
- }
- ACE_ENDTRY;
-
delete this->server_impl_;
}
@@ -92,9 +78,17 @@ Nestea_Server_i::parse_args (void)
// - Uses the IR helper class to alter the object
// - Creates an IOR from the servant and outputs it to a file
+static void printEnvVars() {
+ char* useimr = ACE_OS::getenv("TAO_USE_IMR");
+ char* ior = ACE_OS::getenv("ImplRepoServiceIOR");
+ ACE_OS::printf("nestea_server: TAO_USE_IMR=%s\n", useimr != 0 ? useimr : "<null>");
+ ACE_OS::printf("nestea_server: ImplRepoServiceIOR=%s\n", ior != 0 ? ior : "<null>");
+}
+
int
Nestea_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
{
+ printEnvVars();
// Since the Implementation Repository keys off of the POA name, we need
// to use the SERVER_NAME as the POA's name.
const char *poa_name = SERVER_NAME;
@@ -116,24 +110,16 @@ Nestea_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
return retval;
// Get the POA from the ORB.
- CORBA::Object_var poa_object =
+ CORBA::Object_var obj =
this->orb_->resolve_initial_references ("RootPOA"
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
+ ACE_ASSERT(! CORBA::is_nil (obj.in ()));
- // Check the POA object.
- if (CORBA::is_nil (poa_object.in ()))
- ACE_ERROR_RETURN ((LM_ERROR,
- "Nestea_i::init(): Unable to initialize the POA.\n"),
- -1);
-
- // Narrow the object to a POA.
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (poa_object.in () ACE_ENV_ARG_PARAMETER);
+ this->root_poa_ = PortableServer::POA::_narrow (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Get the POA_Manager.
- this->poa_manager_ = root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
+ this->poa_manager_ = this->root_poa_->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
// We now need to create a POA with the persistent and user_id policies,
@@ -143,17 +129,17 @@ Nestea_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
policies.length (2);
policies[0] =
- root_poa->create_id_assignment_policy (PortableServer::USER_ID
+ this->root_poa_->create_id_assignment_policy (PortableServer::USER_ID
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK
policies[1] =
- root_poa->create_lifespan_policy (PortableServer::PERSISTENT
+ this->root_poa_->create_lifespan_policy (PortableServer::PERSISTENT
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
this->nestea_poa_ =
- root_poa->create_POA (poa_name,
+ this->root_poa_->create_POA (poa_name,
this->poa_manager_.in (),
policies
ACE_ENV_ARG_PARAMETER);
@@ -179,47 +165,38 @@ Nestea_Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::Object_var server_obj =
- this->nestea_poa_->id_to_reference (server_id.in () ACE_ENV_ARG_PARAMETER);
+ obj = this->nestea_poa_->id_to_reference (server_id.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::String_var server_str =
- this->orb_->object_to_string (server_obj.in () ACE_ENV_ARG_PARAMETER);
+ CORBA::String_var ior =
+ this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "The IOR is: <%s>\n", server_str.in ()));
+ ACE_DEBUG ((LM_DEBUG, "The IOR is: <%s>\n", ior.in ()));
TAO_Root_POA* tmp_poa = dynamic_cast<TAO_Root_POA*>(nestea_poa_.in());
- server_obj = tmp_poa->id_to_reference_i (server_id.in (), false ACE_ENV_ARG_PARAMETER);
+ obj = tmp_poa->id_to_reference_i (server_id.in (), false ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::String_var direct_ior =
- this->orb_->object_to_string (server_obj.in () ACE_ENV_ARG_PARAMETER);
+ CORBA::String_var rawior =
+ this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::Object_var table_object =
- this->orb_->resolve_initial_references ("IORTable"
- ACE_ENV_ARG_PARAMETER);
+ obj = this->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);
+ 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"));
- }
- else
- {
- adapter->bind (poa_name, direct_ior.in () ACE_ENV_ARG_PARAMETER);
+ ACE_ASSERT(! CORBA::is_nil (adapter.in ()));
+
+ adapter->bind (poa_name, rawior.in() ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- }
- // Make sure the POA manager is activated.
this->poa_manager_->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;
if (this->ior_output_file_)
{
- ACE_OS::fprintf (this->ior_output_file_, "%s", server_str.in ());
+ ACE_OS::fprintf (this->ior_output_file_, "%s", ior.in ());
ACE_OS::fclose (this->ior_output_file_);
}
}
@@ -245,6 +222,9 @@ Nestea_Server_i::run (ACE_ENV_SINGLE_ARG_DECL)
ACE_Time_Value tv(SELF_DESTRUCT_SECS);
this->orb_->run (tv ACE_ENV_ARG_PARAMETER);
+
+ this->root_poa_->destroy(1, 1);
+ this->orb_->destroy();
}
ACE_CATCHANY
{
diff --git a/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.h b/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.h
index 970b85b5d19..ff3aee780de 100644
--- a/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.h
+++ b/TAO/orbsvcs/tests/ImplRepo/nestea_server_i.h
@@ -54,9 +54,10 @@ private:
/// The command line arguments.
char **argv_;
- /// The ORB.
CORBA::ORB_var orb_;
+ PortableServer::POA_var root_poa_;
+
/// The POA for the Nestea Server.
PortableServer::POA_var nestea_poa_;
diff --git a/TAO/orbsvcs/tests/ImplRepo/run_test.pl b/TAO/orbsvcs/tests/ImplRepo/run_test.pl
index 062d0952760..1144b688898 100755
--- a/TAO/orbsvcs/tests/ImplRepo/run_test.pl
+++ b/TAO/orbsvcs/tests/ImplRepo/run_test.pl
@@ -6,15 +6,18 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
# -*- perl -*-
###############################################################################
+
+use strict;
+
use lib "../../../../bin";
use PerlACE::Run_Test;
use Cwd;
use Sys::Hostname;
use File::Copy;
-$cwd = getcwd();
+my $cwd = getcwd();
-$ACE_ROOT = $ENV{ACE_ROOT};
+my $ACE_ROOT = $ENV{ACE_ROOT};
if (!defined $ACE_ROOT) {
chdir ('../../../../');
@@ -23,25 +26,26 @@ if (!defined $ACE_ROOT) {
print "ACE_ROOT not defined, defaulting to ACE_ROOT=$ACE_ROOT\n";
}
-$airplane_ior = PerlACE::LocalFile ("airplane.ior");
-$nestea_ior = PerlACE::LocalFile ("nestea.ior");
-$imr_activator_ior = PerlACE::LocalFile ("imr_activator.ior");
-$imr_locator_ior = PerlACE::LocalFile ("imr_locator.ior");
+my $airplane_ior = PerlACE::LocalFile ("airplane.ior");
+my $nestea_ior = PerlACE::LocalFile ("nestea.ior");
+my $imr_activator_ior = PerlACE::LocalFile ("imr_activator.ior");
+my $imr_locator_ior = PerlACE::LocalFile ("imr_locator.ior");
-$refstyle = " -ORBobjrefstyle URL";
+my $refstyle = " -ORBObjRefStyle URL";
-$backing_store = "imr_backing_store.xml";
-$nestea_dat = "nestea.dat";
+my $backing_store = "imr_backing_store.xml";
+my $P_SVR = new PerlACE::Process (PerlACE::LocalFile("persist server"));
+my $nestea_dat = "nestea.dat";
-$protocol = "iiop";
-$host = hostname();
-$port = 12345;
-$endpoint = "-ORBEndpoint " . "$protocol" . "://" . "$host" . ":" . $port;
+my $protocol = "iiop";
+my $host = hostname();
+my $port = 12345;
+my $endpoint = "-ORBEndpoint " . "$protocol" . "://:" . $port;
-$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");
+my $IMR_LOCATOR = new PerlACE::Process ("../../ImplRepo_Service/ImplRepo_Service");
+my $IMR_ACTIVATOR = new PerlACE::Process ("../../ImplRepo_Service/ImR_Activator");
+my $TAO_IMR = new PerlACE::Process("../../../../bin/tao_imr");
# We want the tao_imr executable to be found exactly in the path
# given, without being modified by the value of -ExeSubDir.
@@ -57,10 +61,10 @@ sub create_ncli {
return new PerlACE::Process (PerlACE::LocalFile ("nestea_client"), " -k file://$nestea_ior");
}
-$A_SVR = new PerlACE::Process (PerlACE::LocalFile ("airplane_server"));
-$A_CLI = create_acli();
-$N_SVR = new PerlACE::Process (PerlACE::LocalFile ("nestea_server"));
-$N_CLI = create_ncli();
+my $A_SVR = new PerlACE::Process (PerlACE::LocalFile ("airplane_server"));
+my $A_CLI = create_acli();
+my $N_SVR = new PerlACE::Process (PerlACE::LocalFile ("nestea_server"));
+my $N_CLI = create_ncli();
# Make sure the files are gone, so we can wait on them.
unlink $airplane_ior;
@@ -68,7 +72,9 @@ unlink $nestea_ior;
unlink $imr_locator_ior;
unlink $imr_activator_ior;
unlink $backing_store;
-unlink $nestea.dat;
+unlink $nestea_dat;
+unlink $P_SVR->Executable();
+
# The Tests
@@ -127,7 +133,7 @@ sub nestea_test
$status = 1;
}
- $server = $N_SVR->TerminateWaitKill (5);
+ my $server = $N_SVR->TerminateWaitKill (5);
if ($server != 0) {
print STDERR "ERROR: server returned $server\n";
@@ -169,8 +175,8 @@ sub nt_service_test
$BIN_IMR_LOCATOR->SpawnWaitKill (5);
print "Installing TAO ImR Services\n";
- $BIN_IMR_ACTIVATOR->Arguments ("-c install $imr_initref");
- $BIN_IMR_LOCATOR->Arguments ("-c install -orbendpoint iiop://:8888");
+ $BIN_IMR_ACTIVATOR->Arguments ("-c install $imr_initref -d 0");
+ $BIN_IMR_LOCATOR->Arguments ("-c install -d 0 -orbendpoint iiop://:8888");
$result = $BIN_IMR_LOCATOR->SpawnWaitKill (5);
if ($result != 0) {
@@ -186,50 +192,55 @@ sub nt_service_test
# Starting the activator will also start the locator
print "Starting TAO Implementation Repository Services\n";
- system("net start taoimr > nul 2>&1");
- system("net start taoimractivator > nul 2>&1");
+ # Starting the activator should start the ImR automatically
+ #system("net start taoimr 2>&1");
+ system("net start taoimractivator 2>&1");
- $TAO_IMR->Arguments ("add airplane_server -c \""
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
+ $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
. $A_SVR->Executable () .
- " -ORBUseIMR 1\" -w \"$ACE_ROOT/lib\" $imr_initref");
-
+ "\" -w \"$ACE_ROOT/lib\"");
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr add airplane_server returned $result\n";
return 1;
}
- $A_SVR->Arguments ("-o $airplane_ior -ORBUseIMR 1 $imr_initref");
- $A_SVR->Spawn ();
+ $TAO_IMR->Arguments ("$imr_initref list -v");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr list -v returned $result\n";
+ return 1;
+ }
+ $TAO_IMR->Arguments ("$imr_initref ior airplane_server -f $airplane_ior");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr ior airplane_server returned $result\n";
+ return 1;
+ }
if (PerlACE::waitforfile_timed ($airplane_ior, 10) == -1) {
print STDERR "ERROR: cannot find $airplane_ior\n";
$A_SVR->Kill ();
return 1;
}
- $result = $A_CLI->SpawnWaitKill (10);
+ $result = $A_CLI->SpawnWaitKill (20);
if ($result != 0) {
print STDERR "ERROR: airplane client returned $result\n";
return 1;
}
- $TAO_IMR->Arguments ("shutdown airplane_server $imr_initref");
-
- $result = $TAO_IMR->SpawnWaitKill (10);
+ $TAO_IMR->Arguments ("$imr_initref shutdown airplane_server");
+ $result = $TAO_IMR->SpawnWaitKill (20);
if ($result != 0) {
print STDERR "ERROR: tao_imr shutdown airplane_server returned $result\n";
return 1;
}
- $result = $A_SVR->WaitKill(5);
- if ($result != 0) {
- print STDERR "ERROR: airplane_server returned $result\n";
- }
-
print "Stopping TAO Implementation Repository Service\n";
- system("net stop taoimractivator > nul 2>&1");
- system("net stop taoimr > nul 2>&1");
+ system("net stop taoimractivator 2>&1");
+ system("net stop taoimr 2>&1");
print "Removing TAO ImR Services\n";
$BIN_IMR_ACTIVATOR->Arguments ("-c remove");
@@ -271,9 +282,11 @@ sub airplane_ir_test
return 1;
}
- $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
+ # Can use update to add servers.
+ $TAO_IMR->Arguments ("$imr_initref update airplane_server -c \""
. $A_SVR->Executable ()
- . " -ORBUseIMR 1 -o $airplane_ior $imr_initref\"");
+ . " -o $airplane_ior \"");
$result = $TAO_IMR->SpawnWaitKill (5);
if ($result != 0) {
@@ -329,13 +342,13 @@ sub airplane_ir_test
my $imr_activator = $IMR_ACTIVATOR->TerminateWaitKill (5);
if ($imr_activator != 0) {
- print STDERR "ERROR: IMR returned $implrepo\n";
+ print STDERR "ERROR: Activator returned $imr_activator\n";
$status = 1;
}
my $imr_locator = $IMR_LOCATOR->TerminateWaitKill (5);
if ($imr_locator != 0) {
- print STDERR "ERROR: IMR returned $implrepo\n";
+ print STDERR "ERROR: ImR returned $imr_locator\n";
$status = 1;
}
@@ -355,7 +368,7 @@ sub nestea_ir_test
$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 $imr_locator_ior\n";
$IMR_LOCATOR->Kill ();
return 1;
}
@@ -370,18 +383,6 @@ sub nestea_ir_test
return 1;
}
- $TAO_IMR->Arguments ("$imr_initref add nestea_server -c \""
- . $N_SVR->Executable ()
- . " -ORBUseIMR 1 $imr_initref -o $nestea_ior\"");
-
- $result = $TAO_IMR->SpawnWaitKill (10);
- if ($result != 0) {
- print STDERR "ERROR: tao_imr returned $result\n";
- $IMR_ACTIVATOR->Kill ();
- $IMR_LOCATOR->Kill ();
- return 1;
- }
-
$N_SVR->Arguments ("-ORBUseIMR 1 -o $nestea_ior $imr_initref");
$N_SVR->Spawn ();
@@ -413,6 +414,18 @@ sub nestea_ir_test
$status = 1;
}
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
+ $TAO_IMR->Arguments ("$imr_initref update nestea_server -l $host -c \""
+ . $N_SVR->Executable ()
+ . " -o $nestea_ior\"");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
# This should cause the activator to spawn another server.
$result = $N_CLI->SpawnWaitKill (20);
if ($result != 0) {
@@ -420,15 +433,49 @@ sub nestea_ir_test
$status = 1;
}
+ $TAO_IMR->Arguments ("$imr_initref shutdown nestea_server");
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr 1 returned $result\n";
$status = 1;
}
- # Since the second server was started by the activator, it is not
- # managed by perl, and we can't wait for it to die. So sleep a few secs.
- sleep(5);
+ # This should destroy the POA, causing another to be created the next time
+ # the server is spawned.
+ $TAO_IMR->Arguments ("$imr_initref remove nestea_server");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr 1 returned $result\n";
+ $status = 1;
+ }
+
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
+ $TAO_IMR->Arguments ("$imr_initref add nestea_server -c \""
+ . $N_SVR->Executable ()
+ . " -o $nestea_ior\"");
+
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ # This should cause the activator to spawn another server.
+ $result = $N_CLI->SpawnWaitKill (20);
+ if ($result != 0) {
+ print STDERR "ERROR: nestea client 2 returned $result\n";
+ $status = 1;
+ }
+
+ # This call should block until the server shuts down
+ $TAO_IMR->Arguments ("$imr_initref shutdown nestea_server");
+ $result = $TAO_IMR->SpawnWaitKill (10);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr 1 returned $result\n";
+ $status = 1;
+ }
my $implrepo = $IMR_ACTIVATOR->TerminateWaitKill (5);
if ($implrepo != 0) {
@@ -459,7 +506,7 @@ sub perclient
$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 $imr_locator_ior\n";
$IMR_LOCATOR->Kill ();
return 1;
}
@@ -474,9 +521,10 @@ sub perclient
return 1;
}
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
$TAO_IMR->Arguments ("$imr_initref add nestea_server -a PER_CLIENT -c \""
. $N_SVR->Executable ()
- . " -ORBUseIMR 1 $imr_initref -o $nestea_ior\"");
+ . " -o $nestea_ior\"");
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
print STDERR "ERROR: tao_imr returned $result\n";
@@ -538,6 +586,88 @@ sub perclient
###############################################################################
+sub shutdown_repo
+{
+ my $status = 0;
+ my $result = 0;
+
+ my $imr_initref = "-orbobjrefstyle URL -ORBInitRef ImplRepoService=file://$imr_locator_ior";
+
+ unlink "test.repo";
+
+ # Specify an endpoint so that we can restart on the same port.
+ # Specify persistence so that we can test that shutdown-repo -a works after reconnect
+ $IMR_LOCATOR->Arguments ("-p test.repo -d 1 -orbendpoint iiop://:8888 -o $imr_locator_ior");
+
+ unlink $imr_locator_ior;
+ $IMR_LOCATOR->Spawn ();
+ if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
+ print STDERR "ERROR: cannot find $imr_locator_ior\n";
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ $IMR_ACTIVATOR->Arguments ("-d 1 -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 ();
+ return 1;
+ }
+
+ # Kill the ImR, but leave the activator running
+ $TAO_IMR->Arguments ("$imr_initref shutdown-repo");
+ $result = $TAO_IMR->SpawnWaitKill (5);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ my $imr_result = $IMR_LOCATOR->WaitKill (5);
+ if ($imr_result != 0) {
+ print STDERR "ERROR: ImR returned $imr_result\n";
+ return 1;
+ }
+
+ unlink $imr_locator_ior;
+ $IMR_LOCATOR->Spawn ();
+ if (PerlACE::waitforfile_timed ($imr_locator_ior, 10) == -1) {
+ print STDERR "ERROR: cannot find $imr_locator_ior\n";
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ $TAO_IMR->Arguments ("$imr_initref shutdown-repo -a");
+ $result = $TAO_IMR->SpawnWaitKill (5);
+ if ($result != 0) {
+ print STDERR "ERROR: tao_imr returned $result\n";
+ $IMR_ACTIVATOR->Kill ();
+ $IMR_LOCATOR->Kill ();
+ return 1;
+ }
+
+ $imr_result = $IMR_ACTIVATOR->WaitKill (5);
+ if ($imr_result != 0) {
+ print STDERR "ERROR: IMR_Activator returned $imr_result\n";
+ return 1;
+ }
+
+ $imr_result = $IMR_LOCATOR->WaitKill (5);
+ if ($imr_result != 0) {
+ print STDERR "ERROR: IMR_Locator returned $imr_result\n";
+ return 1;
+ }
+
+ unlink "test.repo";
+
+ return $status;
+}
+
+###############################################################################
+
sub persistent_ir_test
{
my $status = 0;
@@ -550,7 +680,7 @@ sub persistent_ir_test
$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 $imr_locator_ior\n";
$IMR_LOCATOR->Kill ();
return 1;
}
@@ -565,7 +695,13 @@ sub persistent_ir_test
return 1;
}
- $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \"" . $A_SVR->Executable () . " -ORBUseIMR 1 $refstyle $imr_initref\"");
+ # Copy the server to a path with spaces to ensure that these
+ # work corrrectly.
+ copy ($A_SVR->Executable(), $P_SVR->Executable());
+
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
+ $TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
+ . '\"' . $P_SVR->Executable() . '\"' . "\" " . $refstyle);
$result = $TAO_IMR->SpawnWaitKill (10);
if ($result != 0) {
@@ -582,7 +718,7 @@ sub persistent_ir_test
if (PerlACE::waitforfile_timed ($airplane_ior, 10) == -1) {
print STDERR "ERROR: cannot find $airplane_ior\n";
- $IMR->Kill ();
+ $IMR_LOCATOR->Kill ();
$A_SVR->Kill ();
return 1;
}
@@ -601,7 +737,7 @@ sub persistent_ir_test
$status = 1;
}
- $result = $A_SVR->WaitKill (10);
+ $result = $A_SVR->WaitKill (1);
if ($result != 0) {
print STDERR "ERROR: airplane server returned $result\n";
$status = 1;
@@ -623,7 +759,7 @@ sub persistent_ir_test
# Since the second server was started by the activator, it is not
# managed by perl, and we can't wait for it to die. So sleep a few secs.
- sleep(5);
+ #sleep 2;
my $implrepo = $IMR_LOCATOR->TerminateWaitKill (5);
if ($implrepo != 0) {
@@ -637,7 +773,7 @@ sub persistent_ir_test
print "Restarting Implementation Repository.\n";
$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 $imr_locator_ior\n";
$IMR_LOCATOR->Kill ();
return 1;
}
@@ -658,17 +794,17 @@ sub persistent_ir_test
# Since the second server was started by the activator, it is not
# managed by perl, and we can't wait for it to die. So sleep a few secs.
- sleep(5);
+ #sleep 2;
- my $implrepo = $IMR_ACTIVATOR->TerminateWaitKill (5);
- if ($implrepo != 0) {
- print STDERR "ERROR: IMR_Activator returned $implrepo\n";
+ my $imr_result = $IMR_ACTIVATOR->TerminateWaitKill (5);
+ if ($imr_result != 0) {
+ print STDERR "ERROR: IMR_Activator returned $imr_result\n";
$status = 1;
}
- $implrepo = $IMR_LOCATOR->TerminateWaitKill (5);
- if ($implrepo != 0) {
- print STDERR "ERROR: IMR_Locator returned $implrepo\n";
+ $imr_result = $IMR_LOCATOR->TerminateWaitKill (5);
+ if ($imr_result != 0) {
+ print STDERR "ERROR: IMR_Locator returned $imr_result\n";
$status = 1;
}
@@ -706,22 +842,21 @@ sub both_ir_test
## starts the server, or at least to write out a different file name
## than the IOR files we're using for the clients. Otherwise a client
## may attempt to use a partially written file.
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
$TAO_IMR->Arguments ("$imr_initref add nestea_server -c \""
. $N_SVR->Executable ()
- . " -ORBUseIMR 1 $refstyle $imr_initref\"");
+ . " $refstyle\"");
$TAO_IMR->SpawnWaitKill (10);
+ # No need to specify imr_initref or -orbuseimr 1 for servers spawned by activator
$TAO_IMR->Arguments ("$imr_initref add airplane_server -c \""
. $A_SVR->Executable ()
- . " -ORBUseIMR 1 $refstyle $imr_initref\"");
+ . " $refstyle\"");
$TAO_IMR->SpawnWaitKill (10);
- $N_SVR->Arguments (" -o $nestea_ior -ORBUseIMR 1 $refstyle $imr_initref");
+ # launch the servers once, just to get the IORs
+ $N_SVR->Arguments (" -o $nestea_ior -ORBUseIMR 1 $imr_initref $refstyle");
$N_SVR->Spawn ();
-
- $A_SVR->Arguments (" -o $airplane_ior -ORBUseIMR 1 $refstyle $imr_initref");
- $A_SVR->Spawn ();
-
if (PerlACE::waitforfile_timed ($nestea_ior, 10) == -1) {
print STDERR "ERROR: cannot find $nestea_ior\n";
$IMR_ACTIVATOR->Kill ();
@@ -730,7 +865,11 @@ sub both_ir_test
$N_SVR->Kill ();
return 1;
}
-
+ if ($N_SVR->TerminateWaitKill(10) != 0) {
+ return 1;
+ }
+ $A_SVR->Arguments (" -o $airplane_ior -ORBUseIMR 1 $imr_initref $refstyle");
+ $A_SVR->Spawn ();
if (PerlACE::waitforfile_timed ($airplane_ior, 10) == -1) {
print STDERR "ERROR: cannot find $airplane_ior\n";
$IMR_ACTIVATOR->Kill ();
@@ -739,6 +878,9 @@ sub both_ir_test
$N_SVR->Kill ();
return 1;
}
+ if ($A_SVR->TerminateWaitKill(10) != 0) {
+ return 1;
+ }
my @clients;
@@ -747,28 +889,26 @@ sub both_ir_test
push @clients, &create_ncli();
}
+ # This should spawn one of each server
print "\n## Spawning multiple simultaneous clients with both servers running.\n";
map $_->Spawn(), @clients;
map $_->WaitKill(30), @clients;
$TAO_IMR->Arguments ("$imr_initref shutdown nestea_server");
- $TAO_IMR->SpawnWaitKill (60);
- $N_SVR->WaitKill(10);
+ $TAO_IMR->SpawnWaitKill (15);
$TAO_IMR->Arguments ("$imr_initref shutdown airplane_server");
- $TAO_IMR->SpawnWaitKill (60);
- $A_SVR->WaitKill(10);
+ $TAO_IMR->SpawnWaitKill (15);
- print "\n## Spawning multiple simultaneous clients with no servers running.\n";
+ print "\n\n\n\n## Spawning multiple simultaneous clients with no servers running.\n";
map $_->Spawn(), @clients;
map $_->WaitKill(30), @clients;
$TAO_IMR->Arguments ("$imr_initref shutdown nestea_server");
- $TAO_IMR->SpawnWaitKill (60);
-
+ $TAO_IMR->SpawnWaitKill (15);
$TAO_IMR->Arguments ("$imr_initref shutdown airplane_server");
- $TAO_IMR->SpawnWaitKill (60);
+ $TAO_IMR->SpawnWaitKill (15);
$IMR_ACTIVATOR->Kill ();
$IMR_LOCATOR->Kill ();
@@ -779,10 +919,10 @@ sub both_ir_test
# Parse the arguments
-$ret = 0;
+my $ret = 0;
if ($#ARGV >= 0) {
-for ($i = 0; $i <= $#ARGV; $i++) {
+for (my $i = 0; $i <= $#ARGV; $i++) {
if ($ARGV[$i] eq "-h" || $ARGV[$i] eq "-?") {
print "run_test test\n";
print "\n";
@@ -816,6 +956,9 @@ for ($i = 0; $i <= $#ARGV; $i++) {
elsif ($ARGV[$i] eq "perclient") {
$ret = perclient();
}
+ elsif ($ARGV[$i] eq "shutdown") {
+ $ret = shutdown_repo();
+ }
else {
print "run_test: Unknown Option: ".$ARGV[$i]."\n";
}
@@ -831,6 +974,7 @@ unlink $nestea_ior;
unlink $imr_locator_ior;
unlink $imr_activator_ior;
unlink $backing_store;
-unlink $nestea.dat;
+unlink $nestea_dat;
+unlink $P_SVR->Executable();
exit $ret;
diff --git a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp
index 4f03db1f63b..cf8deee844e 100644
--- a/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp
+++ b/TAO/orbsvcs/tests/ImplRepo/scale/server_i.cpp
@@ -163,11 +163,10 @@ Server_i::init (int argc, char** argv ACE_ENV_ARG_DECL)
obj = tmp_poa->id_to_reference_i (server_id.in (), false ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- CORBA::String_var direct_ior =
- this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
+ CORBA::String_var ior = this->orb_->object_to_string (obj.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- ior_table->bind (name.c_str(), direct_ior.in () ACE_ENV_ARG_PARAMETER);
+ ior_table->bind (name.c_str(), ior.in () ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl b/TAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl
index 58a5e109748..0747fc51143 100755
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/run_test.pl
@@ -59,7 +59,7 @@ foreach $i (@ARGV) {
}
my($client_args) = " $eventType $verbose -NoNameSvc -ORBInitRef NotifyEventChannelFactory=corbaloc::localhost:$notify_port/NotifyEventChannelFactory ";
-my($ns_args) = " -NoNameSvc -Boot -ORBSvcConf $svcconf -IORoutput $notify_ior -ORBEndpoint iiop://:$notify_port ";
+my($ns_args) = " -ORBObjRefStyle url -NoNameSvc -Boot -ORBSvcConf $svcconf -IORoutput $notify_ior -ORBEndpoint iiop://:$notify_port ";
#my($ns_args_hidden) = " -NoNameSvc -Boot -ORBSvcConf $svcconf -IORoutput $notify_ior";
# nuke the topology save files so we start clean
unlink $save_xml;
diff --git a/TAO/tao/ImR_Client/ImR_Client.cpp b/TAO/tao/ImR_Client/ImR_Client.cpp
index 6c1be42c8e8..70da4aa13bf 100644
--- a/TAO/tao/ImR_Client/ImR_Client.cpp
+++ b/TAO/tao/ImR_Client/ImR_Client.cpp
@@ -23,14 +23,14 @@ namespace TAO
ImR_Client_Adapter_Impl::imr_notify_startup (
TAO_Root_POA* poa ACE_ENV_ARG_DECL)
{
- if (TAO_debug_level > 0)
- ACE_DEBUG ((LM_DEBUG, "Notifying ImR of startup\n"));
-
CORBA::Object_var imr = poa->orb_core ().implrepo_service ();
if (CORBA::is_nil (imr.in ()))
return;
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG, "Notifying ImR of startup\n"));
+
ImplementationRepository::Administration_var imr_locator;
{
@@ -167,11 +167,20 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
- ACE_CATCH (CORBA::COMM_FAILURE, ex)
+ ACE_CATCH(CORBA::COMM_FAILURE, ex)
{
// At the moment we call this during ORB shutdown and the ORB is
// configured to drop replies during shutdown (it does by default in
// the LF model) we get a COMM_FAILURE exception which we ignore
+ if (TAO_debug_level > 0)
+ ACE_DEBUG((LM_DEBUG, "Ignoring COMM_FAILURE while unregistering from ImR.\n"));
+ ACE_UNUSED_ARG (ex);
+ }
+ ACE_CATCH(CORBA::TRANSIENT, ex)
+ {
+ // Similarly, there are cases where we could get a TRANSIENT.
+ if (TAO_debug_level > 0)
+ ACE_DEBUG((LM_DEBUG, "Ignoring TRANSIENT while unregistering from ImR.\n"));
ACE_UNUSED_ARG (ex);
}
ACE_CATCHANY
diff --git a/TAO/tao/ImR_Client/ImplRepo.pidl b/TAO/tao/ImR_Client/ImplRepo.pidl
index 8d15ef21da5..16d8eb4dd20 100644
--- a/TAO/tao/ImR_Client/ImplRepo.pidl
+++ b/TAO/tao/ImR_Client/ImplRepo.pidl
@@ -15,8 +15,7 @@
*/
//=============================================================================
-///FUZZ: disable check_for_include/
-#include <tao/ImR_Client/ServerObject.pidl>
+#include "ServerObject.pidl"
module ImplementationRepository
{
@@ -119,27 +118,11 @@ module ImplementationRepository
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.
+ /// Add/Update the the <server>
/// 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);
+ void add_or_update_server (in string server, in StartupOptions options)
+ raises(NotFound);
/// Remove <server> from the Implementation Repository.
///
@@ -175,11 +158,7 @@ module ImplementationRepository
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);
+ void find (in string server, out ServerInformation info);
/// Returns at most <how_many> servers in <server_list>. If there
/// are additional servers, they can be received through the
@@ -189,5 +168,9 @@ module ImplementationRepository
void list (in unsigned long how_many,
out ServerInformationList server_list,
out ServerInformationIterator server_iterator);
+
+ /// Shutdown the ImR, optionally shutting down registered
+ /// activators and servers first.
+ oneway void shutdown(in boolean activators, in boolean servers);
};
};
diff --git a/TAO/tao/ImR_Client/ImplRepoA.cpp b/TAO/tao/ImR_Client/ImplRepoA.cpp
deleted file mode 100644
index a2cdbdc12c9..00000000000
--- a/TAO/tao/ImR_Client/ImplRepoA.cpp
+++ /dev/null
@@ -1,1069 +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
-
-#include "ImplRepoC.h"
-#include "tao/Null_RefCount_Policy.h"
-#include "tao/TypeCode_Constants.h"
-#include "tao/Alias_TypeCode_Static.h"
-#include "tao/Enum_TypeCode_Static.h"
-#include "tao/Objref_TypeCode_Static.h"
-#include "tao/Sequence_TypeCode_Static.h"
-#include "tao/String_TypeCode_Static.h"
-#include "tao/Struct_TypeCode_Static.h"
-#include "tao/TypeCode_Struct_Field.h"
-#include "tao/CDR.h"
-#include "tao/Any.h"
-#include "tao/Any_Impl_T.h"
-#include "tao/Any_Dual_Impl_T.h"
-#include "tao/Any_Basic_Impl_T.h"
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const * const _tao_fields_ImplementationRepository_AlreadyRegistered = 0;
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_AlreadyRegistered (
- CORBA::tk_except,
- "IDL:ImplementationRepository/AlreadyRegistered:1.0",
- "AlreadyRegistered",
- _tao_fields_ImplementationRepository_AlreadyRegistered,
- 0);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_AlreadyRegistered =
- &_tao_tc_ImplementationRepository_AlreadyRegistered;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_CannotActivate[] =
- {
- { "reason", &CORBA::_tc_string }
-
- };
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_CannotActivate (
- CORBA::tk_except,
- "IDL:ImplementationRepository/CannotActivate:1.0",
- "CannotActivate",
- _tao_fields_ImplementationRepository_CannotActivate,
- 1);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_CannotActivate =
- &_tao_tc_ImplementationRepository_CannotActivate;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const * const _tao_fields_ImplementationRepository_NotFound = 0;
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_NotFound (
- CORBA::tk_except,
- "IDL:ImplementationRepository/NotFound:1.0",
- "NotFound",
- _tao_fields_ImplementationRepository_NotFound,
- 0);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_NotFound =
- &_tao_tc_ImplementationRepository_NotFound;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_EnvironmentVariable[] =
- {
- { "name", &CORBA::_tc_string },
- { "value", &CORBA::_tc_string }
-
- };
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_EnvironmentVariable (
- CORBA::tk_struct,
- "IDL:ImplementationRepository/EnvironmentVariable:1.0",
- "EnvironmentVariable",
- _tao_fields_ImplementationRepository_EnvironmentVariable,
- 2);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_EnvironmentVariable =
- &_tao_tc_ImplementationRepository_EnvironmentVariable;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/alias_typecode.cpp:31
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/typecode_defn.cpp:925
-
-
-#ifndef _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD
-#define _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD
-namespace TAO
-{
- namespace TypeCode
- {
- TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
- TAO::Null_RefCount_Policy>
- ImplementationRepository_EnvironmentList_0 (
- CORBA::tk_sequence,
- &ImplementationRepository::_tc_EnvironmentVariable,
- 0U);
-
- ::CORBA::TypeCode_ptr const tc_ImplementationRepository_EnvironmentList_0 =
- &ImplementationRepository_EnvironmentList_0;
-
- }
-}
-
-
-#endif /* _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD */
-static TAO::TypeCode::Alias<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_EnvironmentList (
- CORBA::tk_alias,
- "IDL:ImplementationRepository/EnvironmentList:1.0",
- "EnvironmentList",
- &TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_EnvironmentList =
- &_tao_tc_ImplementationRepository_EnvironmentList;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/enum_typecode.cpp:34
-
-static char const * const _tao_enumerators_ImplementationRepository_ActivationMode[] =
- {
- "NORMAL",
- "MANUAL",
- "PER_CLIENT",
- "AUTO_START"
-
- };
-
-static TAO::TypeCode::Enum<char const *,
- char const * const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_ActivationMode (
- "IDL:ImplementationRepository/ActivationMode:1.0",
- "ActivationMode",
- _tao_enumerators_ImplementationRepository_ActivationMode,
- 4);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_ActivationMode =
- &_tao_tc_ImplementationRepository_ActivationMode;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_StartupOptions[] =
- {
- { "command_line", &CORBA::_tc_string },
- { "environment", &ImplementationRepository::_tc_EnvironmentList },
- { "working_directory", &CORBA::_tc_string },
- { "activation", &ImplementationRepository::_tc_ActivationMode },
- { "activator", &CORBA::_tc_string },
- { "start_limit", &CORBA::_tc_long }
-
- };
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_StartupOptions (
- CORBA::tk_struct,
- "IDL:ImplementationRepository/StartupOptions:1.0",
- "StartupOptions",
- _tao_fields_ImplementationRepository_StartupOptions,
- 6);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_StartupOptions =
- &_tao_tc_ImplementationRepository_StartupOptions;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/struct_typecode.cpp:74
-
-static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_ServerInformation[] =
- {
- { "server", &CORBA::_tc_string },
- { "startup", &ImplementationRepository::_tc_StartupOptions },
- { "partial_ior", &CORBA::_tc_string }
-
- };
-static TAO::TypeCode::Struct<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::TypeCode::Struct_Field<char const *,
- CORBA::TypeCode_ptr const *> const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_ServerInformation (
- CORBA::tk_struct,
- "IDL:ImplementationRepository/ServerInformation:1.0",
- "ServerInformation",
- _tao_fields_ImplementationRepository_ServerInformation,
- 3);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_ServerInformation =
- &_tao_tc_ImplementationRepository_ServerInformation;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/alias_typecode.cpp:31
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/typecode_defn.cpp:925
-
-
-#ifndef _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD
-#define _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD
-namespace TAO
-{
- namespace TypeCode
- {
- TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
- TAO::Null_RefCount_Policy>
- ImplementationRepository_ServerInformationList_0 (
- CORBA::tk_sequence,
- &ImplementationRepository::_tc_ServerInformation,
- 0U);
-
- ::CORBA::TypeCode_ptr const tc_ImplementationRepository_ServerInformationList_0 =
- &ImplementationRepository_ServerInformationList_0;
-
- }
-}
-
-
-#endif /* _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD */
-static TAO::TypeCode::Alias<char const *,
- CORBA::TypeCode_ptr const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_ServerInformationList (
- CORBA::tk_alias,
- "IDL:ImplementationRepository/ServerInformationList:1.0",
- "ServerInformationList",
- &TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0);
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_ServerInformationList =
- &_tao_tc_ImplementationRepository_ServerInformationList;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/objref_typecode.cpp:76
-
-static TAO::TypeCode::Objref<char const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_ServerInformationIterator (
- CORBA::tk_objref,
- "IDL:ImplementationRepository/ServerInformationIterator:1.0",
- "ServerInformationIterator");
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_ServerInformationIterator =
- &_tao_tc_ImplementationRepository_ServerInformationIterator;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_typecode/objref_typecode.cpp:76
-
-static TAO::TypeCode::Objref<char const *,
- TAO::Null_RefCount_Policy>
- _tao_tc_ImplementationRepository_Administration (
- CORBA::tk_objref,
- "IDL:ImplementationRepository/Administration:1.0",
- "Administration");
-
-namespace ImplementationRepository
-{
- ::CORBA::TypeCode_ptr const _tc_Administration =
- &_tao_tc_ImplementationRepository_Administration;
-}
-
-
-
-// TAO_IDL - Generated from
-// be/be_visitor_exception/any_op_cs.cpp:50
-
-namespace TAO
-{
- template<>
- CORBA::Boolean
- Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::demarshal_value (
- TAO_InputCDR & cdr
- )
- {
- CORBA::String_var id;
-
- if (!(cdr >> id.out ()))
- {
- return false;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return false;
- }
- ACE_ENDTRY;
-
- return true;
- }
-}
-
-// 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
-// be/be_visitor_exception/any_op_cs.cpp:50
-
-namespace TAO
-{
- template<>
- CORBA::Boolean
- Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::demarshal_value (
- TAO_InputCDR & cdr
- )
- {
- CORBA::String_var id;
-
- if (!(cdr >> id.out ()))
- {
- return false;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return false;
- }
- ACE_ENDTRY;
-
- return true;
- }
-}
-
-// 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
-// be/be_visitor_exception/any_op_cs.cpp:50
-
-namespace TAO
-{
- template<>
- CORBA::Boolean
- Any_Dual_Impl_T<ImplementationRepository::NotFound>::demarshal_value (
- TAO_InputCDR & cdr
- )
- {
- CORBA::String_var id;
-
- if (!(cdr >> id.out ()))
- {
- return false;
- }
-
- ACE_TRY_NEW_ENV
- {
- this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- return false;
- }
- ACE_ENDTRY;
-
- return true;
- }
-}
-
-// 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
-// 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
-// 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,
- TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
- _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,
- TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
- _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,
- TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// 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
-// 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
-// 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
-// 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,
- TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
- _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,
- TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
- _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,
- TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
- _tao_elem
- );
-}
-
-// TAO_IDL - Generated from
-// be/be_visitor_interface/any_op_cs.cpp:50
-
-namespace TAO
-{
- template<>
- CORBA::Boolean
- Any_Impl_T<ImplementationRepository::ServerInformationIterator>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
- {
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return true;
- }
-}
-
-// 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
-// be/be_visitor_interface/any_op_cs.cpp:50
-
-namespace TAO
-{
- template<>
- CORBA::Boolean
- Any_Impl_T<ImplementationRepository::Administration>::to_object (
- CORBA::Object_ptr &_tao_elem
- ) const
- {
- _tao_elem = CORBA::Object::_duplicate (this->value_);
- return true;
- }
-}
-
-// 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
- );
-}
diff --git a/TAO/tao/ImR_Client/ImplRepoC.cpp b/TAO/tao/ImR_Client/ImplRepoC.cpp
index f859491a6c1..73b23df89b3 100644
--- a/TAO/tao/ImR_Client/ImplRepoC.cpp
+++ b/TAO/tao/ImR_Client/ImplRepoC.cpp
@@ -26,7 +26,7 @@
// http://www.cs.wustl.edu/~schmidt/TAO.html
// TAO_IDL - Generated from
-// be\be_codegen.cpp:291
+// .\be\be_codegen.cpp:291
#include "ImplRepoC.h"
@@ -34,6 +34,19 @@
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
+#include "tao/Null_RefCount_Policy.h"
+#include "tao/TypeCode_Constants.h"
+#include "tao/Alias_TypeCode_Static.h"
+#include "tao/Enum_TypeCode_Static.h"
+#include "tao/Objref_TypeCode_Static.h"
+#include "tao/Sequence_TypeCode_Static.h"
+#include "tao/String_TypeCode_Static.h"
+#include "tao/Struct_TypeCode_Static.h"
+#include "tao/TypeCode_Struct_Field.h"
+#include "tao/Recursive_Type_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"
@@ -50,7 +63,7 @@
#endif /* !defined INLINE */
// TAO_IDL - Generated from
-// be\be_visitor_arg_traits.cpp:69
+// .\be\be_visitor_arg_traits.cpp:69
// Arg traits specializations.
namespace TAO
@@ -58,7 +71,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_CS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerObject>
: public
@@ -72,13 +85,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_CS_
-
+
template<>
class Arg_Traits<ImplementationRepository::StartupOptions>
: public
@@ -91,13 +104,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_CS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformation>
: public
@@ -110,13 +123,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:496
+ // .\be\be_visitor_arg_traits.cpp:489
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_CS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformationList>
: public
@@ -132,7 +145,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_CS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformationIterator>
: public
@@ -149,8 +162,8 @@ namespace TAO
}
-// TAO_IDL - Generated from
-// be\be_visitor_exception/exception_cs.cpp:63
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_cs.cpp:63
ImplementationRepository::AlreadyRegistered::AlreadyRegistered (void)
: CORBA::UserException (
@@ -231,7 +244,7 @@ void ImplementationRepository::AlreadyRegistered::_tao_encode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
@@ -244,7 +257,7 @@ void ImplementationRepository::AlreadyRegistered::_tao_decode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
@@ -254,8 +267,31 @@ CORBA::TypeCode_ptr ImplementationRepository::AlreadyRegistered::_tao_type (void
return ::ImplementationRepository::_tc_AlreadyRegistered;
}
-// TAO_IDL - Generated from
-// be\be_visitor_exception/exception_cs.cpp:63
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
+
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const * const _tao_fields_ImplementationRepository_AlreadyRegistered = 0;
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_AlreadyRegistered (
+ CORBA::tk_except,
+ "IDL:ImplementationRepository/AlreadyRegistered:1.0",
+ "AlreadyRegistered",
+ _tao_fields_ImplementationRepository_AlreadyRegistered,
+ 0);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_AlreadyRegistered =
+ &_tao_tc_ImplementationRepository_AlreadyRegistered;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_cs.cpp:63
ImplementationRepository::CannotActivate::CannotActivate (void)
: CORBA::UserException (
@@ -338,7 +374,7 @@ void ImplementationRepository::CannotActivate::_tao_encode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
@@ -351,14 +387,14 @@ void ImplementationRepository::CannotActivate::_tao_decode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
// TAO_IDL - Generated from
-// be\be_visitor_exception/exception_ctor.cpp:66
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ctor.cpp:66
ImplementationRepository::CannotActivate::CannotActivate (
const char * _tao_reason
@@ -377,8 +413,35 @@ CORBA::TypeCode_ptr ImplementationRepository::CannotActivate::_tao_type (void) c
return ::ImplementationRepository::_tc_CannotActivate;
}
-// TAO_IDL - Generated from
-// be\be_visitor_exception/exception_cs.cpp:63
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
+
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_CannotActivate[] =
+ {
+ { "reason", &CORBA::_tc_string }
+
+ };
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_CannotActivate (
+ CORBA::tk_except,
+ "IDL:ImplementationRepository/CannotActivate:1.0",
+ "CannotActivate",
+ _tao_fields_ImplementationRepository_CannotActivate,
+ 1);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_CannotActivate =
+ &_tao_tc_ImplementationRepository_CannotActivate;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_cs.cpp:63
ImplementationRepository::NotFound::NotFound (void)
: CORBA::UserException (
@@ -459,7 +522,7 @@ void ImplementationRepository::NotFound::_tao_encode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
@@ -472,7 +535,7 @@ void ImplementationRepository::NotFound::_tao_decode (
{
return;
}
-
+
ACE_THROW (CORBA::MARSHAL ());
}
@@ -482,10 +545,61 @@ CORBA::TypeCode_ptr ImplementationRepository::NotFound::_tao_type (void) const
return ::ImplementationRepository::_tc_NotFound;
}
-// TAO_IDL - Generated from
-// be\be_visitor_structure/structure_cs.cpp:66
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
+
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const * const _tao_fields_ImplementationRepository_NotFound = 0;
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_NotFound (
+ CORBA::tk_except,
+ "IDL:ImplementationRepository/NotFound:1.0",
+ "NotFound",
+ _tao_fields_ImplementationRepository_NotFound,
+ 0);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_NotFound =
+ &_tao_tc_ImplementationRepository_NotFound;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
+
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_EnvironmentVariable[] =
+ {
+ { "name", &CORBA::_tc_string },
+ { "value", &CORBA::_tc_string }
+
+ };
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_EnvironmentVariable (
+ CORBA::tk_struct,
+ "IDL:ImplementationRepository/EnvironmentVariable:1.0",
+ "EnvironmentVariable",
+ _tao_fields_ImplementationRepository_EnvironmentVariable,
+ 2);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_EnvironmentVariable =
+ &_tao_tc_ImplementationRepository_EnvironmentVariable;
+}
+
-void
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_cs.cpp:66
+
+void
ImplementationRepository::EnvironmentVariable::_tao_any_destructor (
void *_tao_void_pointer
)
@@ -495,8 +609,8 @@ ImplementationRepository::EnvironmentVariable::_tao_any_destructor (
delete _tao_tmp_pointer;
}
-// TAO_IDL - Generated from
-// be\be_visitor_sequence/sequence_cs.cpp:65
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_sequence/sequence_cs.cpp:65
#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_)
#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_
@@ -548,10 +662,124 @@ void ImplementationRepository::EnvironmentList::_tao_any_destructor (
#endif /* end #if !defined */
-// TAO_IDL - Generated from
-// be\be_visitor_structure/structure_cs.cpp:66
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/alias_typecode.cpp:31
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_defn.cpp:937
+
+
+#ifndef _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD
+#define _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD
+namespace TAO
+{
+ namespace TypeCode
+ {
+ TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ ImplementationRepository_EnvironmentList_0 (
+ CORBA::tk_sequence,
+ &ImplementationRepository::_tc_EnvironmentVariable,
+ 0U);
+
+ ::CORBA::TypeCode_ptr const tc_ImplementationRepository_EnvironmentList_0 =
+ &ImplementationRepository_EnvironmentList_0;
+
+ }
+}
+
+
+#endif /* _TAO_TYPECODE_ImplementationRepository_EnvironmentList_GUARD */
+
+static TAO::TypeCode::Alias<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_EnvironmentList (
+ CORBA::tk_alias,
+ "IDL:ImplementationRepository/EnvironmentList:1.0",
+ "EnvironmentList",
+ &TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_EnvironmentList =
+ &_tao_tc_ImplementationRepository_EnvironmentList;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/enum_typecode.cpp:34
+
+static char const * const _tao_enumerators_ImplementationRepository_ActivationMode[] =
+ {
+ "NORMAL",
+ "MANUAL",
+ "PER_CLIENT",
+ "AUTO_START"
+
+ };
+
+static TAO::TypeCode::Enum<char const *,
+ char const * const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_ActivationMode (
+ "IDL:ImplementationRepository/ActivationMode:1.0",
+ "ActivationMode",
+ _tao_enumerators_ImplementationRepository_ActivationMode,
+ 4);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_ActivationMode =
+ &_tao_tc_ImplementationRepository_ActivationMode;
+}
+
+
-void
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_defn.cpp:937
+
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_StartupOptions[] =
+ {
+ { "command_line", &CORBA::_tc_string },
+ { "environment", &ImplementationRepository::_tc_EnvironmentList },
+ { "working_directory", &CORBA::_tc_string },
+ { "activation", &ImplementationRepository::_tc_ActivationMode },
+ { "activator", &CORBA::_tc_string },
+ { "start_limit", &CORBA::_tc_long }
+
+ };
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_StartupOptions (
+ CORBA::tk_struct,
+ "IDL:ImplementationRepository/StartupOptions:1.0",
+ "StartupOptions",
+ _tao_fields_ImplementationRepository_StartupOptions,
+ 6);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_StartupOptions =
+ &_tao_tc_ImplementationRepository_StartupOptions;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_cs.cpp:66
+
+void
ImplementationRepository::StartupOptions::_tao_any_destructor (
void *_tao_void_pointer
)
@@ -561,10 +789,39 @@ ImplementationRepository::StartupOptions::_tao_any_destructor (
delete _tao_tmp_pointer;
}
-// TAO_IDL - Generated from
-// be\be_visitor_structure/structure_cs.cpp:66
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/struct_typecode.cpp:87
-void
+static TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const _tao_fields_ImplementationRepository_ServerInformation[] =
+ {
+ { "server", &CORBA::_tc_string },
+ { "startup", &ImplementationRepository::_tc_StartupOptions },
+ { "partial_ior", &CORBA::_tc_string }
+
+ };
+static TAO::TypeCode::Struct<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_ServerInformation (
+ CORBA::tk_struct,
+ "IDL:ImplementationRepository/ServerInformation:1.0",
+ "ServerInformation",
+ _tao_fields_ImplementationRepository_ServerInformation,
+ 3);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_ServerInformation =
+ &_tao_tc_ImplementationRepository_ServerInformation;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_cs.cpp:66
+
+void
ImplementationRepository::ServerInformation::_tao_any_destructor (
void *_tao_void_pointer
)
@@ -574,8 +831,8 @@ ImplementationRepository::ServerInformation::_tao_any_destructor (
delete _tao_tmp_pointer;
}
-// TAO_IDL - Generated from
-// be\be_visitor_sequence/sequence_cs.cpp:65
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_sequence/sequence_cs.cpp:65
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_
@@ -628,7 +885,55 @@ void ImplementationRepository::ServerInformationList::_tao_any_destructor (
#endif /* end #if !defined */
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_cs.cpp:60
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/alias_typecode.cpp:31
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_defn.cpp:937
+
+
+#ifndef _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD
+#define _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD
+namespace TAO
+{
+ namespace TypeCode
+ {
+ TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ ImplementationRepository_ServerInformationList_0 (
+ CORBA::tk_sequence,
+ &ImplementationRepository::_tc_ServerInformation,
+ 0U);
+
+ ::CORBA::TypeCode_ptr const tc_ImplementationRepository_ServerInformationList_0 =
+ &ImplementationRepository_ServerInformationList_0;
+
+ }
+}
+
+
+#endif /* _TAO_TYPECODE_ImplementationRepository_ServerInformationList_GUARD */
+
+static TAO::TypeCode::Alias<char const *,
+ CORBA::TypeCode_ptr const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_ServerInformationList (
+ CORBA::tk_alias,
+ "IDL:ImplementationRepository/ServerInformationList:1.0",
+ "ServerInformationList",
+ &TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0);
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_ServerInformationList =
+ &_tao_tc_ImplementationRepository_ServerInformationList;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_cs.cpp:60
// Traits specializations for ImplementationRepository::ServerInformationIterator.
@@ -664,13 +969,13 @@ TAO::Objref_Traits<ImplementationRepository::ServerInformationIterator>::marshal
}
// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
+TAO::Collocation_Proxy_Broker *
(*ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function_pointer) (
CORBA::Object_ptr obj
) = 0;
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
CORBA::Boolean ImplementationRepository::ServerInformationIterator::next_n (
::CORBA::ULong how_many,
@@ -685,23 +990,23 @@ CORBA::Boolean ImplementationRepository::ServerInformationIterator::next_n (
{
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_servers (servers);
-
+
TAO::Argument *_the_tao_operation_signature [] =
{
&_tao_retval,
&_tao_how_many,
&_tao_servers
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -710,15 +1015,15 @@ CORBA::Boolean ImplementationRepository::ServerInformationIterator::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
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::ServerInformationIterator::destroy (
ACE_ENV_SINGLE_ARG_DECL
@@ -731,19 +1036,19 @@ void ImplementationRepository::ServerInformationIterator::destroy (
{
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,
@@ -752,7 +1057,7 @@ void ImplementationRepository::ServerInformationIterator::destroy (
7,
this->the_TAO_ServerInformationIterator_Proxy_Broker_
);
-
+
_tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
@@ -776,7 +1081,7 @@ ImplementationRepository::ServerInformationIterator::ImplementationRepository_Se
ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void)
{}
-void
+void
ImplementationRepository::ServerInformationIterator::_tao_any_destructor (void *_tao_void_pointer)
{
ServerInformationIterator *_tao_tmp_pointer =
@@ -821,7 +1126,7 @@ ImplementationRepository::ServerInformationIterator::_duplicate (ServerInformati
{
obj->_add_ref ();
}
-
+
return obj;
}
@@ -871,7 +1176,25 @@ ImplementationRepository::ServerInformationIterator::marshal (TAO_OutputCDR &cdr
}
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_cs.cpp:60
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_ServerInformationIterator (
+ CORBA::tk_objref,
+ "IDL:ImplementationRepository/ServerInformationIterator:1.0",
+ "ServerInformationIterator");
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_ServerInformationIterator =
+ &_tao_tc_ImplementationRepository_ServerInformationIterator;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_cs.cpp:60
// Traits specializations for ImplementationRepository::Administration.
@@ -907,13 +1230,13 @@ TAO::Objref_Traits<ImplementationRepository::Administration>::marshal (
}
// Function pointer for collocation factory initialization.
-TAO::Collocation_Proxy_Broker *
+TAO::Collocation_Proxy_Broker *
(*ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function_pointer) (
CORBA::Object_ptr obj
) = 0;
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::activate_server (
const char * server
@@ -929,37 +1252,37 @@ void ImplementationRepository::Administration::activate_server (
{
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 [] =
+ _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,
@@ -968,7 +1291,7 @@ void ImplementationRepository::Administration::activate_server (
15,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
_tao_call.invoke (
_tao_ImplementationRepository_Administration_activate_server_exceptiondata,
2
@@ -978,16 +1301,15 @@ void ImplementationRepository::Administration::activate_server (
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
-void ImplementationRepository::Administration::register_server (
+void ImplementationRepository::Administration::add_or_update_server (
const char * server,
const ::ImplementationRepository::StartupOptions & options
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
::ImplementationRepository::NotFound
))
{
@@ -995,126 +1317,52 @@ void ImplementationRepository::Administration::register_server (
{
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 [] =
+ _tao_ImplementationRepository_Administration_add_or_update_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,
+ "add_or_update_server",
+ 20,
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
-// 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
+ _tao_ImplementationRepository_Administration_add_or_update_server_exceptiondata,
+ 1
ACE_ENV_ARG_PARAMETER
);
ACE_CHECK;
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::remove_server (
const char * server
@@ -1129,23 +1377,23 @@ void ImplementationRepository::Administration::remove_server (
{
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 [] =
+ _tao_ImplementationRepository_Administration_remove_server_exceptiondata [] =
{
{
"IDL:ImplementationRepository/NotFound:1.0",
@@ -1153,7 +1401,7 @@ void ImplementationRepository::Administration::remove_server (
ImplementationRepository::_tc_NotFound
}
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -1162,7 +1410,7 @@ void ImplementationRepository::Administration::remove_server (
13,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
_tao_call.invoke (
_tao_ImplementationRepository_Administration_remove_server_exceptiondata,
1
@@ -1172,7 +1420,7 @@ void ImplementationRepository::Administration::remove_server (
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::shutdown_server (
const char * server
@@ -1187,23 +1435,23 @@ void ImplementationRepository::Administration::shutdown_server (
{
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 [] =
+ _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata [] =
{
{
"IDL:ImplementationRepository/NotFound:1.0",
@@ -1211,7 +1459,7 @@ void ImplementationRepository::Administration::shutdown_server (
ImplementationRepository::_tc_NotFound
}
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -1220,7 +1468,7 @@ void ImplementationRepository::Administration::shutdown_server (
15,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
_tao_call.invoke (
_tao_ImplementationRepository_Administration_shutdown_server_exceptiondata,
1
@@ -1230,7 +1478,7 @@ void ImplementationRepository::Administration::shutdown_server (
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::server_is_running (
const char * server,
@@ -1247,17 +1495,17 @@ void ImplementationRepository::Administration::server_is_running (
{
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< CORBA::Char *>::in_arg_val _tao_partial_ior (partial_ior);
TAO::Arg_Traits< ImplementationRepository::ServerObject>::in_arg_val _tao_server_object (server_object);
-
+
TAO::Argument *_the_tao_operation_signature [] =
{
&_tao_retval,
@@ -1265,9 +1513,9 @@ void ImplementationRepository::Administration::server_is_running (
&_tao_partial_ior,
&_tao_server_object
};
-
+
static TAO::Exception_Data
- _tao_ImplementationRepository_Administration_server_is_running_exceptiondata [] =
+ _tao_ImplementationRepository_Administration_server_is_running_exceptiondata [] =
{
{
"IDL:ImplementationRepository/NotFound:1.0",
@@ -1275,7 +1523,7 @@ void ImplementationRepository::Administration::server_is_running (
ImplementationRepository::_tc_NotFound
}
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -1284,7 +1532,7 @@ void ImplementationRepository::Administration::server_is_running (
17,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
_tao_call.invoke (
_tao_ImplementationRepository_Administration_server_is_running_exceptiondata,
1
@@ -1294,7 +1542,7 @@ void ImplementationRepository::Administration::server_is_running (
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::server_is_shutting_down (
const char * server
@@ -1309,23 +1557,23 @@ void ImplementationRepository::Administration::server_is_shutting_down (
{
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 [] =
+ _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata [] =
{
{
"IDL:ImplementationRepository/NotFound:1.0",
@@ -1333,7 +1581,7 @@ void ImplementationRepository::Administration::server_is_shutting_down (
ImplementationRepository::_tc_NotFound
}
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -1342,7 +1590,7 @@ void ImplementationRepository::Administration::server_is_shutting_down (
23,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
_tao_call.invoke (
_tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata,
1
@@ -1352,7 +1600,7 @@ void ImplementationRepository::Administration::server_is_shutting_down (
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::find (
const char * server,
@@ -1360,41 +1608,30 @@ void ImplementationRepository::Administration::find (
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
+ 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::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,
@@ -1403,17 +1640,13 @@ void ImplementationRepository::Administration::find (
4,
this->the_TAO_Administration_Proxy_Broker_
);
-
- _tao_call.invoke (
- _tao_ImplementationRepository_Administration_find_exceptiondata,
- 1
- ACE_ENV_ARG_PARAMETER
- );
+
+ _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_cs.cpp:78
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
void ImplementationRepository::Administration::list (
::CORBA::ULong how_many,
@@ -1429,17 +1662,17 @@ void ImplementationRepository::Administration::list (
{
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,
@@ -1447,7 +1680,7 @@ void ImplementationRepository::Administration::list (
&_tao_server_list,
&_tao_server_iterator
};
-
+
TAO::Invocation_Adapter _tao_call (
this,
_the_tao_operation_signature,
@@ -1456,7 +1689,54 @@ void ImplementationRepository::Administration::list (
4,
this->the_TAO_Administration_Proxy_Broker_
);
-
+
+ _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_cs.cpp:78
+
+void ImplementationRepository::Administration::shutdown (
+ ::CORBA::Boolean activators,
+ ::CORBA::Boolean 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_Administration_Proxy_Broker_ == 0)
+ {
+ ImplementationRepository_Administration_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_activators (activators);
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_servers (servers);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_activators,
+ &_tao_servers
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 3,
+ "shutdown",
+ 8,
+ this->the_TAO_Administration_Proxy_Broker_,
+ TAO::TAO_ONEWAY_INVOCATION
+ );
+
_tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
@@ -1480,7 +1760,7 @@ ImplementationRepository::Administration::ImplementationRepository_Administratio
ImplementationRepository::Administration::~Administration (void)
{}
-void
+void
ImplementationRepository::Administration::_tao_any_destructor (void *_tao_void_pointer)
{
Administration *_tao_tmp_pointer =
@@ -1525,7 +1805,7 @@ ImplementationRepository::Administration::_duplicate (Administration_ptr obj)
{
obj->_add_ref ();
}
-
+
return obj;
}
@@ -1575,7 +1855,725 @@ ImplementationRepository::Administration::marshal (TAO_OutputCDR &cdr)
}
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_cs.cpp:60
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_ImplementationRepository_Administration (
+ CORBA::tk_objref,
+ "IDL:ImplementationRepository/Administration:1.0",
+ "Administration");
+
+namespace ImplementationRepository
+{
+ ::CORBA::TypeCode_ptr const _tc_Administration =
+ &_tao_tc_ImplementationRepository_Administration;
+}
+
+
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_cs.cpp:50
+
+namespace TAO
+{
+ template<>
+ CORBA::Boolean
+ Any_Dual_Impl_T<ImplementationRepository::AlreadyRegistered>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+ {
+ CORBA::String_var id;
+
+ if (!(cdr >> id.out ()))
+ {
+ return false;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return false;
+ }
+ ACE_ENDTRY;
+
+ return true;
+ }
+}
+
+// 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
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_cs.cpp:50
+
+namespace TAO
+{
+ template<>
+ CORBA::Boolean
+ Any_Dual_Impl_T<ImplementationRepository::CannotActivate>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+ {
+ CORBA::String_var id;
+
+ if (!(cdr >> id.out ()))
+ {
+ return false;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return false;
+ }
+ ACE_ENDTRY;
+
+ return true;
+ }
+}
+
+// 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
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_cs.cpp:50
+
+namespace TAO
+{
+ template<>
+ CORBA::Boolean
+ Any_Dual_Impl_T<ImplementationRepository::NotFound>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+ {
+ CORBA::String_var id;
+
+ if (!(cdr >> id.out ()))
+ {
+ return false;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return false;
+ }
+ ACE_ENDTRY;
+
+ return true;
+ }
+}
+
+// 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
+// c:\cvsdoc\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
+// c:\cvsdoc\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,
+ TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
+ _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,
+ TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
+ _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,
+ TAO::TypeCode::tc_ImplementationRepository_EnvironmentList_0,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+// c:\cvsdoc\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
+// c:\cvsdoc\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
+// c:\cvsdoc\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,
+ TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
+ _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,
+ TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
+ _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,
+ TAO::TypeCode::tc_ImplementationRepository_ServerInformationList_0,
+ _tao_elem
+ );
+}
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/any_op_cs.cpp:50
+
+namespace TAO
+{
+ template<>
+ CORBA::Boolean
+ Any_Impl_T<ImplementationRepository::ServerInformationIterator>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+
+// 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
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/any_op_cs.cpp:50
+
+namespace TAO
+{
+ template<>
+ CORBA::Boolean
+ Any_Impl_T<ImplementationRepository::Administration>::to_object (
+ CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+
+// 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
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_cs.cpp:60
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1595,7 +2593,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_cs.cpp:60
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_cs.cpp:60
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1628,7 +2626,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_cs.cpp:60
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_cs.cpp:60
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1648,7 +2646,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_cs.cpp:61
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_cs.cpp:61
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1671,7 +2669,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_sequence/cdr_op_cs.cpp:96
+// c:\cvsdoc\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_
@@ -1682,20 +2680,20 @@ CORBA::Boolean operator<< (
)
{
const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
-
+
if (strm << _tao_seq_len)
{
// Encode all elements.
CORBA::Boolean _tao_marshal_flag = true;
-
+
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 false;
}
@@ -1705,7 +2703,7 @@ CORBA::Boolean operator>> (
)
{
CORBA::ULong _tao_seq_len;
-
+
if (strm >> _tao_seq_len)
{
// Add a check to the length of the sequence
@@ -1715,35 +2713,35 @@ CORBA::Boolean operator>> (
{
return false;
}
-
+
// Set the length of the sequence.
_tao_sequence.length (_tao_seq_len);
-
+
// If length is 0 we return true.
- if (0 >= _tao_seq_len)
+ if (0 >= _tao_seq_len)
{
return true;
}
-
+
// Retrieve all the elements.
CORBA::Boolean _tao_marshal_flag = true;
-
+
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 false;
}
#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_CPP_ */
// TAO_IDL - Generated from
-// be\be_visitor_enum/cdr_op_cs.cpp:51
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_enum/cdr_op_cs.cpp:51
CORBA::Boolean operator<< (TAO_OutputCDR & strm, ImplementationRepository::ActivationMode _tao_enumerator)
{
@@ -1754,17 +2752,17 @@ CORBA::Boolean operator>> (TAO_InputCDR & strm, ImplementationRepository::Activa
{
CORBA::ULong _tao_temp = 0;
CORBA::Boolean const _tao_success = strm >> _tao_temp;
-
+
if (_tao_success)
{
_tao_enumerator = static_cast<ImplementationRepository::ActivationMode> (_tao_temp);
}
-
+
return _tao_success;
}
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_cs.cpp:61
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_cs.cpp:61
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1795,7 +2793,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_cs.cpp:61
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_cs.cpp:61
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1820,7 +2818,7 @@ CORBA::Boolean operator>> (
}
// TAO_IDL - Generated from
-// be\be_visitor_sequence/cdr_op_cs.cpp:96
+// c:\cvsdoc\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_
@@ -1831,20 +2829,20 @@ CORBA::Boolean operator<< (
)
{
const CORBA::ULong _tao_seq_len = _tao_sequence.length ();
-
+
if (strm << _tao_seq_len)
{
// Encode all elements.
CORBA::Boolean _tao_marshal_flag = true;
-
+
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 false;
}
@@ -1854,7 +2852,7 @@ CORBA::Boolean operator>> (
)
{
CORBA::ULong _tao_seq_len;
-
+
if (strm >> _tao_seq_len)
{
// Add a check to the length of the sequence
@@ -1864,35 +2862,35 @@ CORBA::Boolean operator>> (
{
return false;
}
-
+
// Set the length of the sequence.
_tao_sequence.length (_tao_seq_len);
-
+
// If length is 0 we return true.
- if (0 >= _tao_seq_len)
+ if (0 >= _tao_seq_len)
{
return true;
}
-
+
// Retrieve all the elements.
CORBA::Boolean _tao_marshal_flag = true;
-
+
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 false;
}
#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_CPP_ */
// TAO_IDL - Generated from
-// be\be_visitor_interface/cdr_op_cs.cpp:63
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/cdr_op_cs.cpp:63
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1909,26 +2907,26 @@ CORBA::Boolean operator>> (
)
{
CORBA::Object_var obj;
-
+
if (!(strm >> obj.inout ()))
{
return false;
}
-
+
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
-// be\be_visitor_interface/cdr_op_cs.cpp:63
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/cdr_op_cs.cpp:63
CORBA::Boolean operator<< (
TAO_OutputCDR &strm,
@@ -1945,20 +2943,20 @@ CORBA::Boolean operator>> (
)
{
CORBA::Object_var obj;
-
+
if (!(strm >> obj.inout ()))
{
return false;
}
-
+
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;
}
diff --git a/TAO/tao/ImR_Client/ImplRepoC.h b/TAO/tao/ImR_Client/ImplRepoC.h
index be2978194b9..e1285836169 100644
--- a/TAO/tao/ImR_Client/ImplRepoC.h
+++ b/TAO/tao/ImR_Client/ImplRepoC.h
@@ -26,10 +26,10 @@
// http://www.cs.wustl.edu/~schmidt/TAO.html
// TAO_IDL - Generated from
-// be\be_codegen.cpp:153
+// .\be\be_codegen.cpp:153
-#ifndef _TAO_IDL_ORIG_IMPLREPOC_H_
-#define _TAO_IDL_ORIG_IMPLREPOC_H_
+#ifndef _TAO_IDL_IMPLREPOC_H_
+#define _TAO_IDL_IMPLREPOC_H_
#include /**/ "ace/pre.h"
@@ -67,8 +67,8 @@
#pragma option push -w-rvl -w-rch -w-ccc -w-inl
#endif /* __BORLANDC__ */
-// TAO_IDL - Generated from
-// be\be_visitor_root/root_ch.cpp:62
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_root/root_ch.cpp:62
namespace TAO
{
@@ -77,34 +77,34 @@ namespace TAO
}
// TAO_IDL - Generated from
-// be\be_visitor_module/module_ch.cpp:48
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_ch.cpp:48
namespace ImplementationRepository
{
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:51
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:51
#if !defined (_IMPLEMENTATIONREPOSITORY_ALREADYREGISTERED_CH_)
#define _IMPLEMENTATIONREPOSITORY_ALREADYREGISTERED_CH_
-
+
class TAO_IMR_Client_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 const AlreadyRegistered *_downcast (CORBA::Exception const *);
-
+
static CORBA::Exception *_alloc (void);
-
+
virtual CORBA::Exception *_tao_duplicate (void) const;
virtual void _raise (void) const;
@@ -113,49 +113,49 @@ namespace ImplementationRepository
TAO_OutputCDR &
ACE_ENV_ARG_DECL
) const;
-
+
virtual void _tao_decode (
TAO_InputCDR &
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:127
+
virtual CORBA::TypeCode_ptr _tao_type (void) const;
};
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_AlreadyRegistered;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:51
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:51
#if !defined (_IMPLEMENTATIONREPOSITORY_CANNOTACTIVATE_CH_)
#define _IMPLEMENTATIONREPOSITORY_CANNOTACTIVATE_CH_
-
+
class TAO_IMR_Client_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 const CannotActivate *_downcast (CORBA::Exception const *);
-
+
static CORBA::Exception *_alloc (void);
-
+
virtual CORBA::Exception *_tao_duplicate (void) const;
virtual void _raise (void) const;
@@ -164,55 +164,55 @@ namespace ImplementationRepository
TAO_OutputCDR &
ACE_ENV_ARG_DECL
) const;
-
+
virtual void _tao_decode (
TAO_InputCDR &
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ctor.cpp:66
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ctor.cpp:66
+
CannotActivate (
const char * _tao_reason
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:127
+
virtual CORBA::TypeCode_ptr _tao_type (void) const;
};
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_CannotActivate;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:51
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:51
#if !defined (_IMPLEMENTATIONREPOSITORY_NOTFOUND_CH_)
#define _IMPLEMENTATIONREPOSITORY_NOTFOUND_CH_
-
+
class TAO_IMR_Client_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 const NotFound *_downcast (CORBA::Exception const *);
-
+
static CORBA::Exception *_alloc (void);
-
+
virtual CORBA::Exception *_tao_duplicate (void) const;
virtual void _raise (void) const;
@@ -221,75 +221,75 @@ namespace ImplementationRepository
TAO_OutputCDR &
ACE_ENV_ARG_DECL
) const;
-
+
virtual void _tao_decode (
TAO_InputCDR &
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_exception/exception_ch.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/exception_ch.cpp:127
+
virtual CORBA::TypeCode_ptr _tao_type (void) const;
};
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_NotFound;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_type.cpp:258
-
+ // .\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
- // be\be_visitor_structure/structure_ch.cpp:52
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_ch.cpp:52
+
struct TAO_IMR_Client_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
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_EnvironmentVariable;
-
+
// TAO_IDL - Generated from
- // be\be_visitor_sequence/sequence_ch.cpp:101
+ // c:\cvsdoc\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,
@@ -297,7 +297,7 @@ namespace ImplementationRepository
EnvironmentVariable
>
EnvironmentList_out;
-
+
class TAO_IMR_Client_Export EnvironmentList
: public
TAO_Unbounded_Sequence<
@@ -310,27 +310,27 @@ namespace ImplementationRepository
EnvironmentList (
CORBA::ULong max,
CORBA::ULong length,
- EnvironmentVariable* buffer,
+ 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
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_EnvironmentList;
-
+
// TAO_IDL - Generated from
- // be\be_visitor_enum/enum_ch.cpp:57
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_enum/enum_ch.cpp:57
+
enum ActivationMode
{
NORMAL,
@@ -338,39 +338,39 @@ namespace ImplementationRepository
PER_CLIENT,
AUTO_START
};
-
+
typedef ActivationMode &ActivationMode_out;
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_ActivationMode;
-
+
// TAO_IDL - Generated from
- // be\be_type.cpp:258
-
+ // .\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
- // be\be_visitor_structure/structure_ch.cpp:52
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_ch.cpp:52
+
struct TAO_IMR_Client_Export StartupOptions
{
typedef StartupOptions_var _var_type;
-
+
static void _tao_any_destructor (void *);
TAO_String_Manager command_line;
ImplementationRepository::EnvironmentList environment;
@@ -379,63 +379,63 @@ namespace ImplementationRepository
TAO_String_Manager activator;
CORBA::Long start_limit;
};
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_StartupOptions;
-
+
// TAO_IDL - Generated from
- // be\be_type.cpp:258
-
+ // .\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
- // be\be_visitor_structure/structure_ch.cpp:52
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/structure_ch.cpp:52
+
struct TAO_IMR_Client_Export ServerInformation
{
typedef ServerInformation_var _var_type;
-
+
static void _tao_any_destructor (void *);
TAO_String_Manager server;
ImplementationRepository::StartupOptions startup;
TAO_String_Manager partial_ior;
};
-
+
// TAO_IDL - Generated from
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_ServerInformation;
-
+
// TAO_IDL - Generated from
- // be\be_visitor_sequence/sequence_ch.cpp:101
+ // c:\cvsdoc\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,
@@ -443,7 +443,7 @@ namespace ImplementationRepository
ServerInformation
>
ServerInformationList_out;
-
+
class TAO_IMR_Client_Export ServerInformationList
: public
TAO_Unbounded_Sequence<
@@ -456,39 +456,39 @@ namespace ImplementationRepository
ServerInformationList (
CORBA::ULong max,
CORBA::ULong length,
- ServerInformation* buffer,
+ 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
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_ServerInformationList;
-
+
// TAO_IDL - Generated from
- // be\be_interface.cpp:598
+ // .\be\be_interface.cpp:598
#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
@@ -496,13 +496,13 @@ namespace ImplementationRepository
ServerInformationIterator_out;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/interface_ch.cpp:54
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ch.cpp:54
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_
-
+
class TAO_IMR_Client_Export ServerInformationIterator
: public virtual CORBA::Object
{
@@ -510,32 +510,32 @@ namespace ImplementationRepository
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 void _tao_release (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 static_cast<ServerInformationIterator_ptr> (0);
}
-
+
static void _tao_any_destructor (void *);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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 servers
@@ -544,44 +544,44 @@ namespace ImplementationRepository
ACE_THROW_SPEC ((
CORBA::SystemException
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
- // be\be_visitor_interface/interface_ch.cpp:210
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ch.cpp:210
+
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,
@@ -589,38 +589,38 @@ namespace ImplementationRepository
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
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_ServerInformationIterator;
-
+
// TAO_IDL - Generated from
- // be\be_interface.cpp:598
+ // .\be\be_interface.cpp:598
#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
@@ -628,13 +628,13 @@ namespace ImplementationRepository
Administration_out;
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/interface_ch.cpp:54
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ch.cpp:54
#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_)
#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_
-
+
class TAO_IMR_Client_Export Administration
: public virtual CORBA::Object
{
@@ -642,32 +642,32 @@ namespace ImplementationRepository
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 void _tao_release (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 static_cast<Administration_ptr> (0);
}
-
+
static void _tao_any_destructor (void *);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
@@ -677,38 +677,23 @@ namespace ImplementationRepository
::ImplementationRepository::NotFound,
::ImplementationRepository::CannotActivate
));
-
- // TAO_IDL - Generated from
- // 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
- // be\be_visitor_operation/operation_ch.cpp:46
-
- virtual void reregister_server (
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:46
+
+ virtual void add_or_update_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
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
@@ -717,10 +702,10 @@ namespace ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
@@ -729,10 +714,10 @@ namespace ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:46
+
virtual void server_is_running (
const char * server,
const char * partial_ior,
@@ -743,10 +728,10 @@ namespace ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
@@ -755,23 +740,22 @@ namespace ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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
+ CORBA::SystemException
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_ch.cpp:46
-
+ // c:\cvsdoc\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,
@@ -781,34 +765,46 @@ namespace ImplementationRepository
ACE_THROW_SPEC ((
CORBA::SystemException
));
-
+
+ // TAO_IDL - Generated from
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ch.cpp:46
+
+ virtual void shutdown (
+ ::CORBA::Boolean activators,
+ ::CORBA::Boolean servers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/interface_ch.cpp:210
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ch.cpp:210
+
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,
@@ -816,32 +812,32 @@ namespace ImplementationRepository
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
- // be\be_visitor_typecode/typecode_decl.cpp:44
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_typecode/typecode_decl.cpp:44
+
extern TAO_IMR_Client_Export ::CORBA::TypeCode_ptr const _tc_Administration;
// TAO_IDL - Generated from
-// be\be_visitor_module/module_ch.cpp:66
+// c:\cvsdoc\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
-// be\be_visitor_root/root.cpp:139
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_root/root.cpp:139
extern TAO_IMR_Client_Export
TAO::Collocation_Proxy_Broker *
@@ -856,7 +852,7 @@ TAO::Collocation_Proxy_Broker *
);
// TAO_IDL - Generated from
-// be\be_visitor_traits.cpp:61
+// .\be\be_visitor_traits.cpp:61
// Traits specializations.
namespace TAO
@@ -864,7 +860,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__TRAITS_CH_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__TRAITS_CH_
-
+
template<>
struct TAO_IMR_Client_Export Objref_Traits< ::ImplementationRepository::ServerInformationIterator>
{
@@ -885,7 +881,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION__TRAITS_CH_)
#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION__TRAITS_CH_
-
+
template<>
struct TAO_IMR_Client_Export Objref_Traits< ::ImplementationRepository::Administration>
{
@@ -906,7 +902,7 @@ namespace TAO
}
// TAO_IDL - Generated from
-// be\be_visitor_exception/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::AlreadyRegistered &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::AlreadyRegistered*); // noncopying version
@@ -914,7 +910,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::AlreadyRegistered *&);
// TAO_IDL - Generated from
-// be\be_visitor_exception/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::CannotActivate &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::CannotActivate*); // noncopying version
@@ -922,7 +918,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::CannotActivate *&);
// TAO_IDL - Generated from
-// be\be_visitor_exception/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::NotFound &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::NotFound*); // noncopying version
@@ -930,7 +926,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::NotFound *&);
// TAO_IDL - Generated from
-// be\be_visitor_structure/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentVariable &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentVariable*); // noncopying version
@@ -938,7 +934,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::EnvironmentVariable *&);
// TAO_IDL - Generated from
-// be\be_visitor_sequence/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_sequence/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentList &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentList*); // noncopying version
@@ -946,13 +942,13 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::EnvironmentList *&);
// TAO_IDL - Generated from
-// be\be_visitor_enum/any_op_ch.cpp:51
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_enum/any_op_ch.cpp:51
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::ActivationMode);
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ActivationMode &);
// TAO_IDL - Generated from
-// be\be_visitor_structure/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::StartupOptions &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::StartupOptions*); // noncopying version
@@ -960,7 +956,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::StartupOptions *&);
// TAO_IDL - Generated from
-// be\be_visitor_structure/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformation &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformation*); // noncopying version
@@ -968,7 +964,7 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::ServerInformation *&);
// TAO_IDL - Generated from
-// be\be_visitor_sequence/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_sequence/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformationList &); // copying version
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationList*); // noncopying version
@@ -976,45 +972,45 @@ TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, Implementa
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, const ImplementationRepository::ServerInformationList *&);
// TAO_IDL - Generated from
-// be\be_visitor_interface/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr); // copying
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr *); // non-copying
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr &);
// TAO_IDL - Generated from
-// be\be_visitor_interface/any_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/any_op_ch.cpp:52
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration_ptr); // copying
TAO_IMR_Client_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration_ptr *); // non-copying
TAO_IMR_Client_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration_ptr &);
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_ch.cpp:52
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::AlreadyRegistered &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::AlreadyRegistered &);
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_ch.cpp:52
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::CannotActivate &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::CannotActivate &);
// TAO_IDL - Generated from
-// be\be_visitor_exception/cdr_op_ch.cpp:52
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_exception/cdr_op_ch.cpp:52
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::NotFound &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::NotFound &);
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_ch.cpp:54
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_ch.cpp:54
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::EnvironmentVariable &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::EnvironmentVariable &);
// TAO_IDL - Generated from
-// be\be_visitor_sequence/cdr_op_ch.cpp:71
+// c:\cvsdoc\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_
@@ -1031,25 +1027,25 @@ TAO_IMR_Client_Export CORBA::Boolean operator>> (
#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_ */
// TAO_IDL - Generated from
-// be\be_visitor_enum/cdr_op_ch.cpp:50
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_enum/cdr_op_ch.cpp:50
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, ImplementationRepository::ActivationMode);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ActivationMode &);
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_ch.cpp:54
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_ch.cpp:54
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::StartupOptions &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::StartupOptions &);
// TAO_IDL - Generated from
-// be\be_visitor_structure/cdr_op_ch.cpp:54
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_structure/cdr_op_ch.cpp:54
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformation &);
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformation &);
// TAO_IDL - Generated from
-// be\be_visitor_sequence/cdr_op_ch.cpp:71
+// c:\cvsdoc\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_
@@ -1066,19 +1062,19 @@ TAO_IMR_Client_Export CORBA::Boolean operator>> (
#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_ */
// TAO_IDL - Generated from
-// be\be_visitor_interface/cdr_op_ch.cpp:55
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/cdr_op_ch.cpp:55
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformationIterator_ptr );
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformationIterator_ptr &);
// TAO_IDL - Generated from
-// be\be_visitor_interface/cdr_op_ch.cpp:55
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/cdr_op_ch.cpp:55
TAO_IMR_Client_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration_ptr );
TAO_IMR_Client_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Administration_ptr &);
// TAO_IDL - Generated from
-// be\be_codegen.cpp:955
+// .\be\be_codegen.cpp:955
#if defined (__ACE_INLINE__)
#include "ImplRepoC.inl"
diff --git a/TAO/tao/ImR_Client/ImplRepoC.inl b/TAO/tao/ImR_Client/ImplRepoC.inl
index 7b37ccdeaac..6b7e1bc5fff 100644
--- a/TAO/tao/ImR_Client/ImplRepoC.inl
+++ b/TAO/tao/ImR_Client/ImplRepoC.inl
@@ -27,7 +27,7 @@
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ci.cpp:70
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ci.cpp:70
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___CI_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___CI_
@@ -63,7 +63,7 @@ ImplementationRepository::ServerInformationIterator::ServerInformationIterator (
#endif /* end #if !defined */
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ci.cpp:70
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ci.cpp:70
#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___CI_)
#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___CI_
diff --git a/TAO/tao/ImR_Client/ImplRepoS.cpp b/TAO/tao/ImR_Client/ImplRepoS.cpp
index 3621e4a9e49..2b4e3fb2d6e 100644
--- a/TAO/tao/ImR_Client/ImplRepoS.cpp
+++ b/TAO/tao/ImR_Client/ImplRepoS.cpp
@@ -26,11 +26,11 @@
// http://www.cs.wustl.edu/~schmidt/TAO.html
-// TAO_IDL - Generated from
-// be\be_codegen.cpp:599
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:599
-#ifndef _TAO_IDL_ORIG_IMPLREPOS_CPP_
-#define _TAO_IDL_ORIG_IMPLREPOS_CPP_
+#ifndef _TAO_IDL_IMPLREPOS_CPP_
+#define _TAO_IDL_IMPLREPOS_CPP_
#include "ImplRepoS.h"
@@ -72,7 +72,7 @@
#endif /* __BORLANDC__ */
// TAO_IDL - Generated from
-// be\be_visitor_arg_traits.cpp:69
+// .\be\be_visitor_arg_traits.cpp:69
// Arg traits specializations.
namespace TAO
@@ -80,7 +80,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__SARG_TRAITS_SS_
-
+
template<>
class SArg_Traits<ImplementationRepository::ServerObject>
: public
@@ -93,13 +93,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__SARG_TRAITS_SS_
-
+
template<>
class SArg_Traits<ImplementationRepository::StartupOptions>
: public
@@ -112,13 +112,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__SARG_TRAITS_SS_
-
+
template<>
class SArg_Traits<ImplementationRepository::ServerInformation>
: public
@@ -131,13 +131,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:496
+ // .\be\be_visitor_arg_traits.cpp:489
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__SARG_TRAITS_SS_
-
+
template<>
class SArg_Traits<ImplementationRepository::ServerInformationList>
: public
@@ -153,7 +153,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__SARG_TRAITS_SS_
-
+
template<>
class SArg_Traits<ImplementationRepository::ServerInformationIterator>
: public
@@ -170,7 +170,7 @@ namespace TAO
// TAO_IDL - Generated from
-// be\be_visitor_arg_traits.cpp:69
+// .\be\be_visitor_arg_traits.cpp:69
// Arg traits specializations.
namespace TAO
@@ -178,7 +178,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT__ARG_TRAITS_SS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerObject>
: public
@@ -192,13 +192,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_STARTUPOPTIONS__ARG_TRAITS_SS_
-
+
template<>
class Arg_Traits<ImplementationRepository::StartupOptions>
: public
@@ -211,13 +211,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:751
+ // .\be\be_visitor_arg_traits.cpp:772
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATION__ARG_TRAITS_SS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformation>
: public
@@ -230,13 +230,13 @@ namespace TAO
};
#endif /* end #if !defined */
-
+
// TAO_IDL - Generated from
- // be\be_visitor_arg_traits.cpp:496
+ // .\be\be_visitor_arg_traits.cpp:489
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST__ARG_TRAITS_SS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformationList>
: public
@@ -252,7 +252,7 @@ namespace TAO
#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_)
#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR__ARG_TRAITS_SS_
-
+
template<>
class Arg_Traits<ImplementationRepository::ServerInformationIterator>
: public
@@ -270,7 +270,7 @@ namespace TAO
// TAO_IDL - Generated from
-// be\be_interface.cpp:1455
+// .\be\be_interface.cpp:1455
class TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable
: public TAO_Perfect_Hash_OpTable
@@ -283,7 +283,7 @@ public:
};
/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: c:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable -N lookup */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 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)
{
@@ -385,7 +385,7 @@ static TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTab
//
// TAO_IDL - Generated from
-// be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
+// c:\cvsdoc\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 *
@@ -393,7 +393,7 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_B
{
static POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_Broker
strategized_proxy_broker;
-
+
return &strategized_proxy_broker;
}
@@ -415,7 +415,7 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_B
TAO::Collocation_Strategy strategy =
TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
+
return strategy;
}
@@ -434,13 +434,13 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_B
{
TAO::Direct_Collocation_Upcall_Wrapper collocation_upcall_wrapper;
collocation_upcall_wrapper.upcall (
- obj,
- forward_obj,
- args,
- num_args,
- op,
- op_len,
- strategy
+ obj,
+ forward_obj,
+ args,
+ num_args,
+ op,
+ op_len,
+ strategy
ACE_ENV_ARG_PARAMETER);
}
@@ -449,7 +449,7 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Strategized_Proxy_B
///////////////////////////////////////////////////////////////////////
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:999
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:813
TAO::Collocation_Proxy_Broker *
ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function (CORBA::Object_ptr)
@@ -461,9 +461,9 @@ ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_fun
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_pointer =
ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Factory_function;
-
+
return 0;
}
@@ -482,14 +482,14 @@ ImplementationRepository__TAO_ServerInformationIterator_Proxy_Broker_Stub_Factor
POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::_TAO_ServerInformationIterator_Direct_Proxy_Impl (void)
{}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -506,14 +506,14 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -533,8 +533,8 @@ POA_ImplementationRepository::_TAO_ServerInformationIterator_Direct_Proxy_Impl::
// End Direct Proxy Implementation
///////////////////////////////////////////////////////////////////////
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:103
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:103
POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void)
: TAO_ServantBase ()
@@ -553,11 +553,11 @@ POA_ImplementationRepository::ServerInformationIterator::~ServerInformationItera
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class next_n_ServerInformationIterator
: public TAO::Upcall_Command
{
@@ -571,46 +571,46 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
this->operation_details_,
this->args_);
-
+
TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 =
TAO::Portable_Server::get_in_arg< ::CORBA::ULong, TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type> (
this->operation_details_,
this->args_,
1);
-
+
TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_type arg_2 =
TAO::Portable_Server::get_out_arg< ImplementationRepository::ServerInformationList, TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_type> (
this->operation_details_,
this->args_,
2);
-
-
+
+
retval =
this->servant_->next_n (
arg_1
, arg_2
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::ServerInformationIterator * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::ServerInformationIterator::next_n_skel (
TAO_ServerRequest & server_request,
@@ -619,26 +619,26 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_how_many;
TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_val _tao_servers;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_how_many,
&_tao_servers
};
-
+
static size_t const nargs = 3;
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
@@ -646,7 +646,7 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -659,15 +659,15 @@ void POA_ImplementationRepository::ServerInformationIterator::next_n_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class destroy_ServerInformationIterator
: public TAO::Upcall_Command
{
@@ -677,23 +677,23 @@ namespace POA_ImplementationRepository
: servant_ (servant)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
this->servant_->destroy (
ACE_ENV_SINGLE_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::ServerInformationIterator * const servant_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::ServerInformationIterator::destroy_skel (
TAO_ServerRequest & server_request,
@@ -702,28 +702,28 @@ void POA_ImplementationRepository::ServerInformationIterator::destroy_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
-
+
TAO::Argument * const args[] =
{
&retval
};
-
+
static size_t const nargs = 1;
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
destroy_ServerInformationIterator command (
impl);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -736,19 +736,19 @@ void POA_ImplementationRepository::ServerInformationIterator::destroy_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:169
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:169
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _is_a_ServerInformationIterator_Upcall_Command
: public TAO::Upcall_Command
{
@@ -762,68 +762,68 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
this->operation_details_,
this->args_);
-
+
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
TAO::Portable_Server::get_in_arg< CORBA::Char *, TAO::SArg_Traits< CORBA::Char *>::in_arg_type> (
this->operation_details_,
this->args_,
1);
-
-
+
+
retval =
this->servant_-> _is_a (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::ServerInformationIterator * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_repository_id;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_repository_id
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
-
+
_is_a_ServerInformationIterator_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -836,16 +836,16 @@ void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _non_existent_ServerInformationIterator_Upcall_Command
: public TAO::Upcall_Command
{
@@ -859,59 +859,59 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
this->operation_details_,
this->args_);
-
-
+
+
retval =
this->servant_-> _non_existent (
ACE_ENV_SINGLE_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::ServerInformationIterator * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
-
+
TAO::Argument * const args[] =
{
&retval
};
-
+
static size_t const nargs = 1;
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
-
+
_non_existent_ServerInformationIterator_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -924,18 +924,18 @@ void POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:393
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:393
void POA_ImplementationRepository::ServerInformationIterator::_interface_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * /* servant_upcall */,
void * servant
ACE_ENV_ARG_DECL
@@ -945,30 +945,30 @@ void POA_ImplementationRepository::ServerInformationIterator::_interface_skel (
ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
TAO_ORB_Core::ifr_client_adapter_name ()
);
-
+
if (_tao_adapter == 0)
{
ACE_THROW (CORBA::INTF_REPOS (CORBA::OMGVMCID | 1,
CORBA::COMPLETED_NO));
}
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
- CORBA::InterfaceDef_ptr _tao_retval =
+ CORBA::InterfaceDef_ptr _tao_retval =
impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
-
+
server_request.init_reply ();
TAO_OutputCDR &_tao_out = *server_request.outgoing ();
-
+
CORBA::Boolean const _tao_result =
_tao_adapter->interfacedef_cdr_insert (
_tao_out,
_tao_retval
);
-
+
_tao_adapter->dispose (_tao_retval);
-
+
if (_tao_result == 0)
{
ACE_THROW (CORBA::MARSHAL ());
@@ -977,11 +977,11 @@ void POA_ImplementationRepository::ServerInformationIterator::_interface_skel (
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _get_component_ServerInformationIterator_Upcall_Command
: public TAO::Upcall_Command
{
@@ -995,59 +995,59 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
this->operation_details_,
this->args_);
-
-
+
+
retval =
this->servant_-> _get_component (
ACE_ENV_SINGLE_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::ServerInformationIterator * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::ServerInformationIterator::_component_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
-
+
TAO::Argument * const args[] =
{
&retval
};
-
+
static size_t const nargs = 1;
-
+
POA_ImplementationRepository::ServerInformationIterator * const impl =
static_cast<POA_ImplementationRepository::ServerInformationIterator *> (servant);
-
+
_get_component_ServerInformationIterator_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -1060,7 +1060,7 @@ void POA_ImplementationRepository::ServerInformationIterator::_component_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
CORBA::Boolean POA_ImplementationRepository::ServerInformationIterator::_is_a (
@@ -1087,7 +1087,7 @@ const char* POA_ImplementationRepository::ServerInformationIterator::_interface_
}
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:940
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:754
void POA_ImplementationRepository::ServerInformationIterator::_dispatch (
TAO_ServerRequest & req,
@@ -1102,29 +1102,29 @@ void POA_ImplementationRepository::ServerInformationIterator::_dispatch (
}
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:891
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:705
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 ();
-
+
CORBA::Boolean _tao_opt_colloc =
stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
-
+
ACE_NEW_RETURN (
tmp,
CORBA::Object (stub, _tao_opt_colloc, 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 (
@@ -1134,7 +1134,7 @@ POA_ImplementationRepository::ServerInformationIterator::_this (ACE_ENV_SINGLE_A
}
// TAO_IDL - Generated from
-// be\be_interface.cpp:1455
+// .\be\be_interface.cpp:1455
class TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable
: public TAO_Perfect_Hash_OpTable
@@ -1147,53 +1147,53 @@ public:
};
/* C++ code produced by gperf version 2.8 (ACE version) */
-/* Command-line: c:\ACE\latest\ACE_wrappers\bin\gperf.exe -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable -N lookup */
+/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 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)
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 0,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 9,
- 29, 29, 0, 0, 0, 5, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 5, 29, 0,
- 29, 29, 29, 0, 29, 29, 29, 29, 29, 29,
- 29, 29, 5, 9, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 5,
+ 26, 26, 0, 9, 0, 5, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 10, 26, 0,
+ 26, 26, 26, 0, 26, 26, 26, 26, 26, 26,
+ 26, 26, 0, 4, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26,
#else
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 0, 29, 9, 29, 29,
- 0, 0, 0, 5, 29, 29, 29, 29, 5, 29,
- 0, 29, 29, 29, 0, 5, 9, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 0, 26, 5, 26, 26,
+ 0, 9, 0, 5, 26, 26, 26, 26, 10, 26,
+ 0, 26, 26, 26, 0, 0, 4, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26,
#endif /* ACE_MVS */
};
return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
@@ -1208,8 +1208,8 @@ TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const
MIN_WORD_LENGTH = 4,
MAX_WORD_LENGTH = 23,
MIN_HASH_VALUE = 4,
- MAX_HASH_VALUE = 28,
- HASH_VALUE_RANGE = 25,
+ MAX_HASH_VALUE = 25,
+ HASH_VALUE_RANGE = 22,
DUPLICATES = 0,
WORDLIST_SIZE = 17
};
@@ -1218,24 +1218,24 @@ TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const
{
{"",0,0},{"",0,0},{"",0,0},{"",0,0},
{"find", &POA_ImplementationRepository::Administration::find_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find},
- {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
- {"_interface", &POA_ImplementationRepository::Administration::_interface_skel, 0},
+ {"",0,0},{"",0,0},{"",0,0},
+ {"shutdown", &POA_ImplementationRepository::Administration::shutdown_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown},
+ {"",0,0},
+ {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel, 0},
{"",0,0},{"",0,0},
{"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_server},
- {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel, 0},
- {"register_server", &POA_ImplementationRepository::Administration::register_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::register_server},
- {"",0,0},
- {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::reregister_server},
- {"list", &POA_ImplementationRepository::Administration::list_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list},
{"_component", &POA_ImplementationRepository::Administration::_component_skel, 0},
{"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_server},
{"",0,0},
{"_non_existent", &POA_ImplementationRepository::Administration::_non_existent_skel, 0},
- {"",0,0},
+ {"list", &POA_ImplementationRepository::Administration::list_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list},
+ {"_interface", &POA_ImplementationRepository::Administration::_interface_skel, 0},
{"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_server},
- {"",0,0},{"",0,0},
+ {"",0,0},
{"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_running},
{"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_shutting_down},
+ {"",0,0},
+ {"add_or_update_server", &POA_ImplementationRepository::Administration::add_or_update_server_skel, &POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::add_or_update_server},
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -1259,7 +1259,7 @@ static TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable tao_Impl
//
// TAO_IDL - Generated from
-// be\be_visitor_interface/strategized_proxy_broker_ss.cpp:40
+// c:\cvsdoc\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 *
@@ -1267,7 +1267,7 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::the_
{
static POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker
strategized_proxy_broker;
-
+
return &strategized_proxy_broker;
}
@@ -1289,7 +1289,7 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::get_
TAO::Collocation_Strategy strategy =
TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
-
+
return strategy;
}
@@ -1308,13 +1308,13 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::disp
{
TAO::Direct_Collocation_Upcall_Wrapper collocation_upcall_wrapper;
collocation_upcall_wrapper.upcall (
- obj,
- forward_obj,
- args,
- num_args,
- op,
- op_len,
- strategy
+ obj,
+ forward_obj,
+ args,
+ num_args,
+ op,
+ op_len,
+ strategy
ACE_ENV_ARG_PARAMETER);
}
@@ -1323,7 +1323,7 @@ POA_ImplementationRepository::_TAO_Administration_Strategized_Proxy_Broker::disp
///////////////////////////////////////////////////////////////////////
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:999
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:813
TAO::Collocation_Proxy_Broker *
ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function (CORBA::Object_ptr)
@@ -1335,9 +1335,9 @@ ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function (CORB
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_pointer =
ImplementationRepository__TAO_Administration_Proxy_Broker_Factory_function;
-
+
return 0;
}
@@ -1356,14 +1356,14 @@ ImplementationRepository__TAO_Administration_Proxy_Broker_Stub_Factory_Initializ
POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::_TAO_Administration_Direct_Proxy_Impl (void)
{}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1380,64 +1380,38 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::activate_se
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// 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
- ))
-{
- dynamic_cast<POA_ImplementationRepository::Administration_ptr>
- (servant)
- ->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
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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 (
+POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::add_or_update_server (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
- int
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
::ImplementationRepository::NotFound
))
{
dynamic_cast<POA_ImplementationRepository::Administration_ptr>
(servant)
- ->reregister_server (
+ ->add_or_update_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
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1453,14 +1427,14 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::remove_serv
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1476,14 +1450,14 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown_se
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1501,14 +1475,14 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_r
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1524,19 +1498,18 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::server_is_s
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
+ CORBA::SystemException
))
{
dynamic_cast<POA_ImplementationRepository::Administration_ptr>
@@ -1548,14 +1521,14 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::find (
);
ACE_CHECK;
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+// TAO_IDL - Generated from
+// c:\cvsdoc\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
+ int
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
@@ -1572,14 +1545,37 @@ POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::list (
);
ACE_CHECK;
}
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/direct_proxy_impl_ss.cpp:42
+
+void
+POA_ImplementationRepository::_TAO_Administration_Direct_Proxy_Impl::shutdown (
+ TAO_Abstract_ServantBase *servant,
+ TAO::Argument ** args,
+ int
+ ACE_ENV_ARG_DECL
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ))
+{
+ dynamic_cast<POA_ImplementationRepository::Administration_ptr>
+ (servant)
+ ->shutdown (
+ ((TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val *) args[1])->arg (),
+ ((TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val *) args[2])->arg ()
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
//
// End Direct Proxy Implementation
///////////////////////////////////////////////////////////////////////
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:103
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:103
POA_ImplementationRepository::Administration::Administration (void)
: TAO_ServantBase ()
@@ -1598,11 +1594,11 @@ POA_ImplementationRepository::Administration::~Administration (void)
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class activate_server_Administration
: public TAO::Upcall_Command
{
@@ -1616,7 +1612,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -1624,24 +1620,24 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
this->servant_->activate_server (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::activate_server_skel (
TAO_ServerRequest & server_request,
@@ -1650,28 +1646,28 @@ void POA_ImplementationRepository::Administration::activate_server_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
ImplementationRepository::_tc_NotFound,
ImplementationRepository::_tc_CannotActivate
};
static size_t const nexceptions = 2;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -1679,7 +1675,7 @@ void POA_ImplementationRepository::Administration::activate_server_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -1692,20 +1688,20 @@ void POA_ImplementationRepository::Administration::activate_server_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
- class register_server_Administration
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
+ class add_or_update_server_Administration
: public TAO::Upcall_Command
{
public:
- inline register_server_Administration (
+ inline add_or_update_server_Administration (
POA_ImplementationRepository::Administration * servant,
TAO_Operation_Details const * operation_details,
TAO::Argument * const args[])
@@ -1714,7 +1710,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -1722,178 +1718,70 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_type arg_2 =
TAO::Portable_Server::get_in_arg< ImplementationRepository::StartupOptions, TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_type> (
this->operation_details_,
this->args_,
2);
-
- this->servant_->register_server (
+
+ this->servant_->add_or_update_server (
arg_1
, arg_2
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
-
-void POA_ImplementationRepository::Administration::register_server_skel (
- TAO_ServerRequest & server_request,
- void * TAO_INTERCEPTOR (servant_upcall),
- void * servant
- ACE_ENV_ARG_DECL
- )
-{
-
-
-#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
- {
- ImplementationRepository::_tc_AlreadyRegistered,
- ImplementationRepository::_tc_NotFound
- };
- static size_t const nexceptions = 2;
-#endif /* TAO_HAS_INTERCEPTORS */
-
- TAO::SArg_Traits< void>::ret_val retval;
- TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
- TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_val _tao_options;
-
- TAO::Argument * const args[] =
- {
- &retval,
- &_tao_server,
- &_tao_options
- };
-
- static size_t const nargs = 3;
-
- POA_ImplementationRepository::Administration * const impl =
- static_cast<POA_ImplementationRepository::Administration *> (servant);
-
- register_server_Administration command (
- impl,
- server_request.operation_details (),
- args);
-
- TAO::Upcall_Wrapper upcall_wrapper;
- upcall_wrapper.upcall (server_request
- , args
- , nargs
- , command
-#if TAO_HAS_INTERCEPTORS == 1
- , servant_upcall
- , exceptions
- , nexceptions
-#endif /* TAO_HAS_INTERCEPTORS == 1 */
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
-
-}
-namespace POA_ImplementationRepository
-{
-
-
- // TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
- class reregister_server_Administration
- : public TAO::Upcall_Command
- {
- public:
- inline reregister_server_Administration (
- POA_ImplementationRepository::Administration * servant,
- TAO_Operation_Details const * operation_details,
- TAO::Argument * const args[])
- : servant_ (servant)
- , operation_details_ (operation_details)
- , args_ (args)
- {
- }
-
- virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
- {
- TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
- TAO::Portable_Server::get_in_arg< CORBA::Char *, TAO::SArg_Traits< CORBA::Char *>::in_arg_type> (
- this->operation_details_,
- this->args_,
- 1);
-
- TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_type arg_2 =
- TAO::Portable_Server::get_in_arg< ImplementationRepository::StartupOptions, TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_type> (
- this->operation_details_,
- this->args_,
- 2);
-
- this->servant_->reregister_server (
- arg_1
- , arg_2
- ACE_ENV_ARG_PARAMETER);
-
- }
-
- private:
- POA_ImplementationRepository::Administration * const servant_;
- TAO_Operation_Details const * const operation_details_;
- TAO::Argument * const * const args_;
- };
-
-}
-
-
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
-void POA_ImplementationRepository::Administration::reregister_server_skel (
+void POA_ImplementationRepository::Administration::add_or_update_server_skel (
TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
- ImplementationRepository::_tc_AlreadyRegistered,
ImplementationRepository::_tc_NotFound
};
- static size_t const nexceptions = 2;
+ static size_t const nexceptions = 1;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
TAO::SArg_Traits< ImplementationRepository::StartupOptions>::in_arg_val _tao_options;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server,
&_tao_options
};
-
+
static size_t const nargs = 3;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
- reregister_server_Administration command (
+ add_or_update_server_Administration command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -1906,15 +1794,15 @@ void POA_ImplementationRepository::Administration::reregister_server_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class remove_server_Administration
: public TAO::Upcall_Command
{
@@ -1928,7 +1816,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -1936,24 +1824,24 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
this->servant_->remove_server (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::remove_server_skel (
TAO_ServerRequest & server_request,
@@ -1962,27 +1850,27 @@ void POA_ImplementationRepository::Administration::remove_server_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
ImplementationRepository::_tc_NotFound
};
static size_t const nexceptions = 1;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -1990,7 +1878,7 @@ void POA_ImplementationRepository::Administration::remove_server_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2003,15 +1891,15 @@ void POA_ImplementationRepository::Administration::remove_server_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class shutdown_server_Administration
: public TAO::Upcall_Command
{
@@ -2025,7 +1913,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -2033,24 +1921,24 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
this->servant_->shutdown_server (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::shutdown_server_skel (
TAO_ServerRequest & server_request,
@@ -2059,27 +1947,27 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
ImplementationRepository::_tc_NotFound
};
static size_t const nexceptions = 1;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -2087,7 +1975,7 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2100,15 +1988,15 @@ void POA_ImplementationRepository::Administration::shutdown_server_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class server_is_running_Administration
: public TAO::Upcall_Command
{
@@ -2122,7 +2010,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -2130,38 +2018,38 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_2 =
TAO::Portable_Server::get_in_arg< CORBA::Char *, TAO::SArg_Traits< CORBA::Char *>::in_arg_type> (
this->operation_details_,
this->args_,
2);
-
+
TAO::SArg_Traits< ImplementationRepository::ServerObject>::in_arg_type arg_3 =
TAO::Portable_Server::get_in_arg< ImplementationRepository::ServerObject, TAO::SArg_Traits< ImplementationRepository::ServerObject>::in_arg_type> (
this->operation_details_,
this->args_,
3);
-
+
this->servant_->server_is_running (
arg_1
, arg_2
, arg_3
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::server_is_running_skel (
TAO_ServerRequest & server_request,
@@ -2170,21 +2058,21 @@ void POA_ImplementationRepository::Administration::server_is_running_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
ImplementationRepository::_tc_NotFound
};
static size_t const nexceptions = 1;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_partial_ior;
TAO::SArg_Traits< ImplementationRepository::ServerObject>::in_arg_val _tao_server_object;
-
+
TAO::Argument * const args[] =
{
&retval,
@@ -2192,9 +2080,9 @@ void POA_ImplementationRepository::Administration::server_is_running_skel (
&_tao_partial_ior,
&_tao_server_object
};
-
+
static size_t const nargs = 4;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -2202,7 +2090,7 @@ void POA_ImplementationRepository::Administration::server_is_running_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2215,15 +2103,15 @@ void POA_ImplementationRepository::Administration::server_is_running_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class server_is_shutting_down_Administration
: public TAO::Upcall_Command
{
@@ -2237,7 +2125,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -2245,24 +2133,24 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
this->servant_->server_is_shutting_down (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::server_is_shutting_down_skel (
TAO_ServerRequest & server_request,
@@ -2271,27 +2159,27 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
+ static CORBA::TypeCode_ptr const exceptions[] =
{
ImplementationRepository::_tc_NotFound
};
static size_t const nexceptions = 1;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -2299,7 +2187,7 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2312,15 +2200,15 @@ void POA_ImplementationRepository::Administration::server_is_shutting_down_skel
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class find_Administration
: public TAO::Upcall_Command
{
@@ -2334,7 +2222,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
@@ -2342,31 +2230,31 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
TAO::SArg_Traits< ImplementationRepository::ServerInformation>::out_arg_type arg_2 =
TAO::Portable_Server::get_out_arg< ImplementationRepository::ServerInformation, TAO::SArg_Traits< ImplementationRepository::ServerInformation>::out_arg_type> (
this->operation_details_,
this->args_,
2);
-
+
this->servant_->find (
arg_1
, arg_2
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::find_skel (
TAO_ServerRequest & server_request,
@@ -2375,29 +2263,26 @@ void POA_ImplementationRepository::Administration::find_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
- static CORBA::TypeCode_ptr const exceptions[] =
- {
- ImplementationRepository::_tc_NotFound
- };
- static size_t const nexceptions = 1;
+ static CORBA::TypeCode_ptr const * const exceptions = 0;
+ static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_server;
TAO::SArg_Traits< ImplementationRepository::ServerInformation>::out_arg_val _tao_info;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_server,
&_tao_info
};
-
+
static size_t const nargs = 3;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -2405,7 +2290,7 @@ void POA_ImplementationRepository::Administration::find_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2418,15 +2303,15 @@ void POA_ImplementationRepository::Administration::find_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class list_Administration
: public TAO::Upcall_Command
{
@@ -2440,7 +2325,7 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::CORBA::ULong>::in_arg_type arg_1 =
@@ -2448,38 +2333,38 @@ namespace POA_ImplementationRepository
this->operation_details_,
this->args_,
1);
-
+
TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_type arg_2 =
TAO::Portable_Server::get_out_arg< ImplementationRepository::ServerInformationList, TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_type> (
this->operation_details_,
this->args_,
2);
-
+
TAO::SArg_Traits< ImplementationRepository::ServerInformationIterator>::out_arg_type arg_3 =
TAO::Portable_Server::get_out_arg< ImplementationRepository::ServerInformationIterator, TAO::SArg_Traits< ImplementationRepository::ServerInformationIterator>::out_arg_type> (
this->operation_details_,
this->args_,
3);
-
+
this->servant_->list (
arg_1
, arg_2
, arg_3
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_operation/operation_ss.cpp:192
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
void POA_ImplementationRepository::Administration::list_skel (
TAO_ServerRequest & server_request,
@@ -2488,18 +2373,18 @@ void POA_ImplementationRepository::Administration::list_skel (
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< void>::ret_val retval;
TAO::SArg_Traits< ::CORBA::ULong>::in_arg_val _tao_how_many;
TAO::SArg_Traits< ImplementationRepository::ServerInformationList>::out_arg_val _tao_server_list;
TAO::SArg_Traits< ImplementationRepository::ServerInformationIterator>::out_arg_val _tao_server_iterator;
-
+
TAO::Argument * const args[] =
{
&retval,
@@ -2507,9 +2392,9 @@ void POA_ImplementationRepository::Administration::list_skel (
&_tao_server_list,
&_tao_server_iterator
};
-
+
static size_t const nargs = 4;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
@@ -2517,7 +2402,7 @@ void POA_ImplementationRepository::Administration::list_skel (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2530,19 +2415,122 @@ void POA_ImplementationRepository::Administration::list_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
+}
+namespace POA_ImplementationRepository
+{
+
+
+ // TAO_IDL - Generated from
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
+ class shutdown_Administration
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline shutdown_Administration (
+ POA_ImplementationRepository::Administration * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type arg_2 =
+ TAO::Portable_Server::get_in_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 2);
+
+ this->servant_->shutdown (
+ arg_1
+ , arg_2
+ ACE_ENV_ARG_PARAMETER);
+
+ }
+
+ private:
+ POA_ImplementationRepository::Administration * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:169
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_ss.cpp:192
+
+void POA_ImplementationRepository::Administration::shutdown_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+
+
+#if TAO_HAS_INTERCEPTORS == 1
+ static CORBA::TypeCode_ptr const * const exceptions = 0;
+ static size_t const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_activators;
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::in_arg_val _tao_servers;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_activators,
+ &_tao_servers
+ };
+
+ static size_t const nargs = 3;
+
+ POA_ImplementationRepository::Administration * const impl =
+ static_cast<POA_ImplementationRepository::Administration *> (servant);
+
+ shutdown_Administration command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+
+}
+
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:169
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _is_a_Administration_Upcall_Command
: public TAO::Upcall_Command
{
@@ -2556,68 +2544,68 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
this->operation_details_,
this->args_);
-
+
TAO::SArg_Traits< CORBA::Char *>::in_arg_type arg_1 =
TAO::Portable_Server::get_in_arg< CORBA::Char *, TAO::SArg_Traits< CORBA::Char *>::in_arg_type> (
this->operation_details_,
this->args_,
1);
-
-
+
+
retval =
this->servant_-> _is_a (
arg_1
ACE_ENV_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::Administration::_is_a_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
TAO::SArg_Traits< CORBA::Char *>::in_arg_val _tao_repository_id;
-
+
TAO::Argument * const args[] =
{
&retval,
&_tao_repository_id
};
-
+
static size_t const nargs = 2;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
-
+
_is_a_Administration_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2630,16 +2618,16 @@ void POA_ImplementationRepository::Administration::_is_a_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _non_existent_Administration_Upcall_Command
: public TAO::Upcall_Command
{
@@ -2653,59 +2641,59 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
this->operation_details_,
this->args_);
-
-
+
+
retval =
this->servant_-> _non_existent (
ACE_ENV_SINGLE_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::Administration::_non_existent_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
-
+
TAO::Argument * const args[] =
{
&retval
};
-
+
static size_t const nargs = 1;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
-
+
_non_existent_Administration_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2718,18 +2706,18 @@ void POA_ImplementationRepository::Administration::_non_existent_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
-// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:393
+// TAO_IDL - Generated from
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:393
void POA_ImplementationRepository::Administration::_interface_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * /* servant_upcall */,
void * servant
ACE_ENV_ARG_DECL
@@ -2739,30 +2727,30 @@ void POA_ImplementationRepository::Administration::_interface_skel (
ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
TAO_ORB_Core::ifr_client_adapter_name ()
);
-
+
if (_tao_adapter == 0)
{
ACE_THROW (CORBA::INTF_REPOS (CORBA::OMGVMCID | 1,
CORBA::COMPLETED_NO));
}
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
- CORBA::InterfaceDef_ptr _tao_retval =
+ CORBA::InterfaceDef_ptr _tao_retval =
impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
-
+
server_request.init_reply ();
TAO_OutputCDR &_tao_out = *server_request.outgoing ();
-
+
CORBA::Boolean const _tao_result =
_tao_adapter->interfacedef_cdr_insert (
_tao_out,
_tao_retval
);
-
+
_tao_adapter->dispose (_tao_retval);
-
+
if (_tao_result == 0)
{
ACE_THROW (CORBA::MARSHAL ());
@@ -2771,11 +2759,11 @@ void POA_ImplementationRepository::Administration::_interface_skel (
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/upcall_command_ss.cpp:127
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/upcall_command_ss.cpp:127
+
class _get_component_Administration_Upcall_Command
: public TAO::Upcall_Command
{
@@ -2789,59 +2777,59 @@ namespace POA_ImplementationRepository
, args_ (args)
{
}
-
+
virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
{
TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
this->operation_details_,
this->args_);
-
-
+
+
retval =
this->servant_-> _get_component (
ACE_ENV_SINGLE_ARG_PARAMETER);
-
+
}
-
+
private:
POA_ImplementationRepository::Administration * const servant_;
TAO_Operation_Details const * const operation_details_;
TAO::Argument * const * const args_;
};
-
+
}
void POA_ImplementationRepository::Administration::_component_skel (
- TAO_ServerRequest & server_request,
+ TAO_ServerRequest & server_request,
void * TAO_INTERCEPTOR (servant_upcall),
void * servant
ACE_ENV_ARG_DECL
)
{
-
-
+
+
#if TAO_HAS_INTERCEPTORS == 1
static CORBA::TypeCode_ptr const * const exceptions = 0;
static size_t const nexceptions = 0;
#endif /* TAO_HAS_INTERCEPTORS */
-
+
TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
-
+
TAO::Argument * const args[] =
{
&retval
};
-
+
static size_t const nargs = 1;
-
+
POA_ImplementationRepository::Administration * const impl =
static_cast<POA_ImplementationRepository::Administration *> (servant);
-
+
_get_component_Administration_Upcall_Command command (
impl,
server_request.operation_details (),
args);
-
+
TAO::Upcall_Wrapper upcall_wrapper;
upcall_wrapper.upcall (server_request
, args
@@ -2854,7 +2842,7 @@ void POA_ImplementationRepository::Administration::_component_skel (
#endif /* TAO_HAS_INTERCEPTORS == 1 */
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-
+
}
CORBA::Boolean POA_ImplementationRepository::Administration::_is_a (
@@ -2881,7 +2869,7 @@ const char* POA_ImplementationRepository::Administration::_interface_repository_
}
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:940
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:754
void POA_ImplementationRepository::Administration::_dispatch (
TAO_ServerRequest & req,
@@ -2896,29 +2884,29 @@ void POA_ImplementationRepository::Administration::_dispatch (
}
// TAO_IDL - Generated from
-// be\be_visitor_interface/interface_ss.cpp:891
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_ss.cpp:705
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 ();
-
+
CORBA::Boolean _tao_opt_colloc =
stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
-
+
ACE_NEW_RETURN (
tmp,
CORBA::Object (stub, _tao_opt_colloc, 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 (
diff --git a/TAO/tao/ImR_Client/ImplRepoS.h b/TAO/tao/ImR_Client/ImplRepoS.h
index 6457975c7d4..8435f8704d6 100644
--- a/TAO/tao/ImR_Client/ImplRepoS.h
+++ b/TAO/tao/ImR_Client/ImplRepoS.h
@@ -26,15 +26,14 @@
// http://www.cs.wustl.edu/~schmidt/TAO.html
// TAO_IDL - Generated from
-// be\be_codegen.cpp:391
+// .\be\be_codegen.cpp:391
-#ifndef _TAO_IDL_ORIG_IMPLREPOS_H_
-#define _TAO_IDL_ORIG_IMPLREPOS_H_
+#ifndef _TAO_IDL_IMPLREPOS_H_
+#define _TAO_IDL_IMPLREPOS_H_
#include /**/ "ace/pre.h"
#include "ImplRepoC.h"
-#include "tao/ImR_Client/ServerObjectS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -54,84 +53,84 @@
#endif /* __BORLANDC__ */
// TAO_IDL - Generated from
-// be\be_visitor_module/module_sh.cpp:49
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_sh.cpp:49
namespace POA_ImplementationRepository
{
-
-
+
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/interface_sh.cpp:87
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_sh.cpp:87
+
class ServerInformationIterator;
typedef ServerInformationIterator *ServerInformationIterator_ptr;
-
+
class _TAO_ServerInformationIterator_Direct_Proxy_Impl;
class _TAO_ServerInformationIterator_Strategized_Proxy_Broker;
-
+
class TAO_IMR_Client_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
);
-
+
static void _is_a_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _non_existent_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _interface_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _component_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
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
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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 servers
@@ -140,24 +139,24 @@ namespace POA_ImplementationRepository
ACE_THROW_SPEC ((
CORBA::SystemException
)) = 0;
-
+
static void next_n_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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 & server_request,
void * servant_upcall,
@@ -165,29 +164,29 @@ namespace POA_ImplementationRepository
ACE_ENV_ARG_DECL
);
};
-
+
///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
+ // Strategized Proxy Broker Declaration
//
-
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
+
class TAO_IMR_Client_Export _TAO_ServerInformationIterator_Strategized_Proxy_Broker
: public virtual TAO::Collocation_Proxy_Broker
{
- public:
+ 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,
@@ -200,34 +199,34 @@ namespace POA_ImplementationRepository
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
+ // End Strategized Proxy Broker Declaration
///////////////////////////////////////////////////////////////////////
-
-
-
- // TAO_IDL - Generated from
- // be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
+
+
+
+ // TAO_IDL - Generated from
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
+
///////////////////////////////////////////////////////////////////////
// Direct Impl. Declaration
//
-
+
class TAO_IMR_Client_Export _TAO_ServerInformationIterator_Direct_Proxy_Impl
{
public:
_TAO_ServerInformationIterator_Direct_Proxy_Impl (void);
-
+
virtual ~_TAO_ServerInformationIterator_Direct_Proxy_Impl (void) {}
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
next_n (
TAO_Abstract_ServantBase *servant,
@@ -238,10 +237,10 @@ namespace POA_ImplementationRepository
ACE_THROW_SPEC ((
CORBA::SystemException
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
destroy (
TAO_Abstract_ServantBase *servant,
@@ -253,85 +252,85 @@ namespace POA_ImplementationRepository
CORBA::SystemException
));
};
-
+
//
// Direct Proxy Impl. Declaration
///////////////////////////////////////////////////////////////////////
-
-
-
+
+
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/interface_sh.cpp:87
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/interface_sh.cpp:87
+
class Administration;
typedef Administration *Administration_ptr;
-
+
class _TAO_Administration_Direct_Proxy_Impl;
class _TAO_Administration_Strategized_Proxy_Broker;
-
+
class TAO_IMR_Client_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
);
-
+
static void _is_a_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _non_existent_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _interface_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
static void _component_skel (
TAO_ServerRequest & req,
void * servant_upcall,
void * servant
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
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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
@@ -341,59 +340,37 @@ namespace POA_ImplementationRepository
::ImplementationRepository::NotFound,
::ImplementationRepository::CannotActivate
)) = 0;
-
+
static void activate_server_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
- // TAO_IDL - Generated from
- // 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 & server_request,
- void * servant_upcall,
- void * servant
- ACE_ENV_ARG_DECL
- );
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
- virtual void reregister_server (
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_sh.cpp:45
+
+ virtual void add_or_update_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 (
+
+ static void add_or_update_server_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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
@@ -402,17 +379,17 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
)) = 0;
-
+
static void remove_server_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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
@@ -421,17 +398,17 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
)) = 0;
-
+
static void shutdown_server_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_sh.cpp:45
+
virtual void server_is_running (
const char * server,
const char * partial_ior,
@@ -442,17 +419,17 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
)) = 0;
-
+
static void server_is_running_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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
@@ -461,37 +438,36 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
)) = 0;
-
+
static void server_is_shutting_down_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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
+ CORBA::SystemException
)) = 0;
-
+
static void find_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/operation_sh.cpp:45
-
+ // c:\cvsdoc\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,
@@ -501,37 +477,56 @@ namespace POA_ImplementationRepository
ACE_THROW_SPEC ((
CORBA::SystemException
)) = 0;
-
+
static void list_skel (
TAO_ServerRequest & server_request,
void * servant_upcall,
void * servant
ACE_ENV_ARG_DECL
);
+
+ // TAO_IDL - Generated from
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/operation_sh.cpp:45
+
+ virtual void shutdown (
+ ::CORBA::Boolean activators,
+ ::CORBA::Boolean servers
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void shutdown_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
};
-
+
///////////////////////////////////////////////////////////////////////
- // Strategized Proxy Broker Declaration
+ // Strategized Proxy Broker Declaration
//
-
+
// TAO_IDL - Generated from
- // be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/strategized_proxy_broker_sh.cpp:36
+
class TAO_IMR_Client_Export _TAO_Administration_Strategized_Proxy_Broker
: public virtual TAO::Collocation_Proxy_Broker
{
- public:
+ 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,
@@ -544,34 +539,34 @@ namespace POA_ImplementationRepository
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
+ // End Strategized Proxy Broker Declaration
///////////////////////////////////////////////////////////////////////
-
-
-
- // TAO_IDL - Generated from
- // be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
-
+
+
+
+ // TAO_IDL - Generated from
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_interface/direct_proxy_impl_sh.cpp:31
+
///////////////////////////////////////////////////////////////////////
// Direct Impl. Declaration
//
-
+
class TAO_IMR_Client_Export _TAO_Administration_Direct_Proxy_Impl
{
public:
_TAO_Administration_Direct_Proxy_Impl (void);
-
+
virtual ~_TAO_Administration_Direct_Proxy_Impl (void) {}
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
activate_server (
TAO_Abstract_ServantBase *servant,
@@ -584,12 +579,12 @@ namespace POA_ImplementationRepository
::ImplementationRepository::NotFound,
::ImplementationRepository::CannotActivate
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- register_server (
+ add_or_update_server (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -597,15 +592,14 @@ namespace POA_ImplementationRepository
)
ACE_THROW_SPEC ((
CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- reregister_server (
+ remove_server (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -613,15 +607,14 @@ namespace POA_ImplementationRepository
)
ACE_THROW_SPEC ((
CORBA::SystemException,
- ::ImplementationRepository::AlreadyRegistered,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- remove_server (
+ shutdown_server (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -631,12 +624,12 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- shutdown_server (
+ server_is_running (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -646,12 +639,12 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- server_is_running (
+ server_is_shutting_down (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -661,42 +654,40 @@ namespace POA_ImplementationRepository
CORBA::SystemException,
::ImplementationRepository::NotFound
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- server_is_shutting_down (
+ find (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
+ CORBA::SystemException
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- find (
+ list (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((
- CORBA::SystemException,
- ::ImplementationRepository::NotFound
+ CORBA::SystemException
));
-
+
// TAO_IDL - Generated from
- // be\be_visitor_operation/proxy_impl_xh.cpp:24
-
+ // c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_operation/proxy_impl_xh.cpp:24
+
static void
- list (
+ shutdown (
TAO_Abstract_ServantBase *servant,
TAO::Argument ** args,
int num_args
@@ -706,20 +697,20 @@ namespace POA_ImplementationRepository
CORBA::SystemException
));
};
-
+
//
// Direct Proxy Impl. Declaration
///////////////////////////////////////////////////////////////////////
-
-
+
+
// TAO_IDL - Generated from
-// be\be_visitor_module/module_sh.cpp:80
+// c:\cvsdoc\ace_wrappers\tao\tao_idl\be\be_visitor_module/module_sh.cpp:80
} // module ImplementationRepository
-// TAO_IDL - Generated from
-// be\be_codegen.cpp:995
+// TAO_IDL - Generated from
+// .\be\be_codegen.cpp:995
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index d9375e76fa0..e8efe0ffcf3 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -451,9 +451,10 @@ TAO_ORB_Core::init (int &argc, char *argv[] ACE_ENV_ARG_DECL)
// explicit (and the whole objref is readable by mortals).
// BEGIN COMMENTS FROM IIOP-1.4
const ACE_TCHAR *opt = current_arg;
- if (ACE_OS::strcasecmp (opt,
- ACE_TEXT("URL")) == 0)
+ if (ACE_OS::strcasecmp (opt, ACE_TEXT("URL")) == 0)
use_ior = false;
+ else if (ACE_OS::strcasecmp (opt, ACE_TEXT("IOR")) == 0)
+ use_ior = true;
arg_shifter.consume_arg ();
}