summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h')
-rw-r--r--TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h b/TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h
new file mode 100644
index 00000000000..a3667376589
--- /dev/null
+++ b/TAO/CIAO/DAnCE/Old_Config_Handlers/Dump_Obj.h
@@ -0,0 +1,76 @@
+//==================================================================
+/**
+ * @file Dump_Obj.h
+ *
+ * $Id$
+ *
+ * @author Gan Deng <gan.deng@vanderbilt.edu>
+ */
+//=====================================================================
+
+#ifndef CIAO_DUMP_OBJ_H
+#define CIAO_DUMP_OBJ_H
+#include /**/ "ace/pre.h"
+
+#include "ciao/DeploymentC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "Config_Handler_export.h"
+#include <string>
+#include <map>
+
+namespace Deployment
+{
+ /*
+ * @brief class Dump_Obj handles the indentation and keeps a map of
+ * structures for reference look-up.
+ */
+ class Config_Handler_Export Dump_Obj
+ {
+ public:
+ /// Exception thrown when there is a node with the same name in the
+ /// map
+ class Node_Exist { };
+
+ /// Exception thrown when there is no node with the name given in
+ /// the map
+ class Node_Not_Exist { };
+
+ /// Constructors prints out the caption and increases indent
+ Dump_Obj (const char *caption);
+
+ /// Additionally insets <val> into the map
+ Dump_Obj (const char* caption,
+ CORBA::Any &val);
+
+ // Destructor
+ ~Dump_Obj (void);
+ // return the indent string
+ static const char* indent()
+ {
+ return indent_.c_str();
+ }
+
+ static CORBA::Any& desc(const char* caption)
+ {
+ return desc_map_[caption];
+ }
+
+ private:
+ // indent string
+ static std::string indent_;
+
+ // map for reference lookup
+ static std::map<std::string, CORBA::Any> desc_map_;
+
+ // descriptor - used by destructor for deleting the
+ // correct descriptor from the map
+ std::string desc_;
+ };
+}
+
+#include /**/ "ace/post.h"
+#endif /*CIAO_DUMP_OBJ_H*/