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