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 
20 namespace Atlas {
21 
35 class Bridge
36 {
37  public:
38  virtual ~Bridge() = default;
39 
40  // Interface for stream context
41 
45  virtual void streamBegin() = 0;
49  virtual void streamMessage() = 0;
53  virtual void streamEnd() = 0;
54 
55  // Interface for map context
56 
60  virtual void mapMapItem(std::string name) = 0;
64  virtual void mapListItem(std::string name) = 0;
68  virtual void mapIntItem(std::string name, std::int64_t) = 0;
72  virtual void mapFloatItem(std::string name, double) = 0;
76  virtual void mapStringItem(std::string name, std::string) = 0;
80  virtual void mapNoneItem(std::string name) = 0;
84  virtual void mapEnd() = 0;
85 
86  // Interface for list context
87 
91  virtual void listMapItem() = 0;
95  virtual void listListItem() = 0;
99  virtual void listIntItem(std::int64_t) = 0;
103  virtual void listFloatItem(double) = 0;
107  virtual void listStringItem(std::string) = 0;
111  virtual void listNoneItem() = 0;
115  virtual void listEnd() = 0;
116 };
117 
118 } // Atlas namespace
119 
120 #endif // ATLAS_BRIDGE_H
Atlas::Bridge::listMapItem
virtual void listMapItem()=0
Atlas::Bridge::listNoneItem
virtual void listNoneItem()=0
Atlas::Bridge::mapMapItem
virtual void mapMapItem(std::string name)=0
Atlas::Bridge::streamBegin
virtual void streamBegin()=0
Atlas::Bridge::listStringItem
virtual void listStringItem(std::string)=0
Atlas::Bridge::listListItem
virtual void listListItem()=0
Atlas::Bridge::mapIntItem
virtual void mapIntItem(std::string name, std::int64_t)=0
Atlas::Bridge::listFloatItem
virtual void listFloatItem(double)=0
Atlas::Bridge
Definition: Bridge.h:36
Atlas::Bridge::mapListItem
virtual void mapListItem(std::string name)=0
Atlas::Bridge::mapEnd
virtual void mapEnd()=0
Atlas::Bridge::streamEnd
virtual void streamEnd()=0
Atlas::Bridge::listEnd
virtual void listEnd()=0
Atlas::Bridge::mapStringItem
virtual void mapStringItem(std::string name, std::string)=0
Atlas::Bridge::mapFloatItem
virtual void mapFloatItem(std::string name, double)=0
Atlas::Bridge::streamMessage
virtual void streamMessage()=0
Atlas::Bridge::mapNoneItem
virtual void mapNoneItem(std::string name)=0
Atlas::Bridge::listIntItem
virtual void listIntItem(std::int64_t)=0
Atlas
Definition: Bridge.h:20