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.