Atlas-C++
Decoder.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright 2000-2001 Stefanus Du Toit and Aloril.
4 // Copyright 2001-2005 Alistair Riddoch.
5 // Automatically generated using gen_cpp.py.
6 
7 #ifndef ATLAS_OBJECTS_DECODER_H
8 #define ATLAS_OBJECTS_DECODER_H
9 
10 
11 #include <Atlas/Message/DecoderBase.h>
12 
13 namespace Atlas { namespace Objects {
14 
15 template <class T> class SmartPtr;
16 class RootData;
17 typedef SmartPtr<RootData> Root;
18 
19 class Factories;
20 
32 {
33 public:
35  explicit ObjectsDecoder(Factories * f = 0);
37  virtual ~ObjectsDecoder();
38 
40  Factories * factories() const {
41  return m_factories;
42  }
43 protected:
45  virtual void messageArrived(const Atlas::Message::MapType&);
46 
48  virtual void objectArrived(const Root& obj) = 0;
49 
50  Factories * m_factories;
51 };
52 
53 } } // namespace Atlas::Objects
54 
55 #endif // ATLAS_OBJECTS_DECODER_H
Atlas::Message::DecoderBase
Base class for decoders that take Atlas::Message::Object.
Definition: DecoderBase.h:41
Atlas::Objects::RootData
All objects inherit from this.
Definition: Root.h:36
Atlas::Objects::ObjectsDecoder
Objects hierarchy decoder.
Definition: Decoder.h:32
Atlas::Objects::SmartPtr
Definition: Decoder.h:15
Atlas::Objects::ObjectsDecoder::factories
Factories * factories() const
Factories accessor.
Definition: Decoder.h:40
Atlas::Objects::ObjectsDecoder::messageArrived
virtual void messageArrived(const Atlas::Message::MapType &)
Overridden by to retrieve the message from DecoderBase.
Atlas::Objects::ObjectsDecoder::ObjectsDecoder
ObjectsDecoder(Factories *f=0)
Constructor.
Atlas::Objects::Factories
Definition: objectFactory.h:47
Atlas
The Atlas namespace.
Definition: Bridge.h:20
Atlas::Objects::ObjectsDecoder::objectArrived
virtual void objectArrived(const Root &obj)=0
call right object*Arrived method
Atlas::Objects::ObjectsDecoder::~ObjectsDecoder
virtual ~ObjectsDecoder()
Default destructor.

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.