Atlas  0.7.0
Networking protocol for the Worldforge system.
Formatter.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright (C) 2004 Alistair Riddoch
4 
5 // $Id$
6 
7 #ifndef ATLAS_FORMATTER_H
8 #define ATLAS_FORMATTER_H
9 
10 #include <Atlas/Bridge.h>
11 
12 namespace Atlas {
13 
23 class Formatter : public Bridge
24 {
25  public:
26 
27  Formatter(std::ostream & s, Atlas::Bridge & b);
28 
29  void streamBegin() override;
30  void streamMessage() override;
31  void streamEnd() override;
32 
33  void mapMapItem(std::string name) override;
34  void mapListItem(std::string name) override;
35  void mapIntItem(std::string name, std::int64_t) override;
36  void mapFloatItem(std::string name, double) override;
37  void mapStringItem(std::string name, std::string) override;
38  void mapNoneItem(std::string name) override;
39  void mapEnd() override;
40 
41  void listMapItem() override;
42  void listListItem() override;
43  void listIntItem(std::int64_t) override;
44  void listFloatItem(double) override;
45  void listStringItem(std::string) override;
46  void listNoneItem() override;
47  void listEnd() override;
48 
49  void setSpacing(int s) {
50  m_spacing = s;
51  }
52 
53  protected:
54 
55  std::ostream & m_stream;
56  Bridge & m_bridge;
57  int m_indent;
58  int m_spacing;
59 };
60 
61 } // Atlas namespace
62 
63 #endif // ATLAS_FORMATTER_H
void streamBegin() override
Definition: Formatter.cpp:21
void streamMessage() override
Definition: Formatter.cpp:28
void mapIntItem(std::string name, std::int64_t) override
Definition: Formatter.cpp:59
void mapStringItem(std::string name, std::string) override
Definition: Formatter.cpp:73
void mapEnd() override
Definition: Formatter.cpp:86
void mapNoneItem(std::string name) override
Definition: Formatter.cpp:80
void listNoneItem() override
Definition: Formatter.cpp:123
void mapMapItem(std::string name) override
Definition: Formatter.cpp:45
void mapListItem(std::string name) override
Definition: Formatter.cpp:53
void listEnd() override
Definition: Formatter.cpp:127
void streamEnd() override
Definition: Formatter.cpp:37
void listStringItem(std::string) override
Definition: Formatter.cpp:118
void listIntItem(std::int64_t) override
Definition: Formatter.cpp:108
void listFloatItem(double) override
Definition: Formatter.cpp:113
void mapFloatItem(std::string name, double) override
Definition: Formatter.cpp:66
void listListItem() override
Definition: Formatter.cpp:103
void listMapItem() override
Definition: Formatter.cpp:95
Definition: Bridge.h:20