From 674fd8f1e28012749e309c9ee2ef2aa566eda374 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Wed, 4 Mar 2020 01:22:15 -0800 Subject: [PATCH] ncm: fix up main --- .../ncm/source/ncm_content_manager_impl.cpp | 2 +- stratosphere/ncm/source/ncm_main.cpp | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/stratosphere/ncm/source/ncm_content_manager_impl.cpp b/stratosphere/ncm/source/ncm_content_manager_impl.cpp index d995521eb..c70ba4b11 100644 --- a/stratosphere/ncm/source/ncm_content_manager_impl.cpp +++ b/stratosphere/ncm/source/ncm_content_manager_impl.cpp @@ -70,7 +70,7 @@ namespace ams::ncm { } - Result ContentManagerImpl::~ContentManagerImpl() { + ContentManagerImpl::~ContentManagerImpl() { { std::scoped_lock lk(this->mutex); diff --git a/stratosphere/ncm/source/ncm_main.cpp b/stratosphere/ncm/source/ncm_main.cpp index ca3b477e0..ade855866 100644 --- a/stratosphere/ncm/source/ncm_main.cpp +++ b/stratosphere/ncm/source/ncm_main.cpp @@ -113,12 +113,13 @@ namespace { } public: ContentManagerServerManager(ServiceType *m) - : thread(ThreadFunction, this, ThreadPriority), ncm_manager(sf::ServiceObjectTraits::SharedPointerHelper::GetEmptyDeleteSharedPointer(m)) + : thread(ThreadFunction, this, ThreadPriority), ncm_manager() { /* ... */ } - ams::Result Initialize() { + ams::Result Initialize(std::shared_ptr manager_obj) { + this->ncm_manager = manager_obj; return this->RegisterServer(ContentManagerServiceName, ContentManagerManagerSessions, this->ncm_manager); } @@ -183,23 +184,22 @@ namespace { lr::LocationResolverManagerImpl g_lr_manager_service_object; LocationResolverServerManager g_lr_server_manager(std::addressof(g_lr_manager_service_object)); -} + ALWAYS_INLINE std::shared_ptr GetSharedPointerToContentManager() { + return sf::ServiceObjectTraits::SharedPointerHelper::GetEmptyDeleteSharedPointer(std::addressof(g_ncm_manager_service_object)); + } -void ContentManagerServerMain(void *arg) { - /* Create services. */ - R_ABORT_UNLESS(g_ncm_server_manager.RegisterServer(ContentManagerServiceName, ContentManagerManagerSessions)); - - /* Loop forever, servicing our services. */ - g_ncm_server_manager.LoopProcess(); } int main(int argc, char **argv) { - /* TODO: Initialize content manager implementation. */ + auto content_manager = GetSharedPointerToContentManager(); + R_ABORT_UNLESS(content_manager->Initialize()); - R_ABORT_UNLESS(g_ncm_server_manager.Initialize()); + R_ABORT_UNLESS(g_ncm_server_manager.Initialize(content_manager)); R_ABORT_UNLESS(g_ncm_server_manager.StartThreads()); + ncm::InitializeWithObject(content_manager); + R_ABORT_UNLESS(g_lr_server_manager.Initialize()); R_ABORT_UNLESS(g_lr_server_manager.StartThreads());