Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:20:10

0001 /**
0002  *  @file   PandoraSDK/include/Pandora/PandoraObjectFactories.h
0003  * 
0004  *  @brief  Header file for the pandora object factories classes.
0005  * 
0006  *  $Log: $
0007  */
0008 #ifndef PANDORA_OBJECT_FACTORIES_H
0009 #define PANDORA_OBJECT_FACTORIES_H 1
0010 
0011 #include "Pandora/ObjectFactory.h"
0012 #include "Pandora/StatusCodes.h"
0013 
0014 namespace pandora
0015 {
0016 
0017 /**
0018  *  @brief  PandoraObjectFactory class
0019  */
0020 template <typename PARAMETERS, typename OBJECT>
0021 class PandoraObjectFactory : public ObjectFactory<PARAMETERS, OBJECT>
0022 {
0023 public:
0024     typedef PARAMETERS Parameters;
0025     typedef OBJECT Object;
0026 
0027     Parameters *NewParameters() const;
0028     StatusCode Read(Parameters &parameters, FileReader &fileReader) const;
0029     StatusCode Write(const Object *const pObject, FileWriter &fileWriter) const;
0030 
0031 private:
0032     StatusCode Create(const Parameters &parameters, const Object *&pObject) const;
0033 };
0034 
0035 } // namespace pandora
0036 
0037 #endif // #ifndef PANDORA_OBJECT_FACTORY_H