Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

Encoder.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 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.