summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-10 19:02:06 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-08-10 19:02:06 +0000
commit3a49f31bcdf1bb4f54dd8a1f9cfe4c8146efc2b1 (patch)
treea0f362f19e31b67d73767368614f896bf8d09066
parent20afe55c08a11a09e2faee538b27d77790b7f6ba (diff)
downloadATCD-3a49f31bcdf1bb4f54dd8a1f9cfe4c8146efc2b1.tar.gz
*** empty log message ***
-rw-r--r--TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp7
-rw-r--r--TAO/CIAO/tools/ChangeLog76
-rw-r--r--TAO/CIAO/tools/RTComponentServer/ChangeLog46
-rw-r--r--TAO/CIAO/tools/RTComponentServer/RTComponentServer.mpc5
-rw-r--r--TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.cpp1
-rw-r--r--TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.h2
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp92
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h19
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl3
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h21
-rw-r--r--TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl24
-rw-r--r--TAO/CIAO/tools/XML_Helpers/RTConfiguration.idl (renamed from TAO/CIAO/tools/RTComponentServer/RTConfiguration.idl)0
-rw-r--r--TAO/CIAO/tools/XML_Helpers/RTConfiguration_Stubs.cpp4
-rw-r--r--TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc9
14 files changed, 242 insertions, 67 deletions
diff --git a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp
index 93ef3894e69..9f56fdffdab 100644
--- a/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp
+++ b/TAO/CIAO/tools/Assembly_Deployer/Assembly_Visitors.cpp
@@ -42,8 +42,6 @@ CIAO::Assembly_Builder_Visitor::visit_hostcollocation
{
ACE_DEBUG ((LM_DEBUG, "hostcollocation %s\n", hc->id ()));
-
-
CIAO::Assembly_Placement::Container::ITERATOR iter (*hc);
CIAO::Assembly_Placement::Node *node = 0;
@@ -84,7 +82,7 @@ CIAO::Assembly_Builder_Visitor::visit_processcollocation
-1);
Components::ConfigValues server_config;
- // @@ Nothing to config yet.
+ // @@ check for RTCAD file, parse the file, and insert the thing in server_config.
if (endpos != ACE_CString::npos)
{
@@ -167,6 +165,9 @@ CIAO::Assembly_Builder_Visitor::visit_homeplacement
item->value () <<= CORBA::string_dup (info.servant_entrypt_.c_str ());
home_config[1] = item;
+ // How do I get a customized container here, if we named a
+ // RTpolicy_Set for this home placement?
+
Components::Deployment::Container_var container
= this->get_current_container (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (-1);
diff --git a/TAO/CIAO/tools/ChangeLog b/TAO/CIAO/tools/ChangeLog
new file mode 100644
index 00000000000..582e0e98033
--- /dev/null
+++ b/TAO/CIAO/tools/ChangeLog
@@ -0,0 +1,76 @@
+Sun Aug 10 13:50:15 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/RTConfiguration.idl:
+ * tools/RTComponentServer/RTConfigurationClient.cpp:
+ * tools/RTComponentServer/RTComponentServer.mpc: Removed
+ RTConfiguration.idl and the stub wrapper
+ RTConfigurationClient.cpp. They have been moved to XML_Helpers
+ library.
+
+ * tools/RTComponentServer/RTConfig_Manager.h:
+ * tools/RTComponentServer/RTConfig_Manager.cpp: Changed to include
+ RTConfigurationC.h from XML_Helpers subdir and make sure
+ RTCORBA.h is included before RTConfigurationC.h.
+
+ * tools/XML_Helpers/XMLHelpers.mpc:
+ * tools/XML_Helpers/RTConfiguration.idl:
+ * tools/XML_Helpers/RTConfiguration_Stubs.cpp: Added
+ RTConfiguration info and its wrapper cpp file. This wrapper cpp
+ file is used to ensure that RTCORBA.h is included before
+ RTConfigurationC.h.
+
+ * tools/XML_Helpers/Assembly_Handlers.cpp:
+ * tools/XML_Helpers/Assembly_Handlers.h:
+ * tools/XML_Helpers/Assembly_Handlers.inl:
+ * tools/XML_Helpers/Assembly_Spec.h:
+ * tools/XML_Helpers/Assembly_Spec.inl: Extended to parse and store
+ <extension> information in <processcollocation> and
+ <homeplacement>.
+
+Wed Aug 06 17:02:02 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/RTConfig_Manager.h:
+ * tools/RTComponentServer/RTConfig_Manager.cpp: Added support for
+ keeping PriorityBands information.
+
+Sun Aug 3 23:12:20 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/RTConfig_Manager.cpp: Fixed mismatched
+ throw specifications. Added inclusion of "ace/SString.h" as ACE
+ now only includes "ace/SStringfwd.h".
+
+Sun Aug 03 00:45:59 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/RTConfig_Manager.cpp: Fixed some
+ accidental pastings of code.
+
+Fri Aug 01 13:50:34 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/RTComponentServer.mpc:
+ * tools/RTComponentServer/RTConfig_Manager.cpp:
+ * tools/RTComponentServer/RTConfig_Manager.h:
+ * tools/RTComponentServer/RTConfig_Manager.inl:
+ * tools/RTComponentServer/RTConfiguration.idl: Added code for
+ managing named collection of RTCORBA related policies.
+
+Sun Jul 06 21:37:22 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/ComponentServer_Task.cpp (svc): Changed
+ to take advantage of CIAO::Activator_Callback interface change
+ for getting back our own ConfigValues. We will need to use
+ these configuration values in the future.
+
+Sun Jul 06 11:50:48 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tools/RTComponentServer/ComponentServer_Task.cpp:
+ * tools/RTComponentServer/ComponentServer_Task.h:
+ * tools/RTComponentServer/ComponentServer_Task.inl:
+ * tools/RTComponentServer/README:
+ * tools/RTComponentServer/RTComponentServer.cpp:
+ * tools/RTComponentServer/RTComponentServer.mpc: Added the
+ skeleton of RTComponentServer.
+
+Sun Jul 06 11:33:55 2003 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * Added: this temporary ChangeLog file for changes within the
+ RTComponentServer.
diff --git a/TAO/CIAO/tools/RTComponentServer/ChangeLog b/TAO/CIAO/tools/RTComponentServer/ChangeLog
deleted file mode 100644
index 665c1b0e3df..00000000000
--- a/TAO/CIAO/tools/RTComponentServer/ChangeLog
+++ /dev/null
@@ -1,46 +0,0 @@
-Wed Aug 06 17:02:02 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * RTConfig_Manager.h:
- * RTConfig_Manager.cpp: Added support for keeping PriorityBands
- information.
-
-Sun Aug 3 23:12:20 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * RTConfig_Manager.cpp: Fixed mismatched throw specifications.
- Added inclusion of "ace/SString.h" as ACE now only includes
- "ace/SStringfwd.h".
-
-Sun Aug 03 00:45:59 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * RTConfig_Manager.cpp: Fixed some accidental pastings of code.
-
-Fri Aug 01 13:50:34 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/RTComponentServer/RTComponentServer.mpc:
- * tools/RTComponentServer/RTConfig_Manager.cpp:
- * tools/RTComponentServer/RTConfig_Manager.h:
- * tools/RTComponentServer/RTConfig_Manager.inl:
- * tools/RTComponentServer/RTConfiguration.idl: Added code for
- managing named collection of RTCORBA related policies.
-
-Sun Jul 06 21:37:22 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/RTComponentServer/ComponentServer_Task.cpp (svc): Changed
- to take advantage of CIAO::Activator_Callback interface change
- for getting back our own ConfigValues. We will need to use
- these configuration values in the future.
-
-Sun Jul 06 11:50:48 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * tools/RTComponentServer/ComponentServer_Task.cpp:
- * tools/RTComponentServer/ComponentServer_Task.h:
- * tools/RTComponentServer/ComponentServer_Task.inl:
- * tools/RTComponentServer/README:
- * tools/RTComponentServer/RTComponentServer.cpp:
- * tools/RTComponentServer/RTComponentServer.mpc: Added the
- skeleton of RTComponentServer.
-
-Sun Jul 06 11:33:55 2003 Nanbor Wang <nanbor@cs.wustl.edu>
-
- * Added: this temporary ChangeLog file for changes within the
- RTComponentServer.
diff --git a/TAO/CIAO/tools/RTComponentServer/RTComponentServer.mpc b/TAO/CIAO/tools/RTComponentServer/RTComponentServer.mpc
index 333506ec65d..c0365fac762 100644
--- a/TAO/CIAO/tools/RTComponentServer/RTComponentServer.mpc
+++ b/TAO/CIAO/tools/RTComponentServer/RTComponentServer.mpc
@@ -4,12 +4,7 @@ project(RTComponentServer): ciao_server,rt_server {
exename = RTComponentServer
- IDL_Files {
- RTConfiguration.idl
- }
-
Source_Files {
- RTConfigurationC.cpp
ComponentServer_Task.cpp
RTComponentServer.cpp
RTConfig_Manager.cpp
diff --git a/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.cpp b/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.cpp
index dd53bf91491..eff557cee32 100644
--- a/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.cpp
+++ b/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.cpp
@@ -1,5 +1,6 @@
// $Id$
+#include "tao/RTCORBA/RTCORBA.h"
#include "RTConfig_Manager.h"
#include "ace/SString.h"
diff --git a/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.h b/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.h
index 2d7eaddcad2..f41a6cdd94f 100644
--- a/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.h
+++ b/TAO/CIAO/tools/RTComponentServer/RTConfig_Manager.h
@@ -24,7 +24,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "RTConfigurationC.h"
+#include "../XML_Helpers/RTConfigurationC.h"
namespace CIAO
{
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp
index 9b20004765d..9714e9dc4ac 100644
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp
+++ b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.cpp
@@ -9,7 +9,7 @@
void
CIAO::Assembly_Handler::characters (const ACEXML_Char *,
int ,
- int
+ int
ACEXML_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((ACEXML_SAXException))
{
@@ -356,7 +356,14 @@ CIAO::Partitioning_Handler::endElement (const ACEXML_Char *namespaceURI,
}
else if (ACE_OS::strcmp (qName, "extension") == 0)
{
- // Do nothing for now.
+ if (this->process_collocation_ != 0 &&
+ this->ext_type_ == CAT_FILE_NAME)
+ this->process_collocation_->rtcad_filename (this->characters_.c_str ());
+ else
+ ACEXML_THROW (ACEXML_SAXException
+ (ACE_TEXT ("Invalid \"extension\" type encountered.\n")));
+
+ this->ext_type_ = INVALID_EXT;
}
else if (ACE_OS::strcmp (qName, "destination") == 0)
{
@@ -390,6 +397,15 @@ CIAO::Partitioning_Handler::endElement (const ACEXML_Char *namespaceURI,
{
this->home_placement_->destination (this->characters_.c_str ());
}
+ else if (ACE_OS::strcmp (qName, "extension") == 0)
+ {
+ if (this->ext_type_ == RTPOLICYSET_NAME)
+ this->home_placement_->rtpolicyset_ref (this->characters_.c_str ());
+ else
+ ACEXML_THROW (ACEXML_SAXException
+ (ACE_TEXT ("Invalid \"extension\" type encountered.\n")));
+ this->ext_type_ = INVALID_EXT;
+ }
else if (ACE_OS::strcmp (qName, "usagename") == 0)
{
this->home_placement_->usagename (this->characters_.c_str ());
@@ -504,15 +520,24 @@ CIAO::Partitioning_Handler::startElement (const ACEXML_Char *namespaceURI,
("Internal error, no memory."));
ACEXML_CHECK;
}
- else if (ACE_OS::strcmp (qName, "executableplacement") == 0)
+ else if (ACE_OS::strcmp (qName, "extension") == 0)
{
- ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("\"executableplacement\" is not yet supported.")));
+ if (this->process_collocation_ != 0) // can only handle extension in
+ // processcollocation element for now
+ {
+ EXT_Types type = this->get_extension_info (atts
+ ACEXML_ENV_ARG_PARAMETER);
+ if (type == CAT_FILE_NAME)
+ this->ext_type_ = type;
+ }
+ else // Should we throw an exception here?
+ ACEXML_THROW (ACEXML_SAXException
+ (ACE_TEXT ("\"extension\" is not yet supported.")));
}
- else if (ACE_OS::strcmp (qName, "extension") == 0)
+ else if (ACE_OS::strcmp (qName, "executableplacement") == 0)
{
ACEXML_THROW (ACEXML_SAXException
- (ACE_TEXT ("\"extension\" is not yet supported.")));
+ (ACE_TEXT ("\"executableplacement\" is not yet supported.")));
}
else if (ACE_OS::strcmp (qName, "partitioning") == 0 ||
ACE_OS::strcmp (qName, "destination") == 0)
@@ -573,6 +598,14 @@ CIAO::Partitioning_Handler::startElement (const ACEXML_Char *namespaceURI,
reg_info.name_ = name;
this->home_placement_->register_info_.enqueue_tail (reg_info);
}
+ else if (ACE_OS::strcmp (qName, "extension") == 0)
+ {
+ EXT_Types type = this->get_extension_info (atts
+ ACEXML_ENV_ARG_PARAMETER);
+ if (type == RTPOLICYSET_NAME)
+ this->ext_type_ = type;
+
+ }
// @@ Ignore the rest of element in home placement for now.
break;
@@ -618,6 +651,49 @@ CIAO::Partitioning_Handler::startElement (const ACEXML_Char *namespaceURI,
}
+CIAO::Partitioning_Handler::EXT_Types
+CIAO::Partitioning_Handler::get_extension_info (ACEXML_Attributes *atts
+ ACEXML_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((ACEXML_SAXException))
+{
+ int ciao_ext = 0;
+ EXT_Types retv = INVALID_EXT;
+
+ for (size_t i = 0; i < atts->getLength (); ++i)
+ {
+ if (ACE_OS_String::strcmp (atts->getQName (i), "class") == 0)
+ {
+ if (ACE_OS::strcmp (atts->getValue (i), "RT-CAD-EXT") == 0)
+ retv = CAT_FILE_NAME;
+ else if (ACE_OS::strcmp (atts->getValue (i), "RT-POLICY-SET") == 0)
+ retv = RTPOLICYSET_NAME;
+ // Do nothing if no match is found. We are not obliged to
+ // handle unknown extension.
+ }
+ else if (ACE_OS_String::strcmp (atts->getQName (i), "origin") == 0)
+ {
+ if (ACE_OS_String::strcmp (atts->getValue (i), "CIAO") == 0)
+ ciao_ext = 1; // This is indeed a CIAO extension.
+ }
+ else if (ACE_OS_String::strcmp (atts->getQName (i), "id") == 0)
+ {
+ }
+ else if (ACE_OS_String::strcmp (atts->getQName (i), "extra") == 0)
+ {
+ // Do nothing. We don't handle this case.
+ }
+ else if (ACE_OS_String::strcmp (atts->getQName (i), "html-form") == 0)
+ {
+ // Do nothing. We don't handle this case.
+ }
+ else
+ ACEXML_THROW
+ (ACEXML_SAXException
+ ("Invalid attributes encounter while parsing \"extension\""));
+ }
+
+ return (ciao_ext == 0 ? INVALID_EXT : retv);
+}
// =================================================================
void
@@ -919,6 +995,6 @@ CIAO::Connections_Handler::reset_info (ACEXML_Attributes *atts
else
ACEXML_THROW
(ACEXML_SAXException
- ("Invalid tag encounter while parsing \"componentfiles\""));
+ ("Invalid attribute encounter while parsing \"componentfiles\""));
}
}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h
index 895ac56bbfb..1ec888eb1a2 100644
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h
+++ b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.h
@@ -154,7 +154,6 @@ namespace CIAO
class Partitioning_Handler : public CIAO::XMLHelpers::Cascadable_DocHandler
{
public:
- // @@ Do we need PH_States?
enum PH_States
{
START,
@@ -168,6 +167,14 @@ namespace CIAO
DESTINATION
};
+ /// Types of <extension tags>
+ enum EXT_Types
+ {
+ CAT_FILE_NAME,
+ RTPOLICYSET_NAME,
+ INVALID_EXT
+ };
+
/// Constructor.
Partitioning_Handler (Assembly_Spec *spec,
ACEXML_XMLReader *parser,
@@ -211,6 +218,12 @@ namespace CIAO
ACE_THROW_SPEC ((ACEXML_SAXException)) ;
protected:
+ /// Examine the "extension" attributes and return the type of the
+ /// extension if it's something we know how to handle.
+ EXT_Types get_extension_info (ACEXML_Attributes *atts
+ ACEXML_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((ACEXML_SAXException)) ;
+
long element_count_;
Assembly_Spec *context_;
@@ -230,8 +243,12 @@ namespace CIAO
// State of this partitioning handler.
PH_States state_;
+ /// Holding the PCDATA.
ACE_CString characters_;
+ /// Trace the type of extension element we are dealing with.
+ EXT_Types ext_type_;
+
/// Temporary holder when building registration information
Assembly_Placement::componentinstantiation::Register_Info comp_register_info_;
};
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl
index 32c53b4af5b..994aacfd626 100644
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl
+++ b/TAO/CIAO/tools/XML_Helpers/Assembly_Handlers.inl
@@ -77,7 +77,8 @@ CIAO::Partitioning_Handler::Partitioning_Handler (Assembly_Spec *spec,
process_collocation_ (0),
home_placement_ (0),
comp_instance_ (0),
- state_ (START)
+ state_ (START),
+ ext_type_ (INVALID_EXT)
{
}
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h
index faa0c1cb339..4ae27ed7cc7 100644
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h
+++ b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.h
@@ -204,6 +204,8 @@ namespace CIAO
/** Accessor/mutator functions */
void componentfileref (const char *file);
const char *componentfileref (void) const;
+ void rtpolicyset_ref (const char *file);
+ const char *rtpolicyset_ref (void) const;
//@}
ACE_Unbounded_Queue <Register_Info> register_info_;
@@ -211,6 +213,9 @@ namespace CIAO
protected:
// idref to component implementation file.
ACE_CString componentfileref_;
+
+ // idref to the name of RTPolicySet
+ ACE_CString rtpolicyset_ref_;
};
/**
@@ -233,7 +238,7 @@ namespace CIAO
};
/**
- * @class hostcollocation
+ * @class processcollocation
*/
class CIAO_XML_HELPERS_Export processcollocation
: public Container
@@ -248,7 +253,21 @@ namespace CIAO
virtual ~processcollocation ();
+ //@{
+ /** Accessor/mutator functions */
+ void rtcad_filename (const char *file);
+ const char *rtcad_filename (void) const;
+ //@}
+
protected:
+ /**
+ * Filename of CIAO's RT cad extension descriptors. We are
+ * deferring the parsing of this file until deployment time.
+ * Why? Because we want to separate the handling of the
+ * extension file from the "standard" feature. This filename is
+ * specified in the <extension> tag.
+ */
+ ACE_CString rtcad_filename_;
};
/**
diff --git a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl
index 711fd5816ed..7a984378acf 100644
--- a/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl
+++ b/TAO/CIAO/tools/XML_Helpers/Assembly_Spec.inl
@@ -88,6 +88,18 @@ CIAO::Assembly_Placement::homeplacement::componentfileref (const char *ref)
this->componentfileref_ = ref;
}
+ACE_INLINE const char *
+CIAO::Assembly_Placement::homeplacement::rtpolicyset_ref (void) const
+{
+ return this->rtpolicyset_ref_.c_str ();
+}
+
+ACE_INLINE void
+CIAO::Assembly_Placement::homeplacement::rtpolicyset_ref (const char *ref)
+{
+ this->rtpolicyset_ref_ = ref;
+}
+
// ================================================================
ACE_INLINE
@@ -106,6 +118,18 @@ CIAO::Assembly_Placement::processcollocation::processcollocation (const char *id
{
}
+ACE_INLINE void
+CIAO::Assembly_Placement::processcollocation::rtcad_filename (const char *fn)
+{
+ this->rtcad_filename_ = fn;
+}
+
+ACE_INLINE const char *
+CIAO::Assembly_Placement::processcollocation::rtcad_filename () const
+{
+ return this->rtcad_filename_.c_str ();
+}
+
// ================================================================
ACE_INLINE
diff --git a/TAO/CIAO/tools/RTComponentServer/RTConfiguration.idl b/TAO/CIAO/tools/XML_Helpers/RTConfiguration.idl
index c2462580797..c2462580797 100644
--- a/TAO/CIAO/tools/RTComponentServer/RTConfiguration.idl
+++ b/TAO/CIAO/tools/XML_Helpers/RTConfiguration.idl
diff --git a/TAO/CIAO/tools/XML_Helpers/RTConfiguration_Stubs.cpp b/TAO/CIAO/tools/XML_Helpers/RTConfiguration_Stubs.cpp
new file mode 100644
index 00000000000..d8fe52b47cf
--- /dev/null
+++ b/TAO/CIAO/tools/XML_Helpers/RTConfiguration_Stubs.cpp
@@ -0,0 +1,4 @@
+// $Id$
+
+#include "tao/RTCORBA/RTCORBA.h"
+#include "RTConfigurationC.cpp"
diff --git a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc b/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
index 5699408b442..9c28a490be9 100644
--- a/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
+++ b/TAO/CIAO/tools/XML_Helpers/XMLHelpers.mpc
@@ -1,8 +1,15 @@
-project(XML_Helpers): acelib, acexml {
+project(XML_Helpers): acelib, acexml, rtcorba {
sharedname=CIAO_XML_Helpers
+ idlflags += -Wb,export_include=XML_Helpers_Export.h
+ idlflags += -Wb,export_macro=CIAO_XML_HELPERS_Export
dynamicflags += CIAO_XML_HELPERS_BUILD_DLL
+ IDL_Files {
+ RTConfiguration.idl
+ }
+
Source_Files {
+ RTConfiguration_Stubs.cpp
XML_Utils.cpp
Softpkg_Handlers.cpp
Cascadable_DocHandler.cpp