Horizon
stock_info_provider_partinfo.hpp
1 #pragma once
2 #include "stock_info_provider.hpp"
3 #include "http_client.hpp"
4 #include <condition_variable>
5 #include <mutex>
6 #include <thread>
7 #include "nlohmann/json_fwd.hpp"
8 #include "pool/pool.hpp"
9 
10 namespace horizon {
11 using json = nlohmann::json;
12 
14 public:
15  StockInfoProviderPartinfo(const std::string &pool_base_path);
16  void add_columns(Gtk::TreeView *treeview, Gtk::TreeModelColumn<std::shared_ptr<StockInfoRecord>> column) override;
17  void update_parts(const std::list<UUID> &parts) override;
18  std::list<std::shared_ptr<StockInfoRecord>> get_records() override;
19  Gtk::Widget *create_status_widget() override;
21 
22 private:
23  class StockInfoProviderPartinfoWorker *worker = nullptr;
24  class StockInfoProviderPartinfoFetchWorker *fetch_worker = nullptr;
25  Gtk::Label *status_label = nullptr;
26  Gtk::Popover popover;
27 };
28 } // namespace horizon
horizon::StockInfoProviderPartinfo
Definition: stock_info_provider_partinfo.hpp:13
horizon::StockInfoProviderPartinfoWorker
Definition: stock_info_provider_partinfo.cpp:160
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:166
nlohmann::json
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
horizon::StockInfoProvider
Definition: stock_info_provider.hpp:20