Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

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 #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.