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 "primary/secondary_provider.h"
7 #include "uptane/manifest.h"
8 #include "uptane/tuf.h"
9 
11  public:
12  using Ptr = std::shared_ptr<SecondaryInterface>;
13 
14  virtual void init(std::shared_ptr<SecondaryProvider> secondary_provider_in) = 0;
15  virtual std::string Type() const = 0;
16  virtual Uptane::EcuSerial getSerial() const = 0;
17  virtual Uptane::HardwareIdentifier getHwId() const = 0;
18  virtual PublicKey getPublicKey() const = 0;
19 
20  virtual Uptane::Manifest getManifest() const = 0;
21  virtual data::InstallationResult putMetadata(const Uptane::Target& target) = 0;
22  virtual bool ping() const = 0;
23 
24  virtual int32_t getRootVersion(bool director) const = 0;
25  virtual data::InstallationResult putRoot(const std::string& root, bool director) = 0;
26 
27  virtual data::InstallationResult sendFirmware(const Uptane::Target& target) = 0;
28  virtual data::InstallationResult install(const Uptane::Target& target) = 0;
29 
30  virtual ~SecondaryInterface() = default;
31 };
32 
33 #endif // UPTANE_SECONDARYINTERFACE_H