summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-30 17:25:26 +0000
committerjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-30 17:25:26 +0000
commitf038c2cc16f5c0c04b146e4bd3fa48a26916e2e0 (patch)
tree2e8ee11acf0043d9ca596960f5a8d6887fd3bd90
parent91abefedff18c0b6149885e25637bb16eb67f7a2 (diff)
downloadATCD-f038c2cc16f5c0c04b146e4bd3fa48a26916e2e0.tar.gz
*** empty log message ***
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.cpp39
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.h56
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.cpp47
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.h67
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.cpp51
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.h61
6 files changed, 321 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.cpp b/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.cpp
new file mode 100644
index 00000000000..8faa9c487a4
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "ANY_Handler.h"
+
+CIAO::Config_Handlers::ANY_Handler::ANY_Handler()
+{}
+CIAO::Config_Handlers::ANY_Handler::~ANY_Handler()
+{}
+
+
+
+using CIAO::Config_Handlers;
+
+CORBA::Any&
+CIAO::Config_Handlers::ANY_Handler::get_Any(
+ CORBA::Any& toconfig, Any& desc)
+{
+
+ //Get the value that should be assigned to the Any.
+ DataValue value = desc.value();
+
+ //Here, we check each type to see if
+ //it is present. If a type is listed as
+ //present, we can assume that it is the
+ //intended value for the Any. This relieves
+ //us from the burden of having to check the
+ //type field on <desc>.
+ if(value.short_p()){
+ //what we want to do here is create
+ //a utility class that handles converting
+ //the XMLSchema::short_, etc.. classes to the
+ //equivalent Corba class.
+ }
+ if(value.long_p()){
+
+ }
+
+ return toconfig;
+}
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.h
new file mode 100644
index 00000000000..0503fa55e25
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/ANY_Handler.h
@@ -0,0 +1,56 @@
+//================================================
+/**
+ * @file ANY_Handler.h
+ *
+ * $Id$
+ *
+ * @author Jules White <jules@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef ANY_HANDLER_H
+#define ANY_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "ciao/DeploymentC.h"
+#include "Basic_Deployment_Data.hpp"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CIAO{
+
+ namespace Config_Handlers{
+
+
+ /*
+ * @class ANY_Handler
+ *
+ * @brief Handler class for <ComponentInterfaceDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC Any objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL Any type.
+ *
+ */
+
+ class ANY_Handler{
+
+ public:
+
+ ANY_Handler();
+ virtual ~ANY_Handler();
+
+ static CORBA::Any& get_Any(CORBA::Any& toconfig, Any& desc);
+
+ };
+
+ }
+
+}
+#include /**/ "ace/post.h"
+#endif /* ANY_HANDLER_H */
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.cpp b/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.cpp
new file mode 100644
index 00000000000..20440307168
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.cpp
@@ -0,0 +1,47 @@
+// $Id$
+
+#include "CID_Handler.h"
+
+CIAO::Config_Handlers::CID_Handler::CID_Handler()
+{}
+CIAO::Config_Handlers::CID_Handler::~CID_Handler()
+{}
+
+Deployment::ComponentInterfaceDescription&
+CIAO::Config_Handlers::CID_Handler::get_ComponentInterfaceDescription
+(Deployment::ComponentInterfaceDescription& toconfig,
+ ComponentInterfaceDescription& desc)
+{
+
+ toconfig.UUID =
+ CORBA::string_dup (desc.UUID().c_str());
+ toconfig.label =
+ CORBA::string_dup (desc.label().c_str());
+ toconfig.specificType =
+ CORBA::string_dup (desc.specificType().c_str());
+
+ //Copy the values of the sequence types idlFile and
+ //supporteType to the
+ //<Deployment::ComponentInterfaceDescription>.
+ if(!desc.supportedType().empty())
+ {
+ toconfig.supportedType.length(1);
+ toconfig.supportedType[0] =
+ CORBA::string_dup(desc.supportedType().c_str());
+ }
+
+ if(!desc.idlFile().empty())
+ {
+ toconfig.idlFile.length(1);
+ toconfig.idlFile[0] =
+ CORBA::string_dup(desc.idlFile().c_str());
+ }
+
+ //Create the handler for the
+ //<ComponentPortDescriptions>.
+ //CPDHandler cpd_handler();
+
+
+
+ return toconfig;
+}
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.h
new file mode 100644
index 00000000000..b272c218429
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CID_Handler.h
@@ -0,0 +1,67 @@
+//================================================
+/**
+ * @file CID_Handler.h
+ *
+ * $Id$
+ *
+ * @author Jules White <jules@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CID_HANDLER_H
+#define CID_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "ciao/DeploymentC.h"
+#include "ccd.hpp"
+#include "Basic_Deployment_Data.hpp"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CIAO{
+
+ namespace Config_Handlers{
+
+
+ /*
+ * @class CID_Handler
+ *
+ * @brief Handler class for <ComponentInterfaceDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+
+ class CID_Handler{
+
+ public:
+
+ CID_Handler();
+ virtual ~CID_Handler();
+
+ ///This method maps the values from the
+ ///XSC object <ComponentPortDescription> to
+ ///the CORBA IDL type <Deployment::ComponentPortDescription>.
+ ///It handles the creation of the Deployment::ComponentPort's,
+ ///Deployment::ComponentPortDescriptions's, and
+ ///Deployment::Properties and delegates mapping the values
+ ///from their corresponding XSC objects to their handlers.
+ Deployment::ComponentInterfaceDescription&
+ get_ComponentInterfaceDescription(
+ Deployment::ComponentInterfaceDescription& toconfig,
+ ComponentInterfaceDescription& desc);
+
+ };
+
+ }
+
+}
+#include /**/ "ace/post.h"
+#endif /* CID_HANDLER_H */
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.cpp b/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.cpp
new file mode 100644
index 00000000000..e028d5e3be1
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.cpp
@@ -0,0 +1,51 @@
+// $Id$
+
+
+#include "CPD_Handler.h"
+
+
+using CIAO::Config_Handlers;
+
+CIAO::Config_Handlers::CPD_Handler::CPD_Handler()
+{}
+CIAO::Config_Handlers::CPD_Handler::~CPD_Handler()
+{}
+
+using CIAO::Config_Handlers;
+
+///This method maps the values from the
+///XSC object <ComponentPortDescription> to
+///the CORBA IDL type <Deployment::ComponentPortDescription>.
+Deployment::ComponentPortDescription &
+CIAO::Config_Handlers::CPD_Handler::get_ComponentPortDescription(
+ Deployment::ComponentPortDescription& toconfig,
+ ComponentPortDescription& desc)
+{
+ //We make sure that a value exists for supportedType
+ //before increasing the size of the sequence.
+ if(!desc.supportedType().empty()){
+ toconfig.supportedType.length(1);
+ toconfig.supportedType[0] =
+ CORBA::string_dup(desc.supportedType().c_str());
+ }
+
+
+ toconfig.name = CORBA::string_dup(desc.name().c_str());
+
+
+ toconfig.specificType =
+ CORBA::string_dup(desc.specificType().c_str());
+
+ //The DnC spec maps these CORBA IDL booleans to
+ //strings. Therefore, we set them to true if a
+ //value was provided (they aren't an empty string)
+ //and false otherwise.
+ toconfig.provider = !desc.provider().empty();
+ toconfig.exclusiveProvider = !desc.exclusiveProvider().empty();
+ toconfig.exclusiveUser = !desc.exclusiveUser().empty();
+ toconfig.optional = !desc.optional().empty();
+
+ //Return the Deployment::ComponentPortDescription
+ return toconfig;
+
+}
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.h
new file mode 100644
index 00000000000..26aea0f81a9
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/CPD_Handler.h
@@ -0,0 +1,61 @@
+//================================================
+/**
+ * @file CPD_Handler.h
+ *
+ * $Id$
+ *
+ * @author Jules White <jules@dre.vanderbilt.edu>
+ */
+//================================================
+
+#ifndef CPD_HANDLER_H
+#define CPD_HANDLER_H
+
+#include /**/ "ace/pre.h"
+
+#include "ciao/DeploymentC.h"
+#include "Basic_Deployment_Data.hpp"
+
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+
+namespace CIAO{
+
+ namespace Config_Handlers{
+
+ /*
+ * @class CPD_Handler
+ *
+ * @brief Handler class for <CCMComponentPortDescription> types.
+ *
+ * This class defines handler methods to map values from
+ * XSC objects, parsed from the descriptor files, to the
+ * corresponding CORBA IDL type for the schema element.
+ *
+ */
+
+ class CPD_Handler{
+
+ public:
+
+ CPD_Handler();
+ virtual ~CPD_Handler();
+
+ ///This method maps the values from the
+ ///XSC object <ComponentInterfaceDescription> to
+ ///the CORBA IDL type <Deployment::ComponentInterfaceDescription>.
+ Deployment::ComponentPortDescription&
+ get_ComponentPortDescription(
+ Deployment::ComponentPortDescription& toconfig,
+ ComponentPortDescription& desc
+ );
+ };
+
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CPD_HANDLER_H */