ncm: fix up main

This commit is contained in:
Michael Scire 2020-03-04 01:22:15 -08:00
parent e1a5e31152
commit 674fd8f1e2
2 changed files with 12 additions and 12 deletions

View file

@ -70,7 +70,7 @@ namespace ams::ncm {
}
Result ContentManagerImpl::~ContentManagerImpl() {
ContentManagerImpl::~ContentManagerImpl() {
{
std::scoped_lock lk(this->mutex);

View file

@ -113,12 +113,13 @@ namespace {
}
public:
ContentManagerServerManager(ServiceType *m)
: thread(ThreadFunction, this, ThreadPriority), ncm_manager(sf::ServiceObjectTraits<ServiceType>::SharedPointerHelper::GetEmptyDeleteSharedPointer(m))
: thread(ThreadFunction, this, ThreadPriority), ncm_manager()
{
/* ... */
}
ams::Result Initialize() {
ams::Result Initialize(std::shared_ptr<ServiceType> manager_obj) {
this->ncm_manager = manager_obj;
return this->RegisterServer<ServiceType>(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<ncm::ContentManagerImpl> GetSharedPointerToContentManager() {
return sf::ServiceObjectTraits<ncm::ContentManagerImpl>::SharedPointerHelper::GetEmptyDeleteSharedPointer(std::addressof(g_ncm_manager_service_object));
}
void ContentManagerServerMain(void *arg) {
/* Create services. */
R_ABORT_UNLESS(g_ncm_server_manager.RegisterServer<ncm::ContentManagerImpl>(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());