Atlas  0.7.0
Networking protocol for the Worldforge system.
DebugBridge.h
1 #include <Atlas/Bridge.h>
2 
3 #include <iostream>
4 #include <string>
5 
6 class DebugBridge : public Atlas::Bridge
7 {
8 public:
9 
10  DebugBridge()
11  {
12  padding = "";
13  }
14 
15  virtual ~DebugBridge() { }
16 
17  virtual void streamBegin() {
18  std::cout << padding << "streamBegin" << std::endl;
19  addPadding();
20  }
21  virtual void streamMessage() {
22  std::cout << padding << "New Map" << std::endl;
23  addPadding();
24  }
25  virtual void streamEnd() {
26  removePadding();
27  std::cout << padding << "streamEnd" << std::endl;
28  }
29 
30  virtual void mapMapItem(const std::string& name)
31  {
32  std::cout << padding << name << " -> New Map" << std::endl;
33  addPadding();
34  }
35  virtual void mapListItem(const std::string& name)
36  {
37  std::cout << padding << name << " -> New List" << std::endl;
38  addPadding();
39  }
40  virtual void mapIntItem(const std::string& name, long i)
41  {
42  std::cout << padding << name << " -> Int: " << i << std::endl;
43  }
44  virtual void mapFloatItem(const std::string& name, double d)
45  {
46  std::cout << padding << name << " -> Float: " << d << std::endl;
47  }
48  virtual void mapStringItem(const std::string& name, const std::string& s)
49  {
50  std::cout << padding << name << " -> String: " << s << std::endl;
51  }
52  virtual void mapEnd()
53  {
54  removePadding();
55  std::cout << padding << "mapEnd" << std::endl;
56  }
57 
58  virtual void listMapItem()
59  {
60  std::cout << padding << "New Map" << std::endl;
61  addPadding();
62  }
63  virtual void listListItem()
64  {
65  std::cout << padding << "New List" << std::endl;
66  addPadding();
67  }
68  virtual void listIntItem(long i)
69  {
70  std::cout << padding << "Int: " << i << std::endl;
71  }
72  virtual void listFloatItem(double d)
73  {
74  std::cout << padding << "Float: " << d << std::endl;
75  }
76  virtual void listStringItem(const std::string& s)
77  {
78  std::cout << padding << "String: " << s << std::endl;
79  }
80  virtual void listEnd()
81  {
82  removePadding();
83  std::cout << padding << "listEnd" << std::endl;
84  }
85 
86 protected:
87  virtual void addPadding()
88  {
89  padding += " ";
90  }
91 
92  virtual void removePadding()
93  {
94  padding.erase(padding.end() - 2, padding.end());
95  }
96 
97  std::string padding;
98 };
virtual void streamEnd()
Definition: DebugBridge.h:25
virtual void listListItem()
Definition: DebugBridge.h:63
virtual void mapEnd()
Definition: DebugBridge.h:52
virtual void listMapItem()
Definition: DebugBridge.h:58
virtual void streamBegin()
Definition: DebugBridge.h:17
virtual void listFloatItem(double d)
Definition: DebugBridge.h:72
virtual void listEnd()
Definition: DebugBridge.h:80
virtual void streamMessage()
Definition: DebugBridge.h:21