summaryrefslogtreecommitdiff
path: root/modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp')
-rw-r--r--modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp b/modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp
new file mode 100644
index 00000000000..eece0a3f09a
--- /dev/null
+++ b/modules/CIAO/DAnCE/Config_Handlers/ERE_Handler.cpp
@@ -0,0 +1,61 @@
+// $Id$
+
+#include "ERE_Handler.h"
+#include "Basic_Deployment_Data.hpp"
+#include "DAnCE/Deployment/Deployment_DataC.h"
+#include "DAnCE/Logger/Log_Macros.h"
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+ void
+ ERE_Handler::external_ref_endpoints (
+ const PlanConnectionDescription &src,
+ Deployment::ExternalReferenceEndpoints &dest)
+ {
+ DANCE_TRACE("ERE_Handler::external_ref_endpoints");
+ PlanConnectionDescription::externalReference_const_iterator erep_e =
+ src.end_externalReference ();
+
+ CORBA::ULong pos = 0;
+ dest.length (src.count_externalReference ());
+ for (PlanConnectionDescription::externalReference_const_iterator erep_b =
+ src.begin_externalReference ();
+ erep_b != erep_e;
+ ++erep_b)
+ {
+ ERE_Handler::handle_external_ref_endpoint (*(*erep_b),
+ dest[pos++]);
+ }
+ }
+
+ void
+ ERE_Handler::handle_external_ref_endpoint (
+ const ExternalReferenceEndpoint &src,
+ Deployment::ExternalReferenceEndpoint &dest)
+ {
+ DANCE_TRACE("ERE_Handler::external_ref_endpoint");
+ dest.location = ACE_TEXT_ALWAYS_CHAR ( src.location ().c_str ());
+ dest.provider = src.provider ();
+ if (src.portName_p ())
+ dest.portName = ACE_TEXT_ALWAYS_CHAR ( src.portName ().c_str ());
+ dest.supportedType.length (src.count_supportedType ());
+ std::for_each (src.begin_supportedType (),
+ src.end_supportedType (),
+ String_Seq_Functor (dest.supportedType));
+ }
+
+ ExternalReferenceEndpoint
+ ERE_Handler::external_ref_endpoint (
+ const Deployment::ExternalReferenceEndpoint& src)
+ {
+ DANCE_TRACE("ERE_Handler::external_ref_endpoint - reverse");
+ XMLSchema::string< ACE_TCHAR > loc (ACE_TEXT_CHAR_TO_TCHAR (src.location));
+ // XMLSchema::string< char > provider ((src.provider));
+ XMLSchema::string< ACE_TCHAR > pn (ACE_TEXT_CHAR_TO_TCHAR (src.portName));
+ // XMLSchema::string< char > st ((src.supportedType));
+ ExternalReferenceEndpoint erp (loc, src.provider);
+ return erp;
+ }
+ }
+}