mirror of
https://github.com/rad4day/Waybar.git
synced 2023-12-21 10:22:59 +01:00
32 lines
703 B
C++
32 lines
703 B
C++
|
#pragma once
|
||
|
|
||
|
#include <json/json.h>
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
namespace waybar {
|
||
|
|
||
|
class Config {
|
||
|
public:
|
||
|
Config() = default;
|
||
|
|
||
|
void load(const std::string &config, const std::string &style);
|
||
|
|
||
|
const std::string &getStyle() { return css_file_; }
|
||
|
|
||
|
Json::Value &getConfig() { return config_; }
|
||
|
|
||
|
std::vector<Json::Value> getOutputConfigs(const std::string &name, const std::string &identifier);
|
||
|
|
||
|
private:
|
||
|
void setupConfig(const std::string &config_file, int depth);
|
||
|
void resolveConfigIncludes(Json::Value &config, int depth);
|
||
|
void mergeConfig(Json::Value &a_config_, Json::Value &b_config_);
|
||
|
|
||
|
std::string config_file_;
|
||
|
std::string css_file_;
|
||
|
|
||
|
Json::Value config_;
|
||
|
};
|
||
|
} // namespace waybar
|