Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
dockerappmanager.h
1 #ifndef DOCKERAPPMGR_H_
2 #define DOCKERAPPMGR_H_
3 
4 #include "ostreemanager.h"
5 #include "uptane/iterator.h"
6 
7 using DockerAppCb = std::function<bool(const std::string &app, const Uptane::Target &app_target)>;
8 
10  public:
11  DockerAppManager(PackageConfig pconfig, BootloaderConfig bconfig, std::shared_ptr<INvStorage> storage,
12  std::shared_ptr<HttpInterface> http)
13  : OstreeManager(std::move(pconfig), std::move(bconfig), std::move(storage), std::move(http)) {
14  fake_fetcher_ = std::make_shared<Uptane::Fetcher>("", "", http_);
15  }
16  bool fetchTarget(const Uptane::Target &target, Uptane::Fetcher &fetcher, const KeyManager &keys,
17  FetcherProgressCb progress_cb, const api::FlowControlToken *token) override;
18  data::InstallationResult install(const Uptane::Target &target) const override;
19  TargetStatus verifyTarget(const Uptane::Target &target) const override;
20  std::string name() const override { return "ostree+docker-app"; }
21 
22  private:
23  bool iterate_apps(const Uptane::Target &target, const DockerAppCb &cb) const;
24  void handleRemovedApps(const Uptane::Target &target) const;
25 
26  // iterate_apps needs an Uptane::Fetcher. However, its an unused parameter
27  // and we just need to construct a dummy one to make the compiler happy.
28  std::shared_ptr<Uptane::Fetcher> fake_fetcher_;
29 };
30 #endif // DOCKERAPPMGR_H_
Uptane::Fetcher
Definition: fetcher.h:33
KeyManager
Definition: keymanager.h:13
data::InstallationResult
Definition: types.h:179
OstreeManager
Definition: ostreemanager.h:40
api::FlowControlToken
Provides a thread-safe way to pause and terminate task execution.
Definition: apiqueue.h:19
PackageConfig
Definition: packagemanagerconfig.h:13
Uptane::Target
Definition: tuf.h:238
DockerAppManager
Definition: dockerappmanager.h:9
BootloaderConfig
Definition: bootloader_config.h:11