Atlas-C++
|
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.