6#include "ll/api/mod/Mod.h"
7#include "ll/api/mod/NativeMod.h"
13 { t.load() } -> std::same_as<bool>;
18 { t.unload() } -> std::same_as<bool>;
23 { t.enable() } -> std::same_as<bool>;
28 { t.disable() } -> std::same_as<bool>;
31#define LL_REGISTER_MOD(CLAZZ, BINDER) \
33 LL_SHARED_EXPORT bool ll_mod_load(ll::mod::NativeMod& self) { \
34 static_assert(::ll::mod::Loadable<CLAZZ>, #CLAZZ " must be Loadable"); \
35 ::ll::mod::bindToMod((BINDER), self); \
36 return (BINDER).load(); \
40template <ll::mod::Loadable T>
43 self.onEnable([&myMod](
auto&) {
return myMod.enable(); });
46 self.onDisable([&myMod](
auto&) {
return myMod.disable(); });
49 self.onUnload([&myMod](
auto& self) {
50 bool result = myMod.unload();
Definition RegisterHelper.h:27
Definition RegisterHelper.h:22
Definition RegisterHelper.h:12
Definition RegisterHelper.h:17