Atlas-C++
|
00001 // This file may be redistributed and modified only under the terms of 00002 // the GNU Lesser General Public License (See COPYING for details). 00003 // Copyright (C) 2000 Michael Day 00004 00005 // $Id$ 00006 00007 #ifndef ATLAS_BRIDGE_H 00008 #define ATLAS_BRIDGE_H 00009 00010 #include <string> 00011 00020 namespace Atlas { 00021 00035 class Bridge 00036 { 00037 public: 00038 virtual ~Bridge(); 00039 00040 // Interface for stream context 00041 00045 virtual void streamBegin() = 0; 00049 virtual void streamMessage() = 0; 00053 virtual void streamEnd() = 0; 00054 00055 // Interface for map context 00056 00060 virtual void mapMapItem(const std::string& name) = 0; 00064 virtual void mapListItem(const std::string& name) = 0; 00068 virtual void mapIntItem(const std::string& name, long) = 0; 00072 virtual void mapFloatItem(const std::string& name, double) = 0; 00076 virtual void mapStringItem(const std::string& name, const std::string&) = 0; 00080 virtual void mapEnd() = 0; 00081 00082 // Interface for list context 00083 00087 virtual void listMapItem() = 0; 00091 virtual void listListItem() = 0; 00095 virtual void listIntItem(long) = 0; 00099 virtual void listFloatItem(double) = 0; 00103 virtual void listStringItem(const std::string&) = 0; 00107 virtual void listEnd() = 0; 00108 }; 00109 00110 } // Atlas namespace 00111 00112 #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.