Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
PandoraObjectFactories.h
Go to the documentation of this file.
1
8#ifndef PANDORA_OBJECT_FACTORIES_H
9#define PANDORA_OBJECT_FACTORIES_H 1
10
12#include "Pandora/StatusCodes.h"
13
14namespace pandora
15{
16
20template <typename PARAMETERS, typename OBJECT>
21class PandoraObjectFactory : public ObjectFactory<PARAMETERS, OBJECT>
22{
23public:
24 typedef PARAMETERS Parameters;
25 typedef OBJECT Object;
26
28 StatusCode Read(Parameters &parameters, FileReader &fileReader) const;
29 StatusCode Write(const Object *const pObject, FileWriter &fileWriter) const;
30
31private:
32 StatusCode Create(const Parameters &parameters, const Object *&pObject) const;
33};
34
35} // namespace pandora
36
37#endif // #ifndef PANDORA_OBJECT_FACTORY_H
Header file for the object factory class.
Header file defining status codes and relevant preprocessor macros.
Parameters class.
Definition Validation.h:20
FileReader class.
Definition FileReader.h:29
FileWriter class.
Definition FileWriter.h:29
ObjectFactory class responsible for extended pandora object creation.
PandoraObjectFactory class.
StatusCode Read(Parameters &parameters, FileReader &fileReader) const
Read any additional (derived class only) object parameters from file using the specified file reader.
StatusCode Write(const Object *const pObject, FileWriter &fileWriter) const
Persist any additional (derived class only) object parameters using the specified file writer.
Parameters * NewParameters() const
Create new parameters instance on the heap (memory-management to be controlled by user)
StatusCode Create(const Parameters &parameters, const Object *&pObject) const
Create an object with the given parameters.
StatusCode
The StatusCode enum.