Atlas-C++
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 // $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.