CTL  0.6.1
Computed Tomography Library
jsonserializer.h
Go to the documentation of this file.
1 #ifndef CTL_JSONSERIALIZER_H
2 #define CTL_JSONSERIALIZER_H
3 
4 #include "abstractserializer.h"
5 
6 namespace CTL {
7 
9 {
10  // implementation of serialization interface
11  public: void serialize(const SerializationInterface& serializableObject,
12  const QString& fileName) const override;
13 
14  // implementation of deserialization interface
15  public: std::unique_ptr<SystemComponent> deserializeComponent(const QString& fileName) const override;
16  public: std::unique_ptr<AbstractDataModel> deserializeDataModel(const QString& fileName) const override;
17  public: std::unique_ptr<AbstractDataModel2D> deserializeDataModel2D(const QString& fileName) const override;
18  public: std::unique_ptr<AbstractPrepareStep> deserializePrepareStep(const QString& fileName) const override;
19  public: std::unique_ptr<AbstractProjector> deserializeProjector(const QString& fileName) const override;
20  public: std::unique_ptr<AbstractReconstructor> deserializeReconstructor(const QString& fileName) const override;
21  public: std::unique_ptr<CTSystem> deserializeSystem(const QString& fileName) const override;
22  public: std::unique_ptr<AcquisitionSetup> deserializeAcquisitionSetup(const QString& fileName) const override;
23  public: std::unique_ptr<SerializationInterface> deserializeMiscObject(const QString& fileName) const override;
24 
25  static QVariant variantFromJsonFile(const QString& fileName);
26 private:
27  // methods
28  static QJsonObject convertVariantToJsonObject(const QVariant& variant);
29 };
30 
31 } // namespace CTL
32 
34 
37 #endif // CTL_JSONSERIALIZER_H
Specify an interface for de-/serialization from/to QVariants.
Definition: serializationinterface.h:17
Definition: jsonserializer.h:8
Definition: abstractserializer.h:15