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 std::string Type() const = 0;
18  virtual EcuSerial getSerial() const = 0;
19  virtual Uptane::HardwareIdentifier getHwId() const = 0;
20  virtual PublicKey getPublicKey() const = 0;
21 
22  virtual Uptane::Manifest getManifest() const = 0;
23  virtual bool putMetadata(const RawMetaPack& meta_pack) = 0;
24  virtual bool ping() const = 0;
25 
26  virtual int32_t getRootVersion(bool director) const = 0;
27  virtual bool putRoot(const std::string& root, bool director) = 0;
28 
29  virtual bool sendFirmware(const std::string& data) = 0;
30  virtual data::ResultCode::Numeric install(const std::string& target_name) = 0;
31 
32  virtual ~SecondaryInterface() = default;
33 
34  public:
35  // make children non-copyable
36  SecondaryInterface(const SecondaryInterface&) = delete;
37  SecondaryInterface& operator=(const SecondaryInterface&) = delete;
38 
39  protected:
40  SecondaryInterface() = default;
41 };
42 } // namespace Uptane
43 
44 #endif // UPTANE_SECONDARYINTERFACE_H
data
General data structures.
Definition: types.cc:54
Uptane::HardwareIdentifier
Definition: tuf.h:143
Uptane::RawMetaPack
Definition: tuf.h:534
Uptane::EcuSerial
Definition: tuf.h:174
PublicKey
Definition: crypto.h:26
data::ResultCode::Numeric
Numeric
Definition: types.h:128
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