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_OBJECTS_ENCODER_H 00006 #define ATLAS_OBJECTS_ENCODER_H 00007 00008 #include <Atlas/EncoderBase.h> 00009 #include <Atlas/Objects/Root.h> 00010 00011 namespace Atlas { namespace Objects { 00012 00024 class ObjectsEncoder : public Atlas::EncoderBase 00025 { 00026 public: 00029 explicit ObjectsEncoder(Atlas::Bridge & b) : EncoderBase(b) { } 00031 ~ObjectsEncoder(); 00032 00035 template <class ObjectData> 00036 void streamObjectsMessage(const Atlas::Objects::SmartPtr<ObjectData> & o) 00037 { 00038 m_b.streamMessage(); 00039 o->sendContents(m_b); 00040 m_b.mapEnd(); 00041 } 00042 }; 00043 00044 } } // namespace Atlas::Objects 00045 00046 #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.