Aktualizr
C++ SOTA Client
originalmanifest.h
1 #ifndef OPCUABRIDGE_ORIGINALMANIFEST_H_
2 #define OPCUABRIDGE_ORIGINALMANIFEST_H_
3 
4 #include <utility>
5 
6 #include "common.h"
7 
8 namespace opcuabridge {
10  public:
11  typedef BinaryDataType block_type;
12 
13  OriginalManifest() = default;
14  virtual ~OriginalManifest() = default;
15 
16  block_type& getBlock() { return block_; }
17  const block_type& getBlock() const { return block_; }
18  void setBlock(const block_type& block) { block_ = block; }
19  INITSERVERNODESET_BIN_FUNCTION_DEFINITION(OriginalManifest, &block_) // InitServerNodeset(UA_Server*)
20  CLIENTREAD_BIN_FUNCTION_DEFINITION(&block_) // ClientRead(UA_Client*)
21  CLIENTWRITE_BIN_FUNCTION_DEFINITION(&block_) // ClientWrite(UA_Client*)
22 
23  void setOnBeforeReadCallback(MessageOnBeforeReadCallback<OriginalManifest>::type cb) {
24  on_before_read_cb_ = std::move(cb);
25  }
26  void setOnAfterWriteCallback(MessageOnAfterWriteCallback<OriginalManifest>::type cb) {
27  on_after_write_cb_ = std::move(cb);
28  }
29 
30  protected:
31  block_type block_;
32 
33  MessageOnBeforeReadCallback<OriginalManifest>::type on_before_read_cb_;
34  MessageOnAfterWriteCallback<OriginalManifest>::type on_after_write_cb_;
35 
36  private:
37  static const char* node_id_;
38  static const char* bin_node_id_;
39 
40  Json::Value wrapMessage() const {
41  Json::Value v;
42  return v;
43  }
44  void unwrapMessage(const Json::Value& v) {}
45 
46  WRAPMESSAGE_FUCTION_DEFINITION(OriginalManifest)
47  UNWRAPMESSAGE_FUCTION_DEFINITION(OriginalManifest)
48  READ_FUNCTION_FRIEND_DECLARATION(OriginalManifest)
49  WRITE_FUNCTION_FRIEND_DECLARATION(OriginalManifest)
50  INTERNAL_FUNCTIONS_FRIEND_DECLARATION(OriginalManifest)
51 
52 #ifdef OPCUABRIDGE_ENABLE_SERIALIZATION
53  SERIALIZE_FUNCTION_FRIEND_DECLARATION
54 
55  DEFINE_SERIALIZE_METHOD() { SERIALIZE_FIELD(ar, "block_", block_); }
56 #endif // OPCUABRIDGE_ENABLE_SERIALIZATION
57 };
58 } // namespace opcuabridge
59 
60 #endif // OPCUABRIDGE_ORIGINALMANIFEST_H_