Caffa  1.1.0
C++ Application Framework for Embedded Systems with introspection
cafFieldJsonCapability.h
1 #pragma once
2 
3 #include "cafFieldCapability.h"
4 
5 #include <nlohmann/json.hpp>
6 
7 #include <chrono>
8 #include <memory>
9 #include <string>
10 #include <vector>
11 
12 namespace caffa
13 {
14 class FieldHandle;
15 class ObjectFactory;
16 class ObjectHandle;
17 class JsonSerializer;
18 //==================================================================================================
19 //
20 //
21 //
22 //==================================================================================================
24 {
25 public:
27 
28  virtual void readFromJson( const nlohmann::json& value, const JsonSerializer& serializer ) = 0;
29  virtual void writeToJson( nlohmann::json& value, const JsonSerializer& serializer ) const = 0;
30 
31  virtual nlohmann::json jsonType() const = 0;
32 
33 protected:
34  bool assertValid() const;
35 };
36 } // End of namespace caffa
Definition: cafFieldJsonCapability.h:23
Definition: cafJsonSerializer.h:38
Definition: cafFieldCapability.h:7
Main Caffa namespace.
Definition: cafApplication.h:30