summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-07-01 16:08:28 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-07-01 16:08:28 +0000
commit8d0d5a2c59db4d69e1ed51770ec3e0de18625277 (patch)
treeb39f7555d0dabbfbb2316646584dea6e4217a479
parentb1776d680f5c4294e2ca5c07cc57ef19ae1c211d (diff)
downloadATCD-8d0d5a2c59db4d69e1ed51770ec3e0de18625277.tar.gz
Thu Jul 1 11:06:42 2004 Jaiganesh B <jai@dre.vanderbilt.edu>
-rw-r--r--TAO/CIAO/ChangeLog16
-rw-r--r--TAO/CIAO/DnC/Config_Handlers/Process_Element.h76
-rw-r--r--TAO/CIAO/DnC/Config_Handlers/Process_Element.i151
-rw-r--r--TAO/CIAO/DnC/Config_Handlers/Process_Element_T.cpp (renamed from TAO/CIAO/DnC/Config_Handlers/Process_Element.tpp)131
-rw-r--r--TAO/CIAO/DnC/Config_Handlers/Process_Element_T.h90
5 files changed, 244 insertions, 220 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index a2213c7eedc..44ee2d19666 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,3 +1,19 @@
+Thu Jul 1 11:06:42 2004 Jaiganesh B <jai@dre.vanderbilt.edu>
+
+ * DnC/Config_Handlers/Process_Element_T.cpp:
+ * DnC/Config_Handlers/Process_Element_T.h:
+
+ Added the files to follow ACE coding standards.
+
+ * DnC/Config_Handlers/Process_Element.tpp:
+ * DnC/Config_Handlers/Process_Element.i:
+
+ Removed these files, as they were not following the
+ ACE standards.
+
+ The code in the above files have been moved to
+ Process_Element_T.cpp and Process_Element_T.h.
+
Thu Jul 1 10:56:28 2004 Tao Lu <lu@dre.vanderbilt.edu>
* docs/releasenotes/index.html:
diff --git a/TAO/CIAO/DnC/Config_Handlers/Process_Element.h b/TAO/CIAO/DnC/Config_Handlers/Process_Element.h
index a68631ef99c..c60c1e14b75 100644
--- a/TAO/CIAO/DnC/Config_Handlers/Process_Element.h
+++ b/TAO/CIAO/DnC/Config_Handlers/Process_Element.h
@@ -5,6 +5,7 @@
* $Id$
*
* @author Emre Turkay <turkaye@dre.vanderbilt.edu>
+ * Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
*/
//=====================================================================
@@ -65,7 +66,8 @@ typedef ACE_Hash_Map_Iterator<ACE_TString, int, ACE_Null_Mutex> REF_ITER;
typedef ACE_Hash_Map_Manager<int, ACE_TString, ACE_Null_Mutex> IDREF_MAP;
template <typename DATA>
-class Process_Function {
+class Process_Function
+{
public:
virtual void call(DOMDocument*, DOMNodeIterator*, DATA&)=0;
@@ -80,7 +82,8 @@ public:
*/
template <typename OBJ, typename DATA>
-class Process_Member_Function: public Process_Function<DATA> {
+class Process_Member_Function: public Process_Function<DATA>
+{
public:
typedef void (OBJ::*func_type) (DOMNodeIterator*, DATA&);
typedef DATA data_type;
@@ -108,11 +111,13 @@ private:
};
/*
- * Wrapper class for the process member functions which does not have DOMNodeIterator parameter
+ * Wrapper class for the process member functions which does not have
+ DOMNodeIterator parameter
*/
template <typename OBJ, typename DATA>
-class Process_Member_Function_Remote: public Process_Function<DATA> {
+class Process_Member_Function_Remote: public Process_Function<DATA>
+{
public:
typedef void (OBJ::*func_type) (DATA&);
typedef DATA data_type;
@@ -144,7 +149,8 @@ private:
*/
template <typename DATA>
-class Process_Static_Function: public Process_Function<DATA> {
+class Process_Static_Function: public Process_Function<DATA>
+{
public:
typedef void (*func_type) (DOMNodeIterator*, DATA&);
typedef DATA data_type;
@@ -163,29 +169,6 @@ private:
func_type f_;
};
-// processes sequence - not for common elements, process function is a member of "this" -
-template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
-bool
-process_sequence_local(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, OBJECT* obj, FUNCTION func);
-
-// processes sequence - not for common elements, process function is not a member of "this" -
-template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
-bool
-process_sequence_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, FUNCTION func,
- REF_MAP& id_map);
-
-// Processes sequence - common elements -
-template<typename DATA, typename SEQUENCE, typename FUNCTION>
-bool
-process_sequence_common(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, FUNCTION func,
- REF_MAP& id_map);
-
// Processes reference sequences
bool
process_reference_seq (DOMNode* node,
@@ -202,43 +185,8 @@ process_reference (DOMNode* node,
int& index,
IDREF_MAP& idref_map);
-// Process function for non-sequential elements
-template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
-bool
-process_element(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- ELEMENT& elem, OBJECT* obj, FUNCTION func,
- REF_MAP& id_map);
-
-// Process function for non-sequential non-local elements
-template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
-bool
-process_element_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- ELEMENT& elem, OBJECT* obj, FUNCTION func,
- REF_MAP& id_map);
-
-template <typename SEQUENCE, typename DATA>
-void
-process_sequential_element (DOMNode* node,
- DOMDocument* doc,
- DOMNodeIterator* iter,
- SEQUENCE& seq,
- Process_Function <DATA>* func,
- REF_MAP& id_map);
-
END_DEPLOYMENT_NAMESPACE
-#if defined (__ACE_INLINE__)
-#include "Process_Element.i"
-#endif /* __ACE_INLINE__ */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "Process_Element.tpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Process_Element.tpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+#include "Process_Element_T.h"
#endif // PROCESS_ELEMENT_H
diff --git a/TAO/CIAO/DnC/Config_Handlers/Process_Element.i b/TAO/CIAO/DnC/Config_Handlers/Process_Element.i
deleted file mode 100644
index 38271138e2f..00000000000
--- a/TAO/CIAO/DnC/Config_Handlers/Process_Element.i
+++ /dev/null
@@ -1,151 +0,0 @@
-// -*-C++-*-
-//=====================================================================
-/**
- * @file Process_Element.i
- *
- * $Id$
- *
- * @author Emre Turkay <turkaye@dre.vanderbilt.edu>
- */
-//=====================================================================
-
-#include "Process_Element.h"
-
-BEGIN_DEPLOYMENT_NAMESPACE
-
-/*
- * Process function for member functions - id_map: obj->id_map()
- */
-
-template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
-ACE_INLINE bool
-process_sequence_local(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, OBJECT* obj, FUNCTION func)
-{
- bool result = (node_name == XStr (ACE_TEXT (name)));
-
- if (result == true)
- {
- Process_Member_Function<OBJECT, DATA>
- pf(obj, func);
- process_sequential_element (node, doc, iter, seq, &pf, obj->id_map());
- }
-
- return result;
-}
-
-/*
- * Process function for member functions -
- */
-
-template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
-ACE_INLINE bool
-process_sequence_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, FUNCTION func,
- REF_MAP& id_map)
-{
- bool result = (node_name == XStr (ACE_TEXT (name)));
-
- if (result == true)
- {
- OBJECT obj (doc, iter, false);
-
- Process_Member_Function_Remote<OBJECT, DATA>
- pf(obj, func);
- process_sequential_element (node, doc, iter, seq, &pf, id_map);
- }
-
- return result;
-}
-
-/*
- * Process function for static functions
- */
-
-template<typename DATA, typename SEQUENCE, typename FUNCTION>
-ACE_INLINE bool
-process_sequence_common(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- SEQUENCE& seq, FUNCTION func,
- REF_MAP& id_map)
-{
- bool result = (node_name == XStr (ACE_TEXT (name)));
-
- if (result == true)
- {
- Process_Static_Function<DATA>
- pf(func);
- process_sequential_element (node, doc, iter, seq, &pf, id_map);
- }
-
- return result;
-}
-
-/*
- * Process function for non-sequential elements
- */
-
-template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
-ACE_INLINE bool
-process_element(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char* name,
- ELEMENT& elem, OBJECT* obj, FUNCTION func,
- REF_MAP& id_map)
-{
- bool result = (node_name == XStr (ACE_TEXT (name)));
-
- if (result == true)
- {
- if (node->hasAttributes ())
- {
- DOMNamedNodeMap* named_node_map = node->getAttributes ();
- int length = named_node_map->getLength ();
-
- Process_Member_Function<OBJECT, DATA>
- pf(obj, func);
-
- if (length == 1)
- pf(doc, iter, elem);
- else
- process_element_attributes(named_node_map, doc, iter, 0, elem, &pf, id_map);
- }
- }
-
- return result;
-}
-
-// Process function for non-sequential non-local elements
-template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
-ACE_INLINE bool
-process_element_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
- XStr& node_name, const char *name,
- ELEMENT& elem, FUNCTION func,
- REF_MAP& id_map)
-{
- bool result = (node_name == XStr (ACE_TEXT (name)));
-
- if (result == true)
- {
- OBJECT obj (iter, false);
-
- if (node->hasAttributes ())
- {
- DOMNamedNodeMap* named_node_map = node->getAttributes ();
- int length = named_node_map->getLength ();
-
- Process_Member_Function_Remote<OBJECT, DATA>
- pf(&obj, func);
-
- if (length == 1)
- pf(doc, iter, elem);
- else
- process_element_attributes(named_node_map, doc, iter, 0, elem, &pf, id_map);
- }
- }
-
- return result;
-}
-
-END_DEPLOYMENT_NAMESPACE
diff --git a/TAO/CIAO/DnC/Config_Handlers/Process_Element.tpp b/TAO/CIAO/DnC/Config_Handlers/Process_Element_T.cpp
index 4d349e7850b..486574da240 100644
--- a/TAO/CIAO/DnC/Config_Handlers/Process_Element.tpp
+++ b/TAO/CIAO/DnC/Config_Handlers/Process_Element_T.cpp
@@ -1,26 +1,147 @@
//=====================================================================
/**
- * @file Process_Element.tpp
+ * @file Process_Element_T.cpp
*
* $Id$
*
* @author Emre Turkay <turkaye@dre.vanderbilt.edu>
+ * Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
*/
//=====================================================================
-#include "Process_Element.h"
+#include "Process_Element_T.h"
#include "Config_Handlers/Config_Error_Handler.h"
#include "ace/Auto_Ptr.h"
#include "Utils.h"
#include <iostream>
#include <memory>
-#if !defined (__ACE_INLINE__)
-#include "Process_Element.i"
-#endif /* __ACE_INLINE__ */
+
BEGIN_DEPLOYMENT_NAMESPACE
class parser_error { };
+template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
+ACE_INLINE bool
+process_sequence_local(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, OBJECT* obj, FUNCTION func)
+{
+ bool result = (node_name == XStr (ACE_TEXT (name)));
+
+ if (result == true)
+ {
+ Process_Member_Function<OBJECT, DATA>
+ pf(obj, func);
+ process_sequential_element (node, doc, iter, seq, &pf, obj->id_map());
+ }
+
+ return result;
+}
+
+template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
+ACE_INLINE bool
+process_sequence_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode*
+node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, FUNCTION func,
+ REF_MAP& id_map)
+{
+ bool result = (node_name == XStr (ACE_TEXT (name)));
+
+ if (result == true)
+ {
+ OBJECT obj (doc, iter, false);
+
+ Process_Member_Function_Remote<OBJECT, DATA>
+ pf(obj, func);
+ process_sequential_element (node, doc, iter, seq, &pf, id_map);
+ }
+
+ return result;
+}
+
+template<typename DATA, typename SEQUENCE, typename FUNCTION>
+ACE_INLINE bool
+process_sequence_common(DOMDocument* doc, DOMNodeIterator* iter, DOMNode*
+node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, FUNCTION func,
+ REF_MAP& id_map)
+{
+ bool result = (node_name == XStr (ACE_TEXT (name)));
+
+ if (result == true)
+ {
+ Process_Static_Function<DATA>
+ pf(func);
+ process_sequential_element (node, doc, iter, seq, &pf, id_map);
+ }
+
+ return result;
+}
+
+template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
+ACE_INLINE bool
+process_element(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ ELEMENT& elem, OBJECT* obj, FUNCTION func,
+ REF_MAP& id_map)
+{
+ bool result = (node_name == XStr (ACE_TEXT (name)));
+
+ if (result == true)
+ {
+ if (node->hasAttributes ())
+ {
+ DOMNamedNodeMap* named_node_map = node->getAttributes ();
+ int length = named_node_map->getLength ();
+
+ Process_Member_Function<OBJECT, DATA>
+ pf(obj, func);
+
+ if (length == 1)
+ pf(doc, iter, elem);
+ else
+ process_element_attributes(named_node_map, doc, iter, 0, elem,
+&pf, id_map);
+ }
+ }
+
+ return result;
+}
+
+template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
+ACE_INLINE bool
+process_element_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char *name,
+ ELEMENT& elem, FUNCTION func,
+ REF_MAP& id_map)
+{
+ bool result = (node_name == XStr (ACE_TEXT (name)));
+
+ if (result == true)
+ {
+ OBJECT obj (iter, false);
+
+ if (node->hasAttributes ())
+ {
+ DOMNamedNodeMap* named_node_map = node->getAttributes ();
+ int length = named_node_map->getLength ();
+
+ Process_Member_Function_Remote<OBJECT, DATA>
+ pf(&obj, func);
+
+ if (length == 1)
+ pf(doc, iter, elem);
+ else
+ process_element_attributes(named_node_map, doc, iter, 0, elem,
+&pf, id_map);
+ }
+ }
+
+ return result;
+}
+
template <typename VALUE, typename DATA>
void process_element_attributes(DOMNamedNodeMap* named_node_map,
DOMDocument* doc,
diff --git a/TAO/CIAO/DnC/Config_Handlers/Process_Element_T.h b/TAO/CIAO/DnC/Config_Handlers/Process_Element_T.h
new file mode 100644
index 00000000000..693f0338a47
--- /dev/null
+++ b/TAO/CIAO/DnC/Config_Handlers/Process_Element_T.h
@@ -0,0 +1,90 @@
+//==================================================================
+/**
+ * @file Process_Element_T.h
+ *
+ * $Id$
+ *
+ * @author Emre Turkay <turkaye@dre.vanderbilt.edu>
+ * Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
+ */
+//=====================================================================
+
+#ifndef PROCESS_ELEMENT_T_H
+#define PROCESS_ELEMENT_T_H
+
+#include "Process_Element.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+BEGIN_DEPLOYMENT_NAMESPACE
+
+// processes sequence - not for common elements, process function is a
+// member of "this" -
+template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
+bool
+process_sequence_local(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, OBJECT* obj, FUNCTION func);
+
+// processes sequence - not for common elements, process function is not a
+// member of "this" -
+template<typename DATA, typename OBJECT, typename SEQUENCE, typename FUNCTION>
+bool
+process_sequence_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, FUNCTION func,
+ REF_MAP& id_map);
+
+// Processes sequence - common elements -
+template<typename DATA, typename SEQUENCE, typename FUNCTION>
+bool
+process_sequence_common(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ SEQUENCE& seq, FUNCTION func,
+ REF_MAP& id_map);
+
+// Process function for non-sequential elements
+template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
+bool
+process_element(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ ELEMENT& elem, OBJECT* obj, FUNCTION func,
+ REF_MAP& id_map);
+
+// Process function for non-sequential non-local elements
+template<typename DATA, typename OBJECT, typename ELEMENT, typename FUNCTION>
+bool
+process_element_remote(DOMDocument* doc, DOMNodeIterator* iter, DOMNode* node,
+ XStr& node_name, const char* name,
+ ELEMENT& elem, OBJECT* obj, FUNCTION func,
+ REF_MAP& id_map);
+
+template <typename SEQUENCE, typename DATA>
+void
+process_sequential_element (DOMNode* node,
+ DOMDocument* doc,
+ DOMNodeIterator* iter,
+ SEQUENCE& seq,
+ Process_Function <DATA>* func,
+ REF_MAP& id_map);
+
+template <typename VALUE, typename DATA>
+void process_element_attributes (DOMNamedNodeMap* named_node_map,
+ DOMDocument* doc, DOMNodeIterator* iter,
+ VALUE value, DATA& data,
+ Process_Function <DATA>* func,
+ REF_MAP& id_map);
+
+END_DEPLOYMENT_NAMESPACE
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "Process_Element_T.cpp"
+#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("Process_Element_T.cpp")
+#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
+
+#endif // PROCESS_ELEMENT_H