1 #pragma once 2 3 #include <json/json.h> 4 #ifdef HAVE_LIBDATE 5 #include "modules/clock.hpp" 6 #else 7 #include "modules/simpleclock.hpp" 8 #endif 9 #ifdef HAVE_SWAY 10 #include "modules/sway/mode.hpp" 11 #include "modules/sway/window.hpp" 12 #include "modules/sway/workspaces.hpp" 13 #include "modules/sway/language.hpp" 14 #endif 15 #ifdef HAVE_WLR 16 #include "modules/wlr/taskbar.hpp" 17 #include "modules/wlr/workspace_manager.hpp" 18 #endif 19 #ifdef HAVE_RIVER 20 #include "modules/river/tags.hpp" 21 #endif 22 #if defined(__linux__) && !defined(NO_FILESYSTEM) 23 #include "modules/battery.hpp" 24 #endif 25 #if defined(HAVE_CPU_LINUX) || defined(HAVE_CPU_BSD) 26 #include "modules/cpu.hpp" 27 #endif 28 #include "modules/idle_inhibitor.hpp" 29 #if defined(HAVE_MEMORY_LINUX) || defined(HAVE_MEMORY_BSD) 30 #include "modules/memory.hpp" 31 #endif 32 #include "modules/disk.hpp" 33 #ifdef HAVE_DBUSMENU 34 #include "modules/sni/tray.hpp" 35 #endif 36 #ifdef HAVE_LIBNL 37 #include "modules/network.hpp" 38 #endif 39 #ifdef HAVE_LIBUDEV 40 #include "modules/backlight.hpp" 41 #endif 42 #ifdef HAVE_LIBEVDEV 43 #include "modules/keyboard_state.hpp" 44 #endif 45 #ifdef HAVE_LIBPULSE 46 #include "modules/pulseaudio.hpp" 47 #endif 48 #ifdef HAVE_LIBMPDCLIENT 49 #include "modules/mpd/mpd.hpp" 50 #endif 51 #ifdef HAVE_LIBSNDIO 52 #include "modules/sndio.hpp" 53 #endif 54 #ifdef HAVE_GIO_UNIX 55 #include "modules/inhibitor.hpp" 56 #endif 57 #include "bar.hpp" 58 #include "modules/custom.hpp" 59 #include "modules/temperature.hpp" 60 #if defined(__linux__) 61 # ifdef WANT_RFKILL 62 # include "modules/bluetooth.hpp" 63 # endif 64 #endif 65 66 namespace waybar { 67 68 class Factory { 69 public: 70 Factory(const Bar& bar, const Json::Value& config); 71 AModule* makeModule(const std::string& name) const; 72 73 private: 74 const Bar& bar_; 75 const Json::Value& config_; 76 }; 77 78 } // namespace waybar 79