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 Stefanus Du Toit 00004 00005 #ifndef ATLAS_MESSAGE_ENCODER_H 00006 #define ATLAS_MESSAGE_ENCODER_H 00007 00008 #include <Atlas/EncoderBase.h> 00009 00010 namespace Atlas { namespace Message { 00011 00012 class Object; 00013 00024 class Encoder : public Atlas::EncoderBase 00025 { 00026 public: 00027 Encoder(Atlas::Bridge*); 00028 00029 virtual ~Encoder() { } 00030 00032 virtual void StreamMessage(const Map& m) 00033 { EncoderBase::StreamMessage(m); } 00034 00035 virtual void MapItem(const std::string& name, const Bridge::Map& m) 00036 { EncoderBase::MapItem(name, m); } 00037 virtual void MapItem(const std::string& name, const Bridge::List& l) 00038 { EncoderBase::MapItem(name, l); } 00039 virtual void MapItem(const std::string& name, long i) 00040 { EncoderBase::MapItem(name, i); } 00041 virtual void MapItem(const std::string& name, double d) 00042 { EncoderBase::MapItem(name, d); } 00043 virtual void MapItem(const std::string& name, const std::string& s) 00044 { EncoderBase::MapItem(name, s); } 00045 00046 virtual void ListItem(const Bridge::Map& m) { EncoderBase::ListItem(m); } 00047 virtual void ListItem(const Bridge::List& l) { EncoderBase::ListItem(l); } 00048 virtual void ListItem(long i) { EncoderBase::ListItem(i); } 00049 virtual void ListItem(double d) { EncoderBase::ListItem(d); } 00050 virtual void ListItem(const std::string& s) { EncoderBase::ListItem(s); } 00051 00053 virtual void StreamMessage(const Object& obj); 00054 00056 virtual void MapItem(const std::string&, const Object&); 00058 virtual void ListItem(const Object&); 00059 }; 00060 00061 } } // namespace Atlas::Message 00062 00063 #endif 00064 00065
Copyright 2000 the respective authors.
This document is licensed under the terms of the GNU Free Documentation License and may be freely distributed under the conditions given by this license.