Bridge.h

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.