00001 #ifndef DEBUG_BRIDGE_H 00002 #define DEBUG_BRIDGE_H 00003 00004 #include <iostream> 00005 #include <string> 00006 #include <Atlas/Bridge.h> 00007 00008 class DebugBridge : public Atlas::Bridge 00009 { 00010 public: 00011 00012 DebugBridge() 00013 { 00014 padding = ""; 00015 } 00016 00017 virtual ~DebugBridge() { } 00018 00019 virtual void streamBegin() { 00020 std::cout << padding << "streamBegin" << std::endl; 00021 addPadding(); 00022 } 00023 virtual void streamMessage() { 00024 std::cout << padding << "New Map" << std::endl; 00025 addPadding(); 00026 } 00027 virtual void streamEnd() { 00028 removePadding(); 00029 std::cout << padding << "streamEnd" << std::endl; 00030 } 00031 00032 virtual void mapMapItem(const std::string& name) 00033 { 00034 std::cout << padding << name << " -> New Map" << std::endl; 00035 addPadding(); 00036 } 00037 virtual void mapListItem(const std::string& name) 00038 { 00039 std::cout << padding << name << " -> New List" << std::endl; 00040 addPadding(); 00041 } 00042 virtual void mapIntItem(const std::string& name, long i) 00043 { 00044 std::cout << padding << name << " -> Int: " << i << std::endl; 00045 } 00046 virtual void mapFloatItem(const std::string& name, double d) 00047 { 00048 std::cout << padding << name << " -> Float: " << d << std::endl; 00049 } 00050 virtual void mapStringItem(const std::string& name, const std::string& s) 00051 { 00052 std::cout << padding << name << " -> String: " << s << std::endl; 00053 } 00054 virtual void mapEnd() 00055 { 00056 removePadding(); 00057 std::cout << padding << "mapEnd" << std::endl; 00058 } 00059 00060 virtual void listMapItem() 00061 { 00062 std::cout << padding << "New Map" << std::endl; 00063 addPadding(); 00064 } 00065 virtual void listListItem() 00066 { 00067 std::cout << padding << "New List" << std::endl; 00068 addPadding(); 00069 } 00070 virtual void listIntItem(long i) 00071 { 00072 std::cout << padding << "Int: " << i << std::endl; 00073 } 00074 virtual void listFloatItem(double d) 00075 { 00076 std::cout << padding << "Float: " << d << std::endl; 00077 } 00078 virtual void listStringItem(const std::string& s) 00079 { 00080 std::cout << padding << "String: " << s << std::endl; 00081 } 00082 virtual void listEnd() 00083 { 00084 removePadding(); 00085 std::cout << padding << "listEnd" << std::endl; 00086 } 00087 00088 protected: 00089 virtual void addPadding() 00090 { 00091 padding += " "; 00092 } 00093 00094 virtual void removePadding() 00095 { 00096 padding.erase(padding.end() - 2, padding.end()); 00097 } 00098 00099 std::string padding; 00100 }; 00101 00102 #endif // DEBUG_BRIDGE_H
Copyright 2000-2004 the respective authors.
This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.