summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Mesnier <mesnier_p@ociweb.com>2007-08-17 14:39:27 +0000
committerPhil Mesnier <mesnier_p@ociweb.com>2007-08-17 14:39:27 +0000
commiteb73c227aa998bc9111238551f4fd6d1e4e09681 (patch)
tree5f88cb7a4cc07ddd33b0c2327d0e3969b0054764
parentb19c129d515debb8ae58478b076db4ca9c5b071b (diff)
downloadATCD-eb73c227aa998bc9111238551f4fd6d1e4e09681.tar.gz
Fri Aug 17 14:38:15 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r--TAO/ChangeLog8
-rw-r--r--TAO/docs/Options.html16
-rw-r--r--TAO/tao/ORB.cpp9
3 files changed, 29 insertions, 4 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 7aeebeb90f2..8ebb43f5c1c 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,11 @@
+Fri Aug 17 14:38:15 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com>
+
+ * docs/Options.html:
+ Add description of the -ORBGestalt option.
+
+ * tao/ORB.cpp:
+ Fix ACE_TEXT consistency.
+
Fri Aug 17 08:24:00 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* orbsvcs/orbsvcs/CosPropertyService.idl:
diff --git a/TAO/docs/Options.html b/TAO/docs/Options.html
index fbe483bc500..f76ac046f84 100644
--- a/TAO/docs/Options.html
+++ b/TAO/docs/Options.html
@@ -264,6 +264,22 @@ options on the same command-line. </td>
side-effect of not initializing the ACE Service Configurator
framework or registering the SIGHUP signal.
</td>
+ </tr>
+ <tr>
+ <td><code>-ORBSGestalt Local|ORB:<i>orbid</i></CODE> </td>
+ <TD>Instruct the ORB to create a local configuration "gestalt" or
+ context. By default, all ORBs share a common configuration context. This
+ is defined by a Service Repository that contains service objects, such
+ as the resource factory. In some cases multiple ORBs may be dynamically
+ loaded and as such may wish to have distinct configurations. Passing the
+ <code>Local</code> argument achieves this. Service objects loaded by an
+ ORB with a local configuration context will be used by that ORB in place
+ of any default service object. The final variation is that of shared
+ contexts. Passing the argument <code>ORB:<i>orbid</i></code> will cause
+ the ORB to share the local configuration of another ORB as identified with
+ the supplied id. <i>The shared context feature is not yet implemented.</i>
+ </td>
+ </tr>
</tbody>
</table>
</p>
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index 370ae906eef..df76fb3cdb5 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -1220,10 +1220,12 @@ CORBA::ORB_init (int &argc, char *argv[], const char *orbid)
ACE_TEXT("-ORBGestalt"),
orbconfig_string))
{
+ const ACE_TCHAR *arg = ACE_TEXT_CHAR_TO_TCHAR(orbconfig_string.c_str ());
+ const ACE_TCHAR *local = ACE_TEXT("LOCAL");
+ const ACE_TCHAR *shared = ACE_TEXT("ORB:");
// Need a local repo? Make one which typically should not be as
// big as the default repository
- if (ACE_OS::strcasecmp (orbconfig_string.c_str (),
- ACE_TEXT("LOCAL")) == 0)
+ if (ACE_OS::strcasecmp (arg,local) == 0)
{
ACE_NEW_THROW_EX (gestalt,
ACE_Service_Gestalt
@@ -1234,8 +1236,7 @@ CORBA::ORB_init (int &argc, char *argv[], const char *orbid)
CORBA::COMPLETED_NO));
guard_gestalt.reset(gestalt);
}
- else if (ACE_OS::strncmp (orbconfig_string.c_str (),
- ACE_TEXT ("ORB:"), 4) == 0)
+ else if (ACE_OS::strncmp (arg, shared, sizeof (shared) - 1) == 0)
{
// @TODO: At some point, we need to implement a lookup of an
// existing configuration context based on the orbid