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_OBJECTS_ENCODER_H 00008 #define ATLAS_OBJECTS_ENCODER_H 00009 00010 #include <Atlas/EncoderBase.h> 00011 #include <Atlas/Objects/Root.h> 00012 00013 namespace Atlas { namespace Objects { 00014 00026 class ObjectsEncoder : public Atlas::EncoderBase 00027 { 00028 public: 00031 explicit ObjectsEncoder(Atlas::Bridge & b) : EncoderBase(b) { } 00033 ~ObjectsEncoder(); 00034 00037 template <class ObjectData> 00038 void streamObjectsMessage(const Atlas::Objects::SmartPtr<ObjectData> & o) 00039 { 00040 m_b.streamMessage(); 00041 o->sendContents(m_b); 00042 m_b.mapEnd(); 00043 } 00044 }; 00045 00046 } } // namespace Atlas::Objects 00047 00048 #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.