Atlas-C++
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 // $Id$
00006 
00007 #ifndef ATLAS_MESSAGE_ENCODER_H
00008 #define ATLAS_MESSAGE_ENCODER_H
00009 
00010 #include <Atlas/EncoderBase.h>
00011 
00012 #include <map>
00013 #include <vector>
00014 #include <string>
00015 
00016 namespace Atlas { namespace Message {
00017 
00018 class Element;
00019 
00020 typedef std::map<std::string, Element> MapType;
00021 typedef std::vector<Element> ListType;
00022 
00033 class Encoder : public Atlas::EncoderBase
00034 {
00035 public:
00036     explicit Encoder(Atlas::Bridge &);
00037 
00038     ~Encoder();
00039 
00041     void streamMessageElement(const MapType & obj);
00043     void mapElementItem(const std::string&, const Element&);
00044     void mapElementMapItem(const std::string&, const MapType&);
00045     void mapElementListItem(const std::string&, const ListType&);
00047     void listElementItem(const Element&);
00048     void listElementMapItem(const MapType&);
00049     void listElementListItem(const ListType&);
00050 };
00051 
00052 } } // namespace Atlas::Message
00053 
00054 #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.