summaryrefslogtreecommitdiff
path: root/modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp')
-rw-r--r--modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp b/modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp
new file mode 100644
index 00000000000..3caf5440e9b
--- /dev/null
+++ b/modules/CIAO/tools/Config_Handlers/Dump_Obj.cpp
@@ -0,0 +1,64 @@
+// $Id$
+#include "Dump_Obj.h"
+
+ACE_RCSID (Config_Handlers,
+ Dump_Obj,
+ "$Id$")
+
+ namespace Deployment
+ {
+ // static member initialization
+ std::string Dump_Obj::indent_ = "-";
+ std::map<std::string, CORBA::Any> Dump_Obj::desc_map_;
+
+ Dump_Obj::Dump_Obj(const char* caption)
+ : desc_()
+ {
+ ACE_DEBUG ((LM_DEBUG, "%s%s:\n", indent_.c_str(), caption));
+ indent_.append(" ");
+ }
+
+
+ Dump_Obj::Dump_Obj(const char* caption,
+ CORBA::Any &val)
+ : desc_(caption)
+ {
+ ACE_DEBUG ((LM_DEBUG, "%s%s:\n",
+ indent_.c_str(),
+ caption));
+
+ indent_.append(" ");
+
+ if (desc_map_.find (std::string (caption)) != desc_map_.end())
+ {
+ ACE_DEBUG ((LM_DEBUG, "DnC_Dump.cpp:Dump_Obj - \
+The item with name %s is already in \
+the node map.\n", caption));
+ throw Node_Exist();
+ }
+ else
+ {
+ desc_map_[std::string(caption)] = val;
+ }
+ }
+
+ Dump_Obj::~Dump_Obj()
+ {
+ indent_.erase(indent_.size() - 2, 2);
+ if (desc_.size() != 0)
+ {
+ if (desc_map_.find(desc_) != desc_map_.end())
+ {
+ desc_map_.erase(desc_map_.find(desc_));
+ }
+ else
+ {
+ ACE_DEBUG ((LM_DEBUG, "DnC_Dump.cpp:Dump_Obj - \
+The item with name %s is not in the node map.\n",
+ desc_.c_str()));
+ throw Node_Not_Exist();
+ }
+ }
+ }
+
+ }