Atlas-C++
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();
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(const std::string& name) = 0;
64  virtual void mapListItem(const std::string& name) = 0;
68  virtual void mapIntItem(const std::string& name, long) = 0;
72  virtual void mapFloatItem(const std::string& name, double) = 0;
76  virtual void mapStringItem(const std::string& name, const std::string&) = 0;
80  virtual void mapEnd() = 0;
81 
82  // Interface for list context
83 
87  virtual void listMapItem() = 0;
91  virtual void listListItem() = 0;
95  virtual void listIntItem(long) = 0;
99  virtual void listFloatItem(double) = 0;
103  virtual void listStringItem(const std::string&) = 0;
107  virtual void listEnd() = 0;
108 };
109 
110 } // Atlas namespace
111 
112 #endif // ATLAS_BRIDGE_H

Copyright 2000-2004 the respective authors.

This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.