Atlas  0.7.0
Networking protocol for the Worldforge system.
Bridge.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) 2000 Michael Day
4 
5 // $Id$
6 
7 #ifndef ATLAS_BRIDGE_H
8 #define ATLAS_BRIDGE_H
9 
10 #include <string>
11 #include <cinttypes>
12 
21 namespace Atlas {
22 
36 class Bridge
37 {
38  public:
39  virtual ~Bridge() = default;
40 
41  // Interface for stream context
42 
46  virtual void streamBegin() = 0;
50  virtual void streamMessage() = 0;
54  virtual void streamEnd() = 0;
55 
56  // Interface for map context
57 
61  virtual void mapMapItem(std::string name) = 0;
65  virtual void mapListItem(std::string name) = 0;
69  virtual void mapIntItem(std::string name, std::int64_t) = 0;
73  virtual void mapFloatItem(std::string name, double) = 0;
77  virtual void mapStringItem(std::string name, std::string) = 0;
81  virtual void mapNoneItem(std::string name) = 0;
85  virtual void mapEnd() = 0;
86 
87  // Interface for list context
88 
92  virtual void listMapItem() = 0;
96  virtual void listListItem() = 0;
100  virtual void listIntItem(std::int64_t) = 0;
104  virtual void listFloatItem(double) = 0;
108  virtual void listStringItem(std::string) = 0;
112  virtual void listNoneItem() = 0;
116  virtual void listEnd() = 0;
117 };
118 
119 } // Atlas namespace
120 
121 #endif // ATLAS_BRIDGE_H
virtual void mapFloatItem(std::string name, double)=0
virtual void mapEnd()=0
virtual void listEnd()=0
virtual void streamMessage()=0
virtual void listListItem()=0
virtual void listMapItem()=0
virtual void mapMapItem(std::string name)=0
virtual void streamEnd()=0
virtual void listStringItem(std::string)=0
virtual void listIntItem(std::int64_t)=0
virtual void streamBegin()=0
virtual void listFloatItem(double)=0
virtual void mapListItem(std::string name)=0
virtual void listNoneItem()=0
virtual void mapIntItem(std::string name, std::int64_t)=0
virtual void mapNoneItem(std::string name)=0
virtual void mapStringItem(std::string name, std::string)=0
Definition: Bridge.h:21