1+ #define GEODE_DEFINE_EVENT_EXPORTS
12#include " ../include/TextureLoader.hpp"
23
34#include " PackManager.hpp"
45
56using namespace geode ;
67
7- namespace ext = geode::texture_loader;
8+ namespace api = geode::texture_loader;
89
9- template <class >
10- struct ToFilterImpl ;
11-
12- template <class ... Args>
13- struct ToFilterImpl <geode::DispatchEvent<Args...>> {
14- using type = geode::DispatchFilter<Args...>;
15- };
16-
17- template <class T >
18- using ToFilter = typename ToFilterImpl<T>::type;
19-
20- ext::Pack convertPack (std::shared_ptr<Pack> const & pack) {
21- ext::Pack res;
10+ api::Pack convertPack (std::shared_ptr<Pack> const & pack) {
11+ api::Pack res;
2212 res.id = pack->getID ();
2313 res.name = pack->getDisplayName ();
2414 res.path = pack->getOriginPath ();
@@ -32,14 +22,9 @@ ext::Pack convertPack(std::shared_ptr<Pack> const& pack) {
3222 return res;
3323}
3424
35- $execute {
36- new EventListener (+[](std::vector<ext::Pack>* res) {
37- *res = utils::ranges::map<std::vector<ext::Pack>>(PackManager::get ()->getAvailablePacks (), convertPack);
38- return ListenerResult::Stop;
39- }, ToFilter<ext::impl::EventGetAvailablePacks>(" geode.texture-loader/v1/get-available-packs" ));
40-
41- new EventListener (+[](std::vector<ext::Pack>* res) {
42- *res = utils::ranges::map<std::vector<ext::Pack>>(PackManager::get ()->getAppliedPacks (), convertPack);
43- return ListenerResult::Stop;
44- }, ToFilter<ext::impl::EventGetAppliedPacks>(" geode.texture-loader/v1/get-applied-packs" ));
45- }
25+ std::vector<api::Pack> api::getAvailablePacks () {
26+ return utils::ranges::map<std::vector<api::Pack>>(PackManager::get ()->getAvailablePacks (), convertPack);
27+ }
28+ std::vector<api::Pack> api::getAppliedPacks () {
29+ return utils::ranges::map<std::vector<api::Pack>>(PackManager::get ()->getAppliedPacks (), convertPack);
30+ }
0 commit comments