00001 #include <Atlas/Bridge.h> 00002 00003 #include <iostream> 00004 #include <string> 00005 00006 class DebugBridge : public Atlas::Bridge 00007 { 00008 public: 00009 00010 DebugBridge() 00011 { 00012 padding = ""; 00013 } 00014 00015 virtual ~DebugBridge() { } 00016 00017 virtual void streamBegin() { 00018 std::cout << padding << "streamBegin" << std::endl; 00019 addPadding(); 00020 } 00021 virtual void streamMessage() { 00022 std::cout << padding << "New Map" << std::endl; 00023 addPadding(); 00024 } 00025 virtual void streamEnd() { 00026 removePadding(); 00027 std::cout << padding << "streamEnd" << std::endl; 00028 } 00029 00030 virtual void mapMapItem(const std::string& name) 00031 { 00032 std::cout << padding << name << " -> New Map" << std::endl; 00033 addPadding(); 00034 } 00035 virtual void mapListItem(const std::string& name) 00036 { 00037 std::cout << padding << name << " -> New List" << std::endl; 00038 addPadding(); 00039 } 00040 virtual void mapIntItem(const std::string& name, long i) 00041 { 00042 std::cout << padding << name << " -> Int: " << i << std::endl; 00043 } 00044 virtual void mapFloatItem(const std::string& name, double d) 00045 { 00046 std::cout << padding << name << " -> Float: " << d << std::endl; 00047 } 00048 virtual void mapStringItem(const std::string& name, const std::string& s) 00049 { 00050 std::cout << padding << name << " -> String: " << s << std::endl; 00051 } 00052 virtual void mapEnd() 00053 { 00054 removePadding(); 00055 std::cout << padding << "mapEnd" << std::endl; 00056 } 00057 00058 virtual void listMapItem() 00059 { 00060 std::cout << padding << "New Map" << std::endl; 00061 addPadding(); 00062 } 00063 virtual void listListItem() 00064 { 00065 std::cout << padding << "New List" << std::endl; 00066 addPadding(); 00067 } 00068 virtual void listIntItem(long i) 00069 { 00070 std::cout << padding << "Int: " << i << std::endl; 00071 } 00072 virtual void listFloatItem(double d) 00073 { 00074 std::cout << padding << "Float: " << d << std::endl; 00075 } 00076 virtual void listStringItem(const std::string& s) 00077 { 00078 std::cout << padding << "String: " << s << std::endl; 00079 } 00080 virtual void listEnd() 00081 { 00082 removePadding(); 00083 std::cout << padding << "listEnd" << std::endl; 00084 } 00085 00086 protected: 00087 virtual void addPadding() 00088 { 00089 padding += " "; 00090 } 00091 00092 virtual void removePadding() 00093 { 00094 padding.erase(padding.end() - 2, padding.end()); 00095 } 00096 00097 std::string padding; 00098 };
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.