Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
secondaryinterface.h
1 #ifndef UPTANE_SECONDARYINTERFACE_H
2 #define UPTANE_SECONDARYINTERFACE_H
3 
4 #include <string>
5 
6 #include "json/json.h"
7 #include "uptane/manifest.h"
8 #include "uptane/tuf.h"
9 
10 namespace Uptane {
11 
13  public:
14  using Ptr = std::shared_ptr<SecondaryInterface>;
15 
16  public:
17  virtual EcuSerial getSerial() const = 0;
18  virtual Uptane::HardwareIdentifier getHwId() const = 0;
19  virtual PublicKey getPublicKey() const = 0;
20 
21  virtual Uptane::Manifest getManifest() const = 0;
22  virtual bool putMetadata(const RawMetaPack& meta_pack) = 0;
23 
24  virtual int32_t getRootVersion(bool director) const = 0;
25  virtual bool putRoot(const std::string& root, bool director) = 0;
26 
27  virtual bool sendFirmware(const std::string& data) = 0;
28  virtual data::ResultCode::Numeric install(const std::string& target_name) = 0;
29 
30  virtual ~SecondaryInterface() = default;
31 
32  public:
33  // make children non-copyable
34  SecondaryInterface(const SecondaryInterface&) = delete;
35  SecondaryInterface& operator=(const SecondaryInterface&) = delete;
36 
37  protected:
38  SecondaryInterface() = default;
39 };
40 } // namespace Uptane
41 
42 #endif // UPTANE_SECONDARYINTERFACE_H
data
General data structures.
Definition: types.cc:44
Uptane::HardwareIdentifier
Definition: tuf.h:143
Uptane::RawMetaPack
Definition: tuf.h:532
Uptane::EcuSerial
Definition: tuf.h:174
PublicKey
Definition: crypto.h:26
data::ResultCode::Numeric
Numeric
Definition: types.h:125
Uptane
Base data types that are used in The Update Framework (TUF), part of UPTANE.
Definition: secondary_tcp_server.h:8
Uptane::SecondaryInterface
Definition: secondaryinterface.h:12
Uptane::Manifest
Definition: manifest.h:13