3 #include "util/uuid.hpp"
4 #include "common/common.hpp"
5 #include "nlohmann/json.hpp"
6 #include "util/changeable.hpp"
7 #include <glibmm/dispatcher.h>
17 enum class Status { BUSY, DONE };
18 Status status = Status::BUSY;
19 virtual std::string get_brief()
const
23 std::string msg =
"Loading…";
34 enum class ItemState {
44 std::string filename_local;
45 std::string filename_remote;
52 std::vector<ItemInfo> items;
54 enum class UpdateState { NO, REQUIRED, OPTIONAL };
56 UpdateState pool_info_needs_update = UpdateState::NO;
57 UpdateState layer_help_needs_update = UpdateState::NO;
58 UpdateState tables_needs_update = UpdateState::NO;
60 bool can_update()
const;
62 std::string get_brief()
const override;
71 virtual void check_for_updates() = 0;
76 const std::filesystem::path base_path;
77 virtual void worker() = 0;
78 void worker_wrapper();
79 std::unique_ptr<PoolStatusBase> pool_status_thread;
81 Glib::Dispatcher dispatcher;
88 std::unique_ptr<PoolStatusBase> pool_status;
96 void check_for_updates()
override;
100 const std::filesystem::path remote_path;
101 std::optional<PoolStatusPoolManager> st_update;
102 bool do_check_updates =
false;
103 void worker()
override;
104 void reset()
override;
Definition: changeable.hpp:5
Definition: pool_status_provider.hpp:15
Definition: pool_status_provider.hpp:32
Definition: pool_status_provider.hpp:30
Definition: pool_status_provider.hpp:66
Definition: pool_status_provider.hpp:92
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
a class to store JSON values
Definition: json.hpp:177
basic_json<> json
default JSON class
Definition: json_fwd.hpp:62