mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-18 17:14:28 -04:00
pgl: update to use tipc (untested)
This commit is contained in:
parent
1118421fa6
commit
b2b0c50802
16 changed files with 600 additions and 130 deletions
|
@ -80,10 +80,21 @@ namespace ams::pgl {
|
|||
R_TRY(::pglGetEventObserver(std::addressof(obs)));
|
||||
|
||||
/* TODO: Real allocator */
|
||||
auto remote_observer = ams::sf::CreateSharedObjectEmplaced<pgl::sf::IEventObserver, RemoteEventObserver>(obs);
|
||||
R_UNLESS(remote_observer != nullptr, pgl::ResultOutOfMemory());
|
||||
if (hos::GetVersion() >= hos::Version_12_0_0) {
|
||||
auto observer_holder = std::make_unique<impl::EventObserverByTipc<RemoteEventObserver>>(obs);
|
||||
R_UNLESS(observer_holder != nullptr, pgl::ResultOutOfMemory());
|
||||
|
||||
*out = pgl::EventObserver(std::move(observer_holder));
|
||||
} else {
|
||||
auto remote_observer = ams::sf::CreateSharedObjectEmplaced<pgl::sf::IEventObserver, RemoteEventObserver>(obs);
|
||||
R_UNLESS(remote_observer != nullptr, pgl::ResultOutOfMemory());
|
||||
|
||||
auto observer_holder = std::make_unique<impl::EventObserverByCmif>(std::move(remote_observer));
|
||||
R_UNLESS(observer_holder != nullptr, pgl::ResultOutOfMemory());
|
||||
|
||||
*out = pgl::EventObserver(std::move(observer_holder));
|
||||
}
|
||||
|
||||
*out = pgl::EventObserver(std::move(remote_observer));
|
||||
return ResultSuccess();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue