summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-21 19:04:12 +0000
committerjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-21 19:04:12 +0000
commit7ba2b753f76b0c15101d2f32d93b9324a6dd995c (patch)
treef27c74b6e4063544ba273623d65e5ed96eb42faf
parent2f7819b18553115eb5422810abd3e37e9a57e93d (diff)
downloadATCD-7ba2b753f76b0c15101d2f32d93b9324a6dd995c.tar.gz
Mon Sep 20 14:02:32 2004 Jules White <jules@dre.vanderbilt.edu>
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.cpp36
-rw-r--r--TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.h73
2 files changed, 109 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.cpp b/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.cpp
new file mode 100644
index 00000000000..268334452f3
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.cpp
@@ -0,0 +1,36 @@
+// $Id$
+
+#include "Base_Handler.h"
+
+
+namespace CIAO
+{
+ namespace Config_Handlers
+ {
+
+ Base_Handler::Base_Handler (void)
+ {
+ }
+
+ Base_Handler::~Base_Handler (void)
+ {
+ }
+
+ /// The Deployment spec references elements by
+ /// their position within their parent sequence.
+ /// These two methods allow an element's index
+ /// to be stored/retrieved.
+ void
+ Base_Handler::bind_ref (ACE_TString& id, size_t index)
+ {
+ idref_map_.bind (id,index);
+ }
+
+ int
+ Base_Handler::get_ref (ACE_TString& id, size_t val)
+ {
+ return idref_map_.find (id,val);
+ }
+
+ }
+}
diff --git a/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.h b/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.h
new file mode 100644
index 00000000000..c37be2bfa94
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Config_Handlers/Base_Handler.h
@@ -0,0 +1,73 @@
+//==============================================================
+/**
+ * @file Base_Handler.h
+ *
+ * $Id$
+ *
+ * @author Jules White <jules@dre.vanderbilt.edu>
+ */
+//================================================================
+
+#ifndef CIAO_CONFIG_HANDLERS_BASE_HANDLER_H
+#define CIAO_CONFIG_HANDLERS_BASE_HANDLER_H
+#include /**/ "ace/pre.h"
+
+#include "Config_Handlers_export.h"
+#include "Basic_Deployment_Data.hpp"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Null_Mutex.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+namespace CIAO
+{
+
+ namespace Config_Handlers
+ {
+
+ struct PlanConnectionDescription;
+
+ /*
+ * @class Base_Handler
+ *
+ * @brief base class for Type handlers.
+ *
+ *
+ *
+ */
+
+ class Config_Handlers_Export Base_Handler{
+
+ public:
+
+ typedef ACE_Hash_Map_Manager<ACE_TString, size_t, ACE_Null_Mutex> IDREF_MAP;
+
+ Base_Handler (void);
+ virtual ~Base_Handler (void);
+
+ /// The Deployment spec references elements by
+ /// their position within their parent sequence.
+ /// These two methods allow an element's index
+ /// to be stored/retrieved.
+
+ /// Map the index <index> of an element to its IDREF <id>.
+ void bind_ref (ACE_TString& id, size_t index);
+
+ /// Retrieve the index of an element with its IDREF <id>.
+ /// Returns 0 if the <id> was found.
+ int get_ref (ACE_TString& id, size_t val);
+
+ private:
+
+ /// The map used to store and look up the indexes
+ /// of elements referenced by their index.
+ IDREF_MAP idref_map_;
+
+ };
+ }
+}
+
+#include /**/ "ace/post.h"
+#endif /* CIAO_CONFIG_HANDLERS_BASE_HANDLER_H*/