#pragma once #include #include #include #include class PluginConfigData { public: PluginConfigData(std::string_view name, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback); [[nodiscard]] std::optional createConfig() const; [[nodiscard]] WUPSConfigAPIStatus CallMenuOpenedCallback(WUPSConfigHandle config) const; [[nodiscard]] WUPSConfigAPIStatus CallMenuClosedCallback() const; static std::optional create(WUPSConfigAPIOptions options, WUPSConfigAPI_MenuOpenedCallback openedCallback, WUPSConfigAPI_MenuClosedCallback closedCallback); private: std::string mName; WUPSConfigAPI_MenuOpenedCallback mOpenedCallback; WUPSConfigAPI_MenuClosedCallback mClosedCallback; };