summaryrefslogtreecommitdiff
path: root/TAO/CIAO/docs
diff options
context:
space:
mode:
authorvenkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-03-16 04:35:13 +0000
committervenkita <venkita@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-03-16 04:35:13 +0000
commit6ccbfd066a93af871e4aeada0a7105cc7c365145 (patch)
treed66dc2b3df9fba233562e630e8e8a7365ad3a43d /TAO/CIAO/docs
parentbeb2d9bc4dd151f34df997eba00b1a2fe3434482 (diff)
downloadATCD-6ccbfd066a93af871e4aeada0a7105cc7c365145.tar.gz
ChangeLogTag: 2004-03-15 Venkita Subramonian <venkita@harry.cs.wustl.edu>
Diffstat (limited to 'TAO/CIAO/docs')
-rw-r--r--TAO/CIAO/docs/index.html202
-rwxr-xr-xTAO/CIAO/docs/static_ciao_contents.html15
-rwxr-xr-xTAO/CIAO/docs/static_ciao_toc.html4
-rw-r--r--TAO/CIAO/docs/static_config_example.html737
4 files changed, 864 insertions, 94 deletions
diff --git a/TAO/CIAO/docs/index.html b/TAO/CIAO/docs/index.html
index 84a542e3185..c43fb8a5e1b 100644
--- a/TAO/CIAO/docs/index.html
+++ b/TAO/CIAO/docs/index.html
@@ -1,101 +1,133 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
+ <title>CIAO - Component-Integrated ACE ORB</title>
<!-- $Id$ -->
-<html> <head>
-<title>CIAO - Component-Integrated ACE ORB</title>
</head>
-
<body>
-<h1>CIAO - Component-Integrated ACE ORB</h1>
-<h2>Introduction</h2>
-CIAO is TAO's implementation of <a
-href="http://cgi.omg.org/cgi-bin/doc?formal/02-06-65"> CORBA Component
-Model (CCM)</a> specially optimized for distributed real-time embedded
-(DRE) systems.
+<h1>
+CIAO - Component-Integrated ACE ORB</h1>
-This page contains links to other documents and
+<h2>
+Introduction</h2>
+CIAO is TAO's implementation of <a href="http://cgi.omg.org/cgi-bin/doc?formal/02-06-65">CORBA
+Component Model (CCM)</a> specially optimized for distributed real-time
+embedded (DRE) systems. This page contains links to other documents and
resources for using <i>CIAO</i>.
+<h2>
+The CIAO Project</h2>
-<h2>The CIAO Project</h2>
<ul>
- <li>The main
- <a href="http://www.cs.wustl.edu/~nanbor/projects/CIAO/">
- CIAO project page</a>.<p>
-
- <li>Project <a href="releasenotes/index.html">Status (aka. Release
- Notes.)</a><p>
-
- <li>This <a href="new_components.html">page on implementing new
- component</a> explains all the user-defined and tool-generated
- files when implementing a component.<p>
-
- <li>A <a href="todo.html">list of things</a> that we know need to be
- done. :) <p>
-
- <li>The <a href="ConfigValues.html">Configuration Name/Value
- lists</a> lists all the configuration values that CIAO will pass
- into vaious CCM mechanisms. The information shown in this page
- is not visible to CIAO end-users, which include modeling tool
- developers. The information that matters for most users is how
- these configurations are represented in various XML
- descriptors and CIDL specifications.<p>
-</ul>
-
-<h2>CCM-defined Interface Diagrams</h2>
-
-Here is a set of UML diagrams that we use to figure out the
-relationship among all the different interfaces in CCM. You can
-browse the related part from the following list:
-
-<UL>
- <li><a href="imgs/component-basic.png"> Basic component interfaces
- </a></li>
- <li><a href="imgs/home-config.png"> Home and configuration interfaces
- </a></li>
- <li><a href="imgs/basic-container.png"> Basic container interfaces
- </a></li>
- <li><a href="imgs/extended-container.png"> Extended container
- interfaces </a></li>
- <li><a href="img/deployment.png"> Deployment and installation
- interfaces </a></li>
-</UL>
-All these diagrams are generating from the <a href="imgs/CCM.vsd">CCM.vsd
-Visio file</a> (The same file in Visio V.5 format is <a href="imgs/CCM-v5.vsd">here</a>.)
-
-<h2>CIAO part-by-part</h2>
-
-Here is a list of the major parts (I don't want to use the word "component" to confuse you :) of CIAO that a user should be aware of.
-
-<UL>
- <li><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/daemon/index.html"><strong>Daemon:</strong></a> A CIAO Daemon is the per-host Daemon process which is used to create/spawn the ComponentServer.</li>
-
- <li><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/ciao/index.html"><strong>ComponentServer:</strong></a> A ComponentServer is the center part of CIAO. It's responsible for component/home creation.</li>
+<li>
+The main <a href="http://www.cs.wustl.edu/~nanbor/projects/CIAO/">CIAO
+project page</a>.</li>
+
+<br>&nbsp;
+<p>&nbsp;
+<li>
+Project <a href="releasenotes/index.html">Status (aka. Release Notes.)</a></li>
+
+<br>&nbsp;
+<p>&nbsp;
+<li>
+This <a href="new_components.html">page on implementing new component</a>
+explains all the user-defined and tool-generated files when implementing
+a component.</li>
+
+<br>&nbsp;
+<p>&nbsp;
+<li>
+A <a href="todo.html">list of things</a> that we know need to be done.
+:)</li>
+
+<li>
+The <a href="ConfigValues.html">Configuration Name/Value lists</a> lists
+all the configuration values that CIAO will pass into vaious CCM mechanisms.
+The information shown in this page is not visible to CIAO end-users, which
+include modeling tool developers. The information that matters for most
+users is how these configurations are represented in various XML descriptors
+and CIDL specifications.</li>
+
+<br>&nbsp;
+<p>&nbsp;</ul>
+
+<h2>
+CCM-defined Interface Diagrams</h2>
+Here is a set of UML diagrams that we use to figure out the relationship
+among all the different interfaces in CCM. You can browse the related part
+from the following list:
+<ul>
+<li>
+<a href="imgs/component-basic.png">Basic component interfaces</a></li>
- <li><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html"><strong>AssemblyDeployer:</strong></a> A AssemblyDeployer is responsible for starting the Assembly process.</li>
+<li>
+<a href="imgs/home-config.png">Home and configuration interfaces</a></li>
- <li><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html"><strong>AssemblyManager:</strong></a> A AssemblyManager is the center part to do the Assembly work.</li>
-</UL>
+<li>
+<a href="imgs/basic-container.png">Basic container interfaces</a></li>
+<li>
+<a href="imgs/extended-container.png">Extended container interfaces</a></li>
-<h2>CIAO-tutorials</h2>
+<li>
+<a href="img/deployment.png">Deployment and installation interfaces</a></li>
+</ul>
+All these diagrams are generating from the <a href="imgs/CCM.vsd">CCM.vsd
+Visio file</a> (The same file in Visio V.5 format is <a href="imgs/CCM-v5.vsd">here</a>.)
+<h2>
+CIAO part-by-part</h2>
+Here is a list of the major parts (I don't want to use the word "component"
+to confuse you :) of CIAO that a user should be aware of.
+<ul>
+<li>
+<b><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/daemon/index.html">Daemon:</a></b>
+A CIAO Daemon is the per-host Daemon process which is used to create/spawn
+the ComponentServer.</li>
+
+<li>
+<b><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/ciao/index.html">ComponentServer:</a></b>
+A ComponentServer is the center part of CIAO. It's responsible for component/home
+creation.</li>
+
+<li>
+<b><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html">AssemblyDeployer:</a></b>
+A AssemblyDeployer is responsible for starting the Assembly process.</li>
+
+<li>
+<b><a href="http://www.dre.vanderbilt.edu/Doxygen/Current/html/tao/ciao/tools/assembly_deployer/index.html">AssemblyManager:</a></b>
+A AssemblyManager is the center part to do the Assembly work.</li>
+
+<li>
+<b><a href="static_ciao_index.html">Static Configurator: </a></b>The CIAO
+Static Configurator acts as a pre-processor that parses the XML descriptor
+files into intermediate representation that gets linked into the main application.
+This reduces the initialization time for an application that is statically
+built. It is mainly aimed at RTOS' like VxWorks that lacks facilities like
+shared objects or DLL.</li>
+</ul>
+<h2>
+CIAO-tutorials</h2>
We have two Hello tutorials to help the user to understand CCM/CIAO.
-
-<UL>
- <li><a href="./tutorial/Hello"><code>$(CIAO_ROOT)/docs/tutorial/Hello.</code></a> This example shows the low level infomation about CIAO Component/Component Home creation and deletion.</li>
-
- <li><a href="../examples/Hello"><code>$(CIAO_ROOT)/examples/Hello.</code></a> This example illustrates how to build a CIAO based application <a href="../examples/Hello/step-by-step.html">step-by-step</a>. There is also a detailed documentation explaining this example avalable in both <a href="http://www.dre.vanderbilt.edu/~lu/CCM/CCM_Hello_example.PDF"> PDF</a> and <a href="http://www.dre.vanderbilt.edu/~lu/CCM/CCM_Hello_example.ppt"> PowerPoint</a> format.</li>
-
-</UL>
-
-
-<!--#include virtual="/~nanbor/signature.html" -->
-<!-- <hr> -->
-<!-- <\!-- hhmts start -\-> -->
-<!-- Last modified: Mon Nov 04 07:55:22 Central Standard Time 2002 -->
-<!-- <\!-- hhmts end -\-> -->
-<!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
-</body> </html>
-
+<ul>
+<li>
+<tt><a href="tutorial/Hello">$(CIAO_ROOT)/docs/tutorial/Hello.</a></tt>
+This example shows the low level infomation about CIAO Component/Component
+Home creation and deletion.</li>
+
+<li>
+<tt><a href="../examples/Hello">$(CIAO_ROOT)/examples/Hello.</a></tt> This
+example illustrates how to build a CIAO based application <a href="../examples/Hello/step-by-step.html">step-by-step</a>.
+There is also a detailed documentation explaining this example avalable
+in both <a href="http://www.dre.vanderbilt.edu/~lu/CCM/CCM_Hello_example.PDF">PDF</a>
+and <a href="http://www.dre.vanderbilt.edu/~lu/CCM/CCM_Hello_example.ppt">PowerPoint</a>
+format.</li>
+</ul>
+<!--#include virtual="/~nanbor/signature.html" --><!-- <hr> --><!-- <\!-- hhmts start -\-> --><!-- Last modified: Mon Nov 04 07:55:22 Central Standard Time 2002 --><!-- <\!-- hhmts end -\-> --><!-- <address>Nanbor Wang &lt;nanbor@cs.wustl.edu&gt;</address> -->
+</body>
<!-- LocalWords: CCM UML vsd Visio
-->
+</html>
diff --git a/TAO/CIAO/docs/static_ciao_contents.html b/TAO/CIAO/docs/static_ciao_contents.html
index dda9a3be94c..5ee1698c08a 100755
--- a/TAO/CIAO/docs/static_ciao_contents.html
+++ b/TAO/CIAO/docs/static_ciao_contents.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Venkita Subramonian">
- <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
+ <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
<title>CIAO Static Configuration</title>
<base target="main">
<!-- $Id$ -->
@@ -57,7 +57,7 @@ them to use only the services available on the target real-time platforms.
<a NAME="currentarch"></a>2. Current CIAO Configuration Architecture</h3>
<center>
-<p><br><img SRC="imgs/ciao-dynamic1.jpg" height=462 width=774>
+<p><br><img SRC="ciao-dynamic1.jpg" height=462 width=774>
<p><b>Figure 1. Current configuration process in CIAO</b></center>
<p>The first stage of the CIAO system lifecycle occurs off-line, when component
@@ -87,7 +87,7 @@ information about the component implementations available on that endsystem
– each component UUID is mapped to a disk path for the .dll or .so file
within which a factory method for its home factory is defined.
<center>
-<p><img SRC="imgs/ciao-dynamic2.jpg" height=384 width=699>
+<p><img SRC="ciao-dynamic2.jpg" height=384 width=699>
<p><b>Figure 2. Intermediate representation of configuration information</b></center>
<p>The following steps are optional, and will only be performed if they
@@ -134,7 +134,7 @@ time (managed by the same project/Makefile processes that do the compilation)
into C++ header and source files that are then compiled and linked with
the main application.
<center>
-<p><img SRC="imgs/ciao-static1.jpg" height=523 width=800>
+<p><img SRC="ciao-static1.jpg" height=523 width=800>
<p><b>Figure 3. Static Configuration in CIAO</b></center>
<p>First, one of the generated files is a C++ header file, so that it can
@@ -148,7 +148,7 @@ Third, it declares information so that later information depends on earlier
information (<b>Figure 4</b>), and the components are directly configured
within that header file.
<center>
-<p><img SRC="imgs/ciao-static2.jpg" height=476 width=816>
+<p><img SRC="ciao-static2.jpg" height=476 width=816>
<p><b>Figure 4. All XML files are parsed offline and stored as cross-referenced
tables in Static_Assembly_Config.h</b></center>
@@ -201,7 +201,7 @@ configurations for different system modes).
<br>
<br>
<center>
-<p><img SRC="imgs/ciao-static-vs-dynamic.jpg" height=384 width=735>
+<p><img SRC="ciao-static-vs-dynamic.jpg" height=384 width=735>
<br><b>Figure 5. CIAO Dynamic vs Static Configuration</b></center>
<h3>
@@ -220,7 +220,8 @@ this file so as to include files that are not known to the static configurator.
<p><b><tt>Static_Assembly_Config.h</tt></b> - this file contains the C++
intermediate representation of all the information in the .cad, .csd and
.ssd XML files.
-<br>&nbsp;
+<p><a NAME="Example"></a><b>Example</b> - An <a href="static_config_example.html">example</a>
+run is shown using the <a href="../examples/OEP/BasicSP">BasicSP</a> scenario.
<h3>
<a NAME="futurework"></a><b>5. Future work</b></h3>
The current implementation does not have support for processing RTCORBA
diff --git a/TAO/CIAO/docs/static_ciao_toc.html b/TAO/CIAO/docs/static_ciao_toc.html
index 710276e2880..35adb51ec1c 100755
--- a/TAO/CIAO/docs/static_ciao_toc.html
+++ b/TAO/CIAO/docs/static_ciao_toc.html
@@ -18,9 +18,9 @@
Architecture</a></li>
<li><a target="main" href="static_ciao_contents.html#staticapproach">Static Configuration
Approach</a></li>
-<li><a target="main" href="static_ciao_contents.html#status">Status of CIAO Static Configuration</a></li>
+<li><a target="main" href="static_ciao_contents.html#status">Status of CIAO Static Configuration</a><br>
+<a target="main" href="static_ciao_contents.html#Example">Example</a></li>
<li><a target="main" href="static_ciao_contents.html#futurework">Future work</a></li>
</ol>
</body>
</html>
-
diff --git a/TAO/CIAO/docs/static_config_example.html b/TAO/CIAO/docs/static_config_example.html
new file mode 100644
index 00000000000..fa2a54b0854
--- /dev/null
+++ b/TAO/CIAO/docs/static_config_example.html
@@ -0,0 +1,737 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="Author" content="Venkita Subramonian">
+ <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
+ <title>BasicSP example using CIAO Static Configurator</title>
+<!-- $Id$ -->
+</head>
+<body>
+This example illustrates
+how to use the CIAO static configurator for building applications statically.
+From the <a href="../examples/OEP/BasicSP">BasicSP</a> directory do the
+following.
+<p><b><tt>> cd descriptors</tt></b>
+<br><b><tt>> $CIAO_ROOT/tools/static_configurator/Static_Assembly_Parser
+-a BasicSP.cad</tt></b>
+<p>The following files are generated -
+<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a>
+<br><a href="#Static_CCM_App.cpp">Static_CCM_App.cpp</a>
+<br><a href="#Static_CCM_App.mpc">Static_CCM_App.mpc</a>
+<p><a href="#Static_Assembly_Config.h">Static_Assembly_Config.h</a> contains
+the intermediate representation of all the parsed component and assembly
+information obtained from the XML files. <a href="#Static_CCM_App.cpp">Static_CCM_App.cpp</a>&nbsp;
+contains the main driver application. Here a runtime <a href="#static config engine">static
+configuration engine</a> is used to create containers, homes, components,
+etc and then establish necessary connections between the components. In
+the BasicSP example, an external controller&nbsp; (see <tt><a href="../examples/OEP/BasicSP/README">$CIAO_ROOT/examples/OEP/BasicSP/README</a></tt>)
+is used to start or stop a pulser. The generated main driver application
+(Static_CCM_App.cpp) is <a href="#Modified Static_CCM_App.cpp">modified</a>
+to add code to trigger the pulser object on. The generated mpc file is
+<a href="#Modified Static_CCM_App.mpc">modified</a>
+to add all other necessary files so that the application can be built statically.
+Note that the static configurator only generates only certain files in
+the mpc. These filenames are obtained from the XML descriptor files. All
+other necessary files have to be added manually as indicated.
+<p><a NAME="Static_Assembly_Config.h"></a><b><u>Static_Assembly_Config.h</u></b>
+<br><tt><font color="#3333FF">#include "Static_Assembly.h"</font></tt>
+<p><tt><font color="#3333FF">#include "CCM_ContainerC.h"</font></tt>
+<br><tt><font color="#3333FF">#include "Container_Base.h"</font></tt>
+<p><tt><font color="#3333FF">//Containers</font></tt>
+<br><tt><font color="#3333FF">CIAO::Static_Config::ContainerAttributes
+containers_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"", 0}</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">extern "C" ::Components::HomeExecutorBase_ptr
+createECHome_Impl (void);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::PortableServer::Servant createECHome_Servant</font></tt>
+<br><tt><font color="#3333FF">&nbsp; (::Components::HomeExecutorBase_ptr
+p,</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ::CIAO::Session_Container *c</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::Components::HomeExecutorBase_ptr
+createBMDeviceHome_Impl (void);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::PortableServer::Servant createBMDeviceHome_Servant</font></tt>
+<br><tt><font color="#3333FF">&nbsp; (::Components::HomeExecutorBase_ptr
+p,</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ::CIAO::Session_Container *c</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::Components::HomeExecutorBase_ptr
+createBMClosedEDHome_Impl (void);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::PortableServer::Servant createBMClosedEDHome_Servant</font></tt>
+<br><tt><font color="#3333FF">&nbsp; (::Components::HomeExecutorBase_ptr
+p,</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ::CIAO::Session_Container *c</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::Components::HomeExecutorBase_ptr
+createBMDisplayHome_Impl (void);</font></tt>
+<br><tt><font color="#3333FF">extern "C" ::PortableServer::Servant createBMDisplayHome_Servant</font></tt>
+<br><tt><font color="#3333FF">&nbsp; (::Components::HomeExecutorBase_ptr
+p,</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ::CIAO::Session_Container *c</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_ENV_ARG_DECL_WITH_DEFAULTS);</font></tt>
+<br><tt><font color="#3333FF">//Homes</font></tt>
+<br><tt><font color="#3333FF">CIAO::Static_Config::HomeAttributes homes_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_ECHome", "DCE:3148F760-F2ED-4204-A775-6B972C10E8CB",
+"createECHome_Impl", createECHome_Impl, "DCE:75309233-0E0A-4cfb-B186-3E99F69B1D40",
+"createECHome_Servant", createECHome_Servant, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMDeviceHome", "DCE:82C2B032-37F0-4315-A59F-7020D3264E4D",
+"createBMDeviceHome_Impl", createBMDeviceHome_Impl, "DCE:93D254CF-9538-44e8-BB98-AABCD134ADD3",
+"createBMDeviceHome_Servant", createBMDeviceHome_Servant, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMClosedEDHome", "DCE:8E6C468D-A39F-46b4-962B-265F1AA8D538",
+"createBMClosedEDHome_Impl", createBMClosedEDHome_Impl, "DCE:CDC06FCA-50FC-43ca-8ECC-BEFBD33FEE78",
+"createBMClosedEDHome_Servant", createBMClosedEDHome_Servant, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMDisplayHome", "DCE:8E92655E-CA07-46C8-B127-0F0872A8CC29",
+"createBMDisplayHome_Impl", createBMDisplayHome_Impl, "DCE:D7984625-8561-431d-9927-4E498B317C02",
+"createBMDisplayHome_Servant", createBMDisplayHome_Servant, 0, 0 }</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">//Components</font></tt>
+<br><tt><font color="#3333FF">CIAO::Static_Config::ComponentAttributes
+components_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_EC", 0, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMDevice", -1, -1, 1 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMClosedED", -1, -1, 2 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{"a_BMDisplay", -1, -1, 3 }</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">//Component Registrations</font></tt>
+<br><tt><font color="#3333FF">CIAO::Assembly_Placement::componentinstantiation::Register_Info
+component_registrations_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Placement::componentinstantiation::COMPONENT,
+CIAO::Assembly_Placement::componentinstantiation::IORFILE, "", "ec.ior"
+}</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">//Connections</font></tt>
+<br><tt><font color="#3333FF">CIAO::Static_Config::ConnectionAttributes
+connections_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::PUBLISHER_CONSUMER,
+"", "timeout", 0, 1, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::PUBLISHER_CONSUMER,
+"", "data_available", 3, 4, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::PUBLISHER_CONSUMER,
+"", "out_avail", 6, 7, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::INTERFACE,
+"", "datain", 9, 10, 0, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::INTERFACE,
+"", "comp_data", 12, 13, 0, 0 }</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">//Resolver Infos</font></tt>
+<br><tt><font color="#3333FF">CIAO::Static_Config::ResolveInfoAttributes
+resolvers_table_[]=</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_EC", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::CONSUMER,
+"timeout", 2, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMDevice", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMDevice", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::CONSUMER,
+"in_avail", 5, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMClosedED", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMClosedED", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::CONSUMER,
+"data_ready", 8, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMDisplay", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMClosedED", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::PROVIDER,
+"data_read", 11, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMDevice", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMDisplay", -1, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::PROVIDER,
+"dataout", 14, 0 },</font></tt>
+<br><tt><font color="#3333FF">&nbsp;{CIAO::Assembly_Connection::COMP_IDREF,
+"a_BMClosedED", -1, 0 }</font></tt>
+<br><tt><font color="#3333FF">};</font></tt>
+<p><a NAME="Static_CCM_App.cpp"></a><b><u>Static_CCM_App.cpp</u></b>
+<br><tt><font color="#3333FF">#include "ComponentServer_Impl.h"</font></tt>
+<br><tt><font color="#3333FF">#include "CIAO_ServersC.h"</font></tt>
+<br><tt><font color="#3333FF">#include "Server_init.h"</font></tt>
+<br><tt><font color="#3333FF">#include "Static_Configurator.h"</font></tt>
+<br><tt><font color="#3333FF">#include "ace/SString.h"</font></tt>
+<br><tt><font color="#3333FF">#include "ace/Get_Opt.h"</font></tt>
+<p><tt><font color="#3333FF">#include "Static_Assembly_Config.h"</font></tt>
+<p><tt><font color="#3333FF">char *ior_file_name_ = "comp_serv.ior";</font></tt>
+<p><tt><font color="#3333FF">int</font></tt>
+<br><tt><font color="#3333FF">parse_args (int argc, char *argv[])</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_Get_Opt get_opts (argc, argv,
+"k:o:");</font></tt>
+<br><tt><font color="#3333FF">&nbsp; int c;</font></tt>
+<p><tt><font color="#3333FF">&nbsp; while ((c = get_opts ()) != -1)</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; switch (c)</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'o':&nbsp;
+// get the file name to write to</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ior_file_name_
+= get_opts.opt_arg ();</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '?':&nbsp;
+// display help for use of the server.</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ERROR_RETURN ((LM_ERROR,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"usage:&nbsp; %s\n"</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"-o &lt;ior_output_file>\n"</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"\n",</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+argv [0]),</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-1);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</font></tt>
+<p><tt><font color="#3333FF">&nbsp; return 0;</font></tt>
+<br><tt><font color="#3333FF">}</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">int</font></tt>
+<br><tt><font color="#3333FF">main (int argc, char *argv[])</font></tt>
+<br><tt><font color="#3333FF">{</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_TRY_NEW_ENV</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; {</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Initialize
+orb</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::ORB_var
+orb = CORBA::ORB_init (argc,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+argv,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+0</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Server_init
+(orb.in ());</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (parse_args
+(argc, argv) != 0)</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+return -1;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get reference
+to Root POA.</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::Object_var
+obj</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= orb->resolve_initial_references ("RootPOA"</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::POA_var
+poa</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= PortableServer::POA::_narrow (obj.in ()</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Activate
+POA manager</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::POAManager_var
+mgr</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mgr->activate
+(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::ComponentServer_Impl
+*comserv_servant;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Static_Configurator
+configurator;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int containers_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (containers_table_)/sizeof(CIAO::Static_Config::ContainerAttributes);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int homes_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (homes_table_)/sizeof(CIAO::Static_Config::HomeAttributes);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int components_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (components_table_)/sizeof(CIAO::Static_Config::ComponentAttributes);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int component_registrations_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (component_registrations_table_)/sizeof(CIAO::Assembly_Placement::componentinstantiation::Register_Info);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int connections_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (connections_table_)/sizeof(CIAO::Static_Config::ConnectionAttributes);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int resolvers_table_size
+=</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+sizeof (resolvers_table_)/sizeof(CIAO::Static_Config::ResolveInfoAttributes);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::HOMECREATOR_FUNCPTR_MAP
+home_creator_fptr_map;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP
+homesvnt_creator_fptr_map;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Static_Config_EntryPoints_Maps
+maps;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maps.home_creator_funcptr_map_
+= &amp;home_creator_fptr_map;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maps.home_servant_creator_funcptr_map_
+= &amp;homesvnt_creator_fptr_map;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i=0;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0;
+i&lt;homes_table_size; ++i)</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+{</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+home_creator_fptr_map.bind (homes_table_[i].executor_entrypt_,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_[i].executor_fptr_);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homesvnt_creator_fptr_map.bind (homes_table_[i].servant_entrypt_,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_[i].servant_fptr_);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+}</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_NEW_RETURN
+(comserv_servant,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CIAO::ComponentServer_Impl (orb.in (),</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+poa.in (),</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+1,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&amp;maps),</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-1);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::ServantBase_var
+safe_servant (comserv_servant);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::ConfigValues
+configs;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comserv_servant->init
+(configs</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Configuring
+ComponentServer.</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::ObjectId_var
+cs_oid</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= poa->activate_object (comserv_servant</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj = poa->id_to_reference
+(cs_oid.in ()</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::Deployment::ComponentServer_var
+comserv_obj =</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+Components::Deployment::ComponentServer::_narrow (obj.in ()</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CORBA::is_nil
+(comserv_obj.in ()))</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ERROR_RETURN ((LM_ERROR, "Unable to activate ComponentServer object\n"),
+-1);</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::Deployment::ServerActivator_var
+activator;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::ConfigValues_var
+config = new Components::ConfigValues;</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comserv_servant->set_objref
+(activator.in (),</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+config,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+comserv_obj.in ()</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt>
+<p><a NAME="static config engine"></a><tt><font color="#FF0000">configurator.configure
+(orb.in (),</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+comserv_obj.in (),</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+containers_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+containers_table_size,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_size,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+components_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+components_table_size,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+component_registrations_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+component_registrations_table_size,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+connections_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+connections_table_size,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+resolvers_table_,</font></tt>
+<br><tt><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+resolvers_table_size);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::String_var
+str = orb->object_to_string (comserv_obj.in ()</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Utility::write_IOR
+(ior_file_name_, str.in ());</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG
+((LM_INFO, "ComponentServer IOR: %s\n", str.in ()));</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG ((LM_DEBUG,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"Running ComponentServer...\n"));</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Run the
+main event loop for the ORB.</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; }</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_CATCHANY</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; {</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_PRINT_EXCEPTION
+(ACE_ANY_EXCEPTION,</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"server::main \n");</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; }</font></tt>
+<br><tt><font color="#3333FF">&nbsp; ACE_ENDTRY;</font></tt>
+<p><tt><font color="#3333FF">&nbsp; return 0;</font></tt>
+<br><tt><font color="#3333FF">}</font></tt>
+<p><a NAME="Static_CCM_App.mpc"></a><b><u>Static_CCM_App.mpc</u></b>
+<br><tt><font color="#3333FF">project(Static_CCM_App) : ciao_server, ciao_client,
+rtcorba, rtportableserver, iortable, acexml {</font></tt>
+<br><tt><font color="#3333FF">includes += $(ACE_ROOT)/TAO/CIAO/tools/Assembly_Deployer</font></tt>
+<br><tt><font color="#3333FF">includes += $(ACE_ROOT)/TAO/CIAO/tools/static_configurator</font></tt>
+<br><tt><font color="#3333FF">libs += CIAO_XML_Helpers Static_Configurator</font></tt>
+<br><tt><font color="#3333FF">after += CIAO_XML_Helpers Static_Configurator</font></tt>
+<br>&nbsp;
+<p><tt><font color="#3333FF">libs += EC_exec</font></tt>
+<br><tt><font color="#3333FF">after += EC_exec</font></tt>
+<br><tt><font color="#3333FF">libs += EC_svnt</font></tt>
+<br><tt><font color="#3333FF">after += EC_svnt</font></tt>
+<br><tt><font color="#3333FF">libs += BMDevice_exec</font></tt>
+<br><tt><font color="#3333FF">after += BMDevice_exec</font></tt>
+<br><tt><font color="#3333FF">libs += BMDevice_svnt</font></tt>
+<br><tt><font color="#3333FF">after += BMDevice_svnt</font></tt>
+<br><tt><font color="#3333FF">libs += BMClosedED_exec</font></tt>
+<br><tt><font color="#3333FF">after += BMClosedED_exec</font></tt>
+<br><tt><font color="#3333FF">libs += BMClosedED_svnt</font></tt>
+<br><tt><font color="#3333FF">after += BMClosedED_svnt</font></tt>
+<br><tt><font color="#3333FF">libs += BMDisplay_exec</font></tt>
+<br><tt><font color="#3333FF">after += BMDisplay_exec</font></tt>
+<br><tt><font color="#3333FF">libs += BMDisplay_svnt</font></tt>
+<br><tt><font color="#3333FF">after += BMDisplay_svnt</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp; Source_Files {</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Static_CCM_App.cpp</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; }</font></tt>
+<p><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; IDL_Files {</font></tt>
+<br><tt><font color="#3333FF">&nbsp;&nbsp;&nbsp; }</font></tt>
+<br><tt><font color="#3333FF">}</font></tt>
+<p><a NAME="Modified Static_CCM_App.cpp"></a><b><u>Modified Static_CCM_App.cpp</u></b>
+<br><tt>#include "ComponentServer_Impl.h"</tt>
+<br><tt>#include "CIAO_ServersC.h"</tt>
+<br><tt>#include "Server_init.h"</tt>
+<br><tt>#include "Static_Configurator.h"</tt>
+<br><tt>#include "ace/SString.h"</tt>
+<br><tt>#include "ace/Get_Opt.h"</tt>
+<p><tt>#include "Static_Assembly_Config.h"</tt>
+<p><tt>char *ior_file_name_ = "comp_serv.ior";</tt>
+<br><b><tt><font color="#990000">int rate = 2;</font></tt></b>
+<p><tt>int</tt>
+<br><tt>parse_args (int argc, char *argv[])</tt>
+<br><tt>{</tt>
+<br><tt>&nbsp; ACE_Get_Opt get_opts (argc, argv, "k:o:");</tt>
+<br><tt>&nbsp; int c;</tt>
+<p><tt>&nbsp; while ((c = get_opts ()) != -1)</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; switch (c)</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 'o':&nbsp; // get the file
+name to write to</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ior_file_name_ = get_opts.opt_arg
+();</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '?':&nbsp; // display help for
+use of the server.</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_ERROR_RETURN ((LM_ERROR,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"usage:&nbsp; %s\n"</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"-o &lt;ior_output_file>\n"</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"\n",</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+argv [0]),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-1);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</tt>
+<p><tt>&nbsp; return 0;</tt>
+<br><tt>}</tt>
+<br>&nbsp;
+<p><tt>int</tt>
+<br><tt>main (int argc, char *argv[])</tt>
+<br><tt>{</tt>
+<br><tt>&nbsp; ACE_TRY_NEW_ENV</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Initialize orb</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::ORB_var orb = CORBA::ORB_init
+(argc,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+argv,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+0</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Server_init (orb.in ());</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (parse_args (argc, argv) != 0)</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return -1;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get reference to Root POA.</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::Object_var obj</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = orb->resolve_initial_references
+("RootPOA"</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::POA_var poa</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = PortableServer::POA::_narrow
+(obj.in ()</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Activate POA manager</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::POAManager_var mgr</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = poa->the_POAManager
+(ACE_ENV_SINGLE_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mgr->activate (ACE_ENV_SINGLE_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::ComponentServer_Impl *comserv_servant;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Static_Configurator configurator;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int containers_table_size =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (containers_table_)/sizeof(CIAO::Static_Config::ContainerAttributes);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int homes_table_size =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (homes_table_)/sizeof(CIAO::Static_Config::HomeAttributes);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int components_table_size =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (components_table_)/sizeof(CIAO::Static_Config::ComponentAttributes);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int component_registrations_table_size
+=</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (component_registrations_table_)/sizeof(CIAO::Assembly_Placement::componentinstantiation::Register_Info);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int connections_table_size =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (connections_table_)/sizeof(CIAO::Static_Config::ConnectionAttributes);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int resolvers_table_size =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sizeof (resolvers_table_)/sizeof(CIAO::Static_Config::ResolveInfoAttributes);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::HOMECREATOR_FUNCPTR_MAP home_creator_fptr_map;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::HOMESERVANTCREATOR_FUNCPTR_MAP
+homesvnt_creator_fptr_map;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Static_Config_EntryPoints_Maps
+maps;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maps.home_creator_funcptr_map_ =
+&amp;home_creator_fptr_map;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maps.home_servant_creator_funcptr_map_
+= &amp;homesvnt_creator_fptr_map;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i=0;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (i=0; i&lt;homes_table_size;
+++i)</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; home_creator_fptr_map.bind
+(homes_table_[i].executor_entrypt_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_[i].executor_fptr_);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; homesvnt_creator_fptr_map.bind
+(homes_table_[i].servant_entrypt_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_[i].servant_fptr_);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_NEW_RETURN (comserv_servant,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+CIAO::ComponentServer_Impl (orb.in (),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+poa.in (),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+1,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&amp;maps),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+-1);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::ServantBase_var safe_servant
+(comserv_servant);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::ConfigValues configs;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comserv_servant->init (configs</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Configuring ComponentServer.</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortableServer::ObjectId_var cs_oid</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = poa->activate_object
+(comserv_servant</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj = poa->id_to_reference (cs_oid.in
+()</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::Deployment::ComponentServer_var
+comserv_obj =</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::Deployment::ComponentServer::_narrow
+(obj.in ()</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CORBA::is_nil (comserv_obj.in
+()))</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_ERROR_RETURN ((LM_ERROR,
+"Unable to activate ComponentServer object\n"), -1);</tt>
+<br>&nbsp;
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::Deployment::ServerActivator_var
+activator;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Components::ConfigValues_var config
+= new Components::ConfigValues;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comserv_servant->set_objref (activator.in
+(),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+config,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+comserv_obj.in ()</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; configurator.configure (orb.in (),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+comserv_obj.in (),</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+containers_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+containers_table_size,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+homes_table_size,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+components_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+components_table_size,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+component_registrations_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+component_registrations_table_size,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+connections_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+connections_table_size,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+resolvers_table_,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+resolvers_table_size);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::String_var str = orb->object_to_string
+(comserv_obj.in ()</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CIAO::Utility::write_IOR (ior_file_name_,
+str.in ());</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG ((LM_INFO, "ComponentServer
+IOR: %s\n", str.in ()));</tt>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG ((LM_DEBUG,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"Running ComponentServer...\n"));</tt>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CORBA::Object_var
+pulser_obj</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= orb->string_to_object ("file://ec.ior"</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt></b>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BasicSP::EC_var
+pulser</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+= BasicSP::EC::_narrow (pulser_obj.in ()</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt></b>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (CORBA::is_nil
+(pulser.in ()))</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ERROR_RETURN ((LM_ERROR, "Unable to acquire 'EC' objref\n"), -1);</font></tt></b>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pulser->hertz
+(rate</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ACE_ENV_ARG_PARAMETER);</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt></b>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG
+((LM_DEBUG, "Start up the Event services\n"));</font></tt></b>
+<p><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pulser->start
+(ACE_ENV_SINGLE_ARG_PARAMETER);</font></tt></b>
+<br><b><tt><font color="#990000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK;</font></tt></b>
+<p><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Run the main event loop for the
+ORB.</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_TRY_CHECK</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; }</tt>
+<br><tt>&nbsp; ACE_CATCHANY</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+"server::main \n");</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; }</tt>
+<br><tt>&nbsp; ACE_ENDTRY;</tt>
+<p><tt>&nbsp; return 0;</tt>
+<br><tt>}</tt>
+<p><a NAME="Modified Static_CCM_App.mpc"></a><b><u>Modified Static_CCM_App.mpc</u></b>
+<br><tt>project(Static_CCM_App) : ciao_server, ciao_client, rtcorba, rtportableserver,
+iortable, acexml {</tt>
+<br><tt>includes += $(ACE_ROOT)/TAO/CIAO/tools/Assembly_Deployer</tt>
+<br><tt>includes += $(ACE_ROOT)/TAO/CIAO/tools/static_configurator</tt>
+<br><tt>libs += CIAO_XML_Helpers Static_Configurator</tt>
+<br><tt>after += CIAO_XML_Helpers Static_Configurator</tt>
+<p><b><tt><font color="#990000">libs += BasicSP_stub BasicSP_svnt</font></tt></b>
+<br><b><tt><font color="#990000">after += BasicSP_stub BasicSP_svnt</font></tt></b>
+<br><tt>libs += EC_exec</tt>
+<br><tt>after += EC_exec</tt>
+<br><tt>libs += EC_svnt <b><font color="#990000">EC_stub</font></b></tt>
+<br><tt>after += EC_svnt <b><font color="#990000">EC_stub</font></b></tt>
+<br><tt>libs += BMDevice_exec</tt>
+<br><tt>after += BMDevice_exec</tt>
+<br><tt>libs += BMDevice_svnt <b><font color="#990000">BMDevice_stub</font></b></tt>
+<br><tt>after += BMDevice_svnt <b><font color="#990000">BMDevice_stub</font></b></tt>
+<br><tt>libs += BMClosedED_exec</tt>
+<br><tt>after += BMClosedED_exec</tt>
+<br><tt>libs += BMClosedED_svnt <b><font color="#990000">BMClosedED_stub</font></b></tt>
+<br><tt>after += BMClosedED_svnt <b><font color="#990000">BMClosedED_stub</font></b></tt>
+<br><tt>libs += BMDisplay_exec</tt>
+<br><tt>after += BMDisplay_exec</tt>
+<br><tt>libs += BMDisplay_svnt <b><font color="#990000">BMDisplay_stub</font></b></tt>
+<br><tt>after += BMDisplay_svnt <b><font color="#990000">BMDisplay_stub</font></b></tt>
+<p><tt>&nbsp;&nbsp; Source_Files {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Static_CCM_App.cpp</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; }</tt>
+<p><tt>&nbsp;&nbsp;&nbsp; IDL_Files {</tt>
+<br><tt>&nbsp;&nbsp;&nbsp; }</tt>
+<br><tt>}</tt>
+<br>&nbsp;
+</body>
+</html>