00001 // This file may be redistributed and modified only under the terms of00002 // the GNU Lesser General Public License (See COPYING for details).00003 // Copyright (C) 2000 Stefanus Du Toit00004
00005 #ifndef ATLAS_OBJECTS_ENCODER_H00006 #define ATLAS_OBJECTS_ENCODER_H00007
00008 #include <Atlas/EncoderBase.h>00009 #include <Atlas/Objects/Root.h>00010
00011 namespace Atlas { namespace Objects {
00012
00024class ObjectsEncoder : public Atlas::EncoderBase00025 {
00026 public:
00029explicitObjectsEncoder(Atlas::Bridge & b) : EncoderBase(b) { }
00031 ~ObjectsEncoder();
00032
00035 template <class ObjectData>
00036voidstreamObjectsMessage(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::Objects00045
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.