waybar/include/factory.hpp

39 lines
767 B
C++
Raw Normal View History

2018-08-09 12:05:48 +02:00
#pragma once
#include <json/json.h>
#include "modules/clock.hpp"
2018-08-20 17:20:02 +02:00
#ifdef HAVE_SWAY
2018-10-30 13:39:30 +01:00
#include "modules/sway/mode.hpp"
2018-08-15 20:17:17 +02:00
#include "modules/sway/workspaces.hpp"
#include "modules/sway/window.hpp"
2018-08-20 17:20:02 +02:00
#endif
2018-08-09 12:05:48 +02:00
#include "modules/battery.hpp"
#include "modules/memory.hpp"
#include "modules/cpu.hpp"
2018-10-25 19:12:28 +02:00
#ifdef HAVE_DBUSMENU
#include "modules/sni/tray.hpp"
2018-10-25 19:12:28 +02:00
#endif
2018-08-20 17:20:02 +02:00
#ifdef HAVE_LIBNL
2018-08-09 16:38:24 +02:00
#include "modules/network.hpp"
2018-08-20 17:20:02 +02:00
#endif
#ifdef HAVE_LIBPULSE
2018-08-09 23:55:38 +02:00
#include "modules/pulseaudio.hpp"
2018-08-20 17:20:02 +02:00
#endif
#include "modules/backlight.hpp"
#include "modules/custom.hpp"
2018-08-09 12:05:48 +02:00
namespace waybar {
2018-09-10 11:25:53 +02:00
class Bar;
2018-08-16 14:29:41 +02:00
class Factory {
public:
2018-12-01 00:10:41 +01:00
Factory(const Bar& bar, const Json::Value& config);
2018-08-20 14:50:45 +02:00
IModule* makeModule(const std::string &name) const;
2018-08-16 14:29:41 +02:00
private:
2018-12-01 00:10:41 +01:00
const Bar& bar_;
2018-08-20 14:50:45 +02:00
const Json::Value& config_;
2018-08-16 14:29:41 +02:00
};
2018-08-09 12:05:48 +02:00
}