MEncoder.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 #include <map>
00011 #include <vector>
00012 #include <string>
00013 
00014 namespace Atlas { namespace Message {
00015 
00016 class Element;
00017 
00018 typedef std::map<std::string, Element> MapType;
00019 typedef std::vector<Element> ListType;
00020 
00031 class Encoder : public Atlas::EncoderBase
00032 {
00033 public:
00034     explicit Encoder(Atlas::Bridge &);
00035 
00036     ~Encoder();
00037 
00039     void streamMessageElement(const MapType & obj);
00041     void mapElementItem(const std::string&, const Element&);
00042     void mapElementMapItem(const std::string&, const MapType&);
00043     void mapElementListItem(const std::string&, const ListType&);
00045     void listElementItem(const Element&);
00046     void listElementMapItem(const MapType&);
00047     void listElementListItem(const ListType&);
00048 };
00049 
00050 } } // namespace Atlas::Message
00051 
00052 #endif

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.