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
20namespace Atlas {
21
35class 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
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:20