Aktualizr
C++ SOTA Client
secondary_provider.h
1 #ifndef UPTANE_SECONDARY_PROVIDER_H
2 #define UPTANE_SECONDARY_PROVIDER_H
3 
4 #include <string>
5 
6 #include "libaktualizr/config.h"
7 #include "libaktualizr/packagemanagerinterface.h"
8 
9 class INvStorage;
10 
12 
14  public:
15  friend class SecondaryProviderBuilder;
16 
17  bool getMetadata(Uptane::MetaBundle* meta_bundle, const Uptane::Target& target) const;
18  bool getDirectorMetadata(std::string* root, std::string* targets) const;
19  bool getImageRepoMetadata(std::string* root, std::string* timestamp, std::string* snapshot,
20  std::string* targets) const;
21  std::string getTreehubCredentials() const;
22  std::ifstream getTargetFileHandle(const Uptane::Target& target) const;
23 
24  private:
25  SecondaryProvider(Config& config_in, const std::shared_ptr<const INvStorage>& storage_in,
26  const std::shared_ptr<const PackageManagerInterface>& package_manager_in)
27  : config_(config_in), storage_(storage_in), package_manager_(package_manager_in) {}
28 
29  Config& config_;
30  const std::shared_ptr<const INvStorage> storage_;
31  const std::shared_ptr<const PackageManagerInterface> package_manager_;
32 };
33 
34 #endif // UPTANE_SECONDARY_PROVIDER_H
SecondaryProvider
Definition: secondary_provider.h:13
Config
Configuration object for an aktualizr instance running on a Primary ECU.
Definition: config.h:208
SecondaryProviderBuilder
Definition: secondary_provider_builder.h:8
Uptane::Target
Definition: types.h:379
INvStorage
Definition: invstorage.h:43