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 #ifndef ATLAS_BRIDGE_H 00006 #define ATLAS_BRIDGE_H 00007 00008 #include <string> 00009 00018 namespace Atlas { 00019 00033 class Bridge 00034 { 00035 public: 00036 virtual ~Bridge(); 00037 00038 // Interface for stream context 00039 00043 virtual void streamBegin() = 0; 00047 virtual void streamMessage() = 0; 00051 virtual void streamEnd() = 0; 00052 00053 // Interface for map context 00054 00058 virtual void mapMapItem(const std::string& name) = 0; 00062 virtual void mapListItem(const std::string& name) = 0; 00066 virtual void mapIntItem(const std::string& name, long) = 0; 00070 virtual void mapFloatItem(const std::string& name, double) = 0; 00074 virtual void mapStringItem(const std::string& name, const std::string&) = 0; 00078 virtual void mapEnd() = 0; 00079 00080 // Interface for list context 00081 00085 virtual void listMapItem() = 0; 00089 virtual void listListItem() = 0; 00093 virtual void listIntItem(long) = 0; 00097 virtual void listFloatItem(double) = 0; 00101 virtual void listStringItem(const std::string&) = 0; 00105 virtual void listEnd() = 0; 00106 }; 00107 00108 } // Atlas namespace 00109 00110 #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.