yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

Services: Continue separation of services into their own folders

This commit is contained in:
purpasmart96 2015-06-11 15:12:16 -07:00
parent b1cb0a3f2c
commit 7933dbe6a0
75 changed files with 1190 additions and 637 deletions

View File

@ -37,6 +37,7 @@ namespace Log {
SUB(Service, APT) \
SUB(Service, GSP) \
SUB(Service, AC) \
SUB(Service, AM) \
SUB(Service, PTM) \
SUB(Service, LDR) \
SUB(Service, NIM) \

View File

@ -57,13 +57,14 @@ enum class Class : ClassType {
Service_APT, ///< The APT (Applets) service
Service_GSP, ///< The GSP (GPU control) service
Service_AC, ///< The AC (WiFi status) service
Service_AM, ///< The AM (Application manager) service
Service_PTM, ///< The PTM (Power status & misc.) service
Service_LDR, ///< The LDR (3ds dll loader) service
Service_NIM, ///< The NIM (Network interface manager) service
Service_NWM, ///< The NWM (Network manager) service
Service_NWM, ///< The NWM (Network wlan manager) service
Service_CFG, ///< The CFG (Configuration) service
Service_DSP, ///< The DSP (DSP control) service
Service_HID, ///< The HID (User input) service
Service_HID, ///< The HID (Human interface device) service
Service_SOC, ///< The SOC (Socket) service
Service_Y2R, ///< The Y2R (YUV to RGB conversion) service
HW, ///< Low-level hardware emulation

View File

@ -39,18 +39,26 @@ set(SRCS
hle/kernel/vm_manager.cpp
hle/service/ac_u.cpp
hle/service/act_u.cpp
hle/service/am_app.cpp
hle/service/am_net.cpp
hle/service/am_sys.cpp
hle/service/am/am.cpp
hle/service/am/am_app.cpp
hle/service/am/am_net.cpp
hle/service/am/am_sys.cpp
hle/service/am/am_u.cpp
hle/service/apt/apt.cpp
hle/service/apt/apt_a.cpp
hle/service/apt/apt_s.cpp
hle/service/apt/apt_u.cpp
hle/service/boss_p.cpp
hle/service/boss_u.cpp
hle/service/cam_u.cpp
hle/service/cecd_s.cpp
hle/service/cecd_u.cpp
hle/service/boss/boss.cpp
hle/service/boss/boss_p.cpp
hle/service/boss/boss_u.cpp
hle/service/cam/cam.cpp
hle/service/cam/cam_c.cpp
hle/service/cam/cam_q.cpp
hle/service/cam/cam_s.cpp
hle/service/cam/cam_u.cpp
hle/service/cecd/cecd.cpp
hle/service/cecd/cecd_s.cpp
hle/service/cecd/cecd_u.cpp
hle/service/cfg/cfg.cpp
hle/service/cfg/cfg_i.cpp
hle/service/cfg/cfg_s.cpp
@ -58,8 +66,9 @@ set(SRCS
hle/service/csnd_snd.cpp
hle/service/dsp_dsp.cpp
hle/service/err_f.cpp
hle/service/frd_a.cpp
hle/service/frd_u.cpp
hle/service/frd/frd.cpp
hle/service/frd/frd_a.cpp
hle/service/frd/frd_u.cpp
hle/service/fs/archive.cpp
hle/service/fs/fs_user.cpp
hle/service/gsp_gpu.cpp
@ -75,10 +84,13 @@ set(SRCS
hle/service/ldr_ro.cpp
hle/service/mic_u.cpp
hle/service/ndm_u.cpp
hle/service/news_s.cpp
hle/service/news_u.cpp
hle/service/nim_aoc.cpp
hle/service/nim_u.cpp
hle/service/news/news.cpp
hle/service/news/news_s.cpp
hle/service/news/news_u.cpp
hle/service/nim/nim.cpp
hle/service/nim/nim_aoc.cpp
hle/service/nim/nim_s.cpp
hle/service/nim/nim_u.cpp
hle/service/ns_s.cpp
hle/service/nwm_uds.cpp
hle/service/pm_app.cpp
@ -152,18 +164,26 @@ set(HEADERS
hle/result.h
hle/service/ac_u.h
hle/service/act_u.h
hle/service/am_app.h
hle/service/am_net.h
hle/service/am_sys.h
hle/service/am/am.h
hle/service/am/am_app.h
hle/service/am/am_net.h
hle/service/am/am_sys.h
hle/service/am/am_u.h
hle/service/apt/apt.h
hle/service/apt/apt_a.h
hle/service/apt/apt_s.h
hle/service/apt/apt_u.h
hle/service/boss_p.h
hle/service/boss_u.h
hle/service/cam_u.h
hle/service/cecd_s.h
hle/service/cecd_u.h
hle/service/boss/boss.h
hle/service/boss/boss_p.h
hle/service/boss/boss_u.h
hle/service/cam/cam.h
hle/service/cam/cam_c.h
hle/service/cam/cam_q.h
hle/service/cam/cam_s.h
hle/service/cam/cam_u.h
hle/service/cecd/cecd.h
hle/service/cecd/cecd_s.h
hle/service/cecd/cecd_u.h
hle/service/cfg/cfg.h
hle/service/cfg/cfg_i.h
hle/service/cfg/cfg_s.h
@ -171,8 +191,9 @@ set(HEADERS
hle/service/csnd_snd.h
hle/service/dsp_dsp.h
hle/service/err_f.h
hle/service/frd_a.h
hle/service/frd_u.h
hle/service/frd/frd.h
hle/service/frd/frd_a.h
hle/service/frd/frd_u.h
hle/service/fs/archive.h
hle/service/fs/fs_user.h
hle/service/gsp_gpu.h
@ -188,10 +209,13 @@ set(HEADERS
hle/service/ldr_ro.h
hle/service/mic_u.h
hle/service/ndm_u.h
hle/service/news_s.h
hle/service/news_u.h
hle/service/nim_aoc.h
hle/service/nim_u.h
hle/service/news/news.h
hle/service/news/news_s.h
hle/service/news/news_u.h
hle/service/nim/nim.h
hle/service/nim/nim_aoc.h
hle/service/nim/nim_s.h
hle/service/nim/nim_u.h
hle/service/ns_s.h
hle/service/nwm_uds.h
hle/service/pm_app.h

View File

@ -0,0 +1,55 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/service/service.h"
#include "core/hle/service/am/am_app.h"
#include "core/hle/service/am/am_net.h"
#include "core/hle/service/am/am_sys.h"
#include "core/hle/hle.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
namespace Service {
namespace AM {
void TitleIDListGetTotal(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
u32 media_type = cmd_buff[1] & 0xFF;
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0;
LOG_WARNING(Service_AM, "(STUBBED) media_type %u", media_type);
}
void GetTitleIDList(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
u32 num_titles = cmd_buff[1];
u32 media_type = cmd_buff[2] & 0xFF;
u32 addr = cmd_buff[4];
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0;
LOG_WARNING(Service_AM, "(STUBBED) Requested %u titles from media type %u", num_titles, media_type);
}
void Init() {
using namespace Kernel;
AddService(new AM_APP_Interface);
AddService(new AM_NET_Interface);
AddService(new AM_SYS_Interface);
}
void Shutdown() {
}
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,47 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace AM {
/**
* AM::TitleIDListGetTotal service function
* Gets the number of installed titles in the requested media type
* Inputs:
* 0 : Command header (0x00010040)
* 1 : Media type to load the titles from
* Outputs:
* 1 : Result, 0 on success, otherwise error code
* 2 : The number of titles in the requested media type
*/
void TitleIDListGetTotal(Service::Interface* self);
/**
* AM::GetTitleIDList service function
* Loads information about the desired number of titles from the desired media type into an array
* Inputs:
* 0 : Command header (0x00020082)
* 1 : The maximum number of titles to load
* 2 : Media type to load the titles from
* 3 : Descriptor of the output buffer pointer
* 4 : Address of the output buffer
* Outputs:
* 1 : Result, 0 on success, otherwise error code
* 2 : The number of titles loaded from the requested media type
*/
void GetTitleIDList(Service::Interface* self);
/// Initialize AM service
void Init();
/// Shutdown AM service
void Shutdown();
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/am/am.h"
#include "core/hle/service/am/am_app.h"
namespace Service {
namespace AM {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
AM_APP_Interface::AM_APP_Interface() {
//Register(FunctionTable);
}
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace AM {
class AM_APP_Interface : public Service::Interface {
public:
AM_APP_Interface();
std::string GetPortName() const override {
return "am:app";
}
};
} // namespace AM
} // namespace Service

View File

@ -3,12 +3,11 @@
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/am_net.h"
#include "core/hle/service/am/am.h"
#include "core/hle/service/am/am_net.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_NET
namespace AM_NET {
namespace Service {
namespace AM {
const Interface::FunctionInfo FunctionTable[] = {
{0x08010000, nullptr, "OpenTicket"},
@ -33,11 +32,9 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x081B00C2, nullptr, "InstallTitlesFinish"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
AM_NET_Interface::AM_NET_Interface() {
Register(FunctionTable);
}
} // namespace
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace AM {
class AM_NET_Interface : public Service::Interface {
public:
AM_NET_Interface();
std::string GetPortName() const override {
return "am:net";
}
};
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/am/am.h"
#include "core/hle/service/am/am_sys.h"
namespace Service {
namespace AM {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"},
};
AM_SYS_Interface::AM_SYS_Interface() {
Register(FunctionTable);
}
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace AM {
class AM_SYS_Interface : public Service::Interface {
public:
AM_SYS_Interface();
std::string GetPortName() const override {
return "am:sys";
}
};
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/am/am.h"
#include "core/hle/service/am/am_u.h"
namespace Service {
namespace AM {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"},
};
AM_U_Interface::AM_U_Interface() {
Register(FunctionTable);
}
} // namespace AM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace AM {
class AM_U_Interface : public Service::Interface {
public:
AM_U_Interface();
std::string GetPortName() const override {
return "am:u";
}
};
} // namespace AM
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/am_app.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_APP
namespace AM_APP {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_APP
namespace AM_APP {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "am:app";
}
};
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_NET
namespace AM_NET {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "am:net";
}
};
} // namespace

View File

@ -1,62 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/am_sys.h"
namespace AM_SYS {
/**
* Gets the number of installed titles in the requested media type
* Inputs:
* 0: Command header (0x00010040)
* 1: Media type to load the titles from
* Outputs:
* 1: Result, 0 on success, otherwise error code
* 2: The number of titles in the requested media type
*/
static void TitleIDListGetTotal(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
u32 media_type = cmd_buff[1] & 0xFF;
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0;
LOG_WARNING(Service_CFG, "(STUBBED) media_type %u", media_type);
}
/**
* Loads information about the desired number of titles from the desired media type into an array
* Inputs:
* 0: Command header (0x00020082)
* 1: The maximum number of titles to load
* 2: Media type to load the titles from
* 3: Descriptor of the output buffer pointer
* 4: Address of the output buffer
* Outputs:
* 1: Result, 0 on success, otherwise error code
* 2: The number of titles loaded from the requested media type
*/
static void GetTitleIDList(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
u32 num_titles = cmd_buff[1];
u32 media_type = cmd_buff[2] & 0xFF;
u32 addr = cmd_buff[4];
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0;
LOG_WARNING(Service_CFG, "(STUBBED) Requested %u titles from media type %u", num_titles, media_type);
}
const Interface::FunctionInfo FunctionTable[] = {
{0x00010040, TitleIDListGetTotal, "TitleIDListGetTotal"},
{0x00020082, GetTitleIDList, "GetTitleIDList"},
};
Interface::Interface() {
Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace AM_SYS
namespace AM_SYS {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "am:sys";
}
};
} // namespace

View File

@ -0,0 +1,29 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/service/service.h"
#include "core/hle/service/boss/boss.h"
#include "core/hle/service/boss/boss_p.h"
#include "core/hle/service/boss/boss_u.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
#include "core/hle/hle.h"
namespace Service {
namespace BOSS {
void Init() {
using namespace Kernel;
AddService(new BOSS_P_Interface);
AddService(new BOSS_U_Interface);
}
void Shutdown() {
}
} // namespace BOSS
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace BOSS {
/// Initialize BOSS service(s)
void Init();
/// Shutdown BOSS service(s)
void Shutdown();
} // namespace BOSS
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/boss/boss.h"
#include "core/hle/service/boss/boss_p.h"
namespace Service {
namespace BOSS {
// Empty arrays are illegal -- commented out until an entry is added.
// const Interface::FunctionInfo FunctionTable[] = { };
BOSS_P_Interface::BOSS_P_Interface() {
//Register(FunctionTable);
}
} // namespace BOSS
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace BOSS {
class BOSS_P_Interface : public Service::Interface {
public:
BOSS_P_Interface();
std::string GetPortName() const override {
return "boss:P";
}
};
} // namespace BOSS
} // namespace Service

View File

@ -0,0 +1,21 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/boss/boss.h"
#include "core/hle/service/boss/boss_u.h"
namespace Service {
namespace BOSS {
const Interface::FunctionInfo FunctionTable[] = {
{0x00020100, nullptr, "GetStorageInfo"},
};
BOSS_U_Interface::BOSS_U_Interface() {
Register(FunctionTable);
}
} // namespace BOSS
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace BOSS {
class BOSS_U_Interface : public Service::Interface {
public:
BOSS_U_Interface();
std::string GetPortName() const override {
return "boss:U";
}
};
} // namespace BOSS
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/boss_p.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace BOSS_P
namespace BOSS_P {
// Empty arrays are illegal -- commented out until an entry is added.
// const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace BOSS_P
namespace BOSS_P {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "boss:P";
}
};
} // namespace

View File

@ -1,24 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/boss_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace BOSS_U
namespace BOSS_U {
const Interface::FunctionInfo FunctionTable[] = {
{0x00020100, nullptr, "GetStorageInfo"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace BOSS_U
namespace BOSS_U {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "boss:U";
}
};
} // namespace

View File

@ -0,0 +1,35 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/service/service.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cam/cam_c.h"
#include "core/hle/service/cam/cam_q.h"
#include "core/hle/service/cam/cam_s.h"
#include "core/hle/service/cam/cam_u.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
#include "core/hle/hle.h"
namespace Service {
namespace CAM {
void Init() {
using namespace Kernel;
AddService(new CAM_C_Interface);
AddService(new CAM_Q_Interface);
AddService(new CAM_S_Interface);
AddService(new CAM_U_Interface);
}
void Shutdown() {
}
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace CAM {
/// Initialize CAM service(s)
void Init();
/// Shutdown CAM service(s)
void Shutdown();
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cam/cam_c.h"
namespace Service {
namespace CAM {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CAM_C_Interface::CAM_C_Interface() {
//Register(FunctionTable);
}
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace CAM {
class CAM_C_Interface : public Service::Interface {
public:
CAM_C_Interface();
std::string GetPortName() const override {
return "cam:c";
}
};
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cam/cam_q.h"
namespace Service {
namespace CAM {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CAM_Q_Interface::CAM_Q_Interface() {
//Register(FunctionTable);
}
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace CAM {
class CAM_Q_Interface : public Service::Interface {
public:
CAM_Q_Interface();
std::string GetPortName() const override {
return "cam:q";
}
};
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cam/cam_s.h"
namespace Service {
namespace CAM {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CAM_S_Interface::CAM_S_Interface() {
//Register(FunctionTable);
}
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace CAM {
class CAM_S_Interface : public Service::Interface {
public:
CAM_S_Interface();
std::string GetPortName() const override {
return "cam:s";
}
};
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cam/cam_u.h"
namespace Service {
namespace CAM {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CAM_U_Interface::CAM_U_Interface() {
//Register(FunctionTable);
}
} // namespace CAM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace CAM {
class CAM_U_Interface : public Service::Interface {
public:
CAM_U_Interface();
std::string GetPortName() const override {
return "cam:u";
}
};
} // namespace CAM
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cam_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CAM_U
namespace CAM_U {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CAM_U
namespace CAM_U {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "cam:u";
}
};
} // namespace

View File

@ -0,0 +1,31 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/service/service.h"
#include "core/hle/service/cecd/cecd.h"
#include "core/hle/service/cecd/cecd_s.h"
#include "core/hle/service/cecd/cecd_u.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
#include "core/hle/hle.h"
namespace Service {
namespace CECD {
void Init() {
using namespace Kernel;
AddService(new CECD_S_Interface);
AddService(new CECD_U_Interface);
}
void Shutdown() {
}
} // namespace CECD
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace CECD {
/// Initialize CECD service(s)
void Init();
/// Shutdown CECD service(s)
void Shutdown();
} // namespace CECD
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cecd/cecd.h"
#include "core/hle/service/cecd/cecd_s.h"
namespace Service {
namespace CECD {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CECD_S_Interface::CECD_S_Interface() {
//Register(FunctionTable);
}
} // namespace CECD
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CECD_S
namespace Service {
namespace CECD {
namespace CECD_S {
class Interface : public Service::Interface {
class CECD_S_Interface : public Interface {
public:
Interface();
CECD_S_Interface();
std::string GetPortName() const override {
return "cecd:s";
}
};
} // namespace
} // namespace CECD
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cecd/cecd.h"
#include "core/hle/service/cecd/cecd_u.h"
namespace Service {
namespace CECD {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
CECD_U_Interface::CECD_U_Interface() {
//Register(FunctionTable);
}
} // namespace CECD
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CECD_U
namespace Service {
namespace CECD {
namespace CECD_U {
class Interface : public Service::Interface {
class CECD_U_Interface : public Interface {
public:
Interface();
CECD_U_Interface();
std::string GetPortName() const override {
return "cecd:u";
}
};
} // namespace
} // namespace CECD
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cecd_s.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CECD_S
namespace CECD_S {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/cecd_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace CECD_U
namespace CECD_U {
// Empty arrays are illegal -- commented out until an entry is added.
//const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -0,0 +1,29 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/service/service.h"
#include "core/hle/service/frd/frd.h"
#include "core/hle/service/frd/frd_a.h"
#include "core/hle/service/frd/frd_u.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
#include "core/hle/hle.h"
namespace Service {
namespace FRD {
void Init() {
using namespace Kernel;
AddService(new FRD_A_Interface);
AddService(new FRD_U_Interface);
}
void Shutdown() {
}
} // namespace FRD
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace FRD {
/// Initialize FRD service(s)
void Init();
/// Shutdown FRD service(s)
void Shutdown();
} // namespace FRD
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/frd/frd.h"
#include "core/hle/service/frd/frd_a.h"
namespace Service {
namespace FRD {
// Empty arrays are illegal -- commented out until an entry is added.
// const Interface::FunctionInfo FunctionTable[] = { };
FRD_A_Interface::FRD_A_Interface() {
//Register(FunctionTable);
}
} // namespace FRD
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace FRD_A
namespace Service {
namespace FRD {
namespace FRD_A {
class Interface : public Service::Interface {
class FRD_A_Interface : public Service::Interface {
public:
Interface();
FRD_A_Interface();
std::string GetPortName() const override {
return "frd:a";
}
};
} // namespace
} // namespace FRD
} // namespace Service

View File

@ -3,12 +3,11 @@
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/frd_u.h"
#include "core/hle/service/frd/frd.h"
#include "core/hle/service/frd/frd_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace FRD_U
namespace FRD_U {
namespace Service {
namespace FRD {
const Interface::FunctionInfo FunctionTable[] = {
{0x00050000, nullptr, "GetFriendKey"},
@ -22,11 +21,9 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00320042, nullptr, "SetClientSdkVersion"}
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
FRD_U_Interface::FRD_U_Interface() {
Register(FunctionTable);
}
} // namespace
} // namespace FRD
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace FRD_U
namespace Service {
namespace FRD {
namespace FRD_U {
class Interface : public Service::Interface {
class FRD_U_Interface : public Service::Interface {
public:
Interface();
FRD_U_Interface();
std::string GetPortName() const override {
return "frd:u";
}
};
} // namespace
} // namespace FRD
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/frd_a.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace FRD_A
namespace FRD_A {
// Empty arrays are illegal -- commented out until an entry is added.
// const Interface::FunctionInfo FunctionTable[] = { };
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
//Register(FunctionTable);
}
} // namespace

View File

@ -0,0 +1,31 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/service/service.h"
#include "core/hle/service/news/news.h"
#include "core/hle/service/news/news_s.h"
#include "core/hle/service/news/news_u.h"
#include "core/hle/hle.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
namespace Service {
namespace NEWS {
void Init() {
using namespace Kernel;
AddService(new NEWS_S_Interface);
AddService(new NEWS_U_Interface);
}
void Shutdown() {
}
} // namespace NEWS
} // namespace Service

View File

@ -0,0 +1,20 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace NEWS {
/// Initialize NEWS service(s)
void Init();
/// Shutdown NEWS service(s)
void Shutdown();
} // namespace NEWS
} // namespace Service

View File

@ -0,0 +1,21 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/news/news.h"
#include "core/hle/service/news/news_s.h"
namespace Service {
namespace NEWS {
const Interface::FunctionInfo FunctionTable[] = {
{0x000100C6, nullptr, "AddNotification"},
};
NEWS_S_Interface::NEWS_S_Interface() {
Register(FunctionTable);
}
} // namespace NEWS
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NEWS_S
namespace Service {
namespace NEWS {
namespace NEWS_S {
class Interface : public Service::Interface {
class NEWS_S_Interface : public Service::Interface {
public:
Interface();
NEWS_S_Interface();
std::string GetPortName() const override {
return "news:s";
}
};
} // namespace
} // namespace NEWS
} // namespace Service

View File

@ -0,0 +1,21 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/news/news.h"
#include "core/hle/service/news/news_u.h"
namespace Service {
namespace NEWS {
const Interface::FunctionInfo FunctionTable[] = {
{0x000100C6, nullptr, "AddNotification"},
};
NEWS_U_Interface::NEWS_U_Interface() {
Register(FunctionTable);
}
} // namespace NEWS
} // namespace Service

View File

@ -6,18 +6,17 @@
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NEWS_U
namespace Service {
namespace NEWS {
namespace NEWS_U {
class Interface : public Service::Interface {
class NEWS_U_Interface : public Service::Interface {
public:
Interface();
NEWS_U_Interface();
std::string GetPortName() const override {
return "news:u";
}
};
} // namespace
} // namespace NEWS
} // namespace Service

View File

@ -1,24 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/news_s.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NEWS_S
namespace NEWS_S {
const Interface::FunctionInfo FunctionTable[] = {
{0x000100C6, nullptr, "AddNotification"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable);
}
} // namespace

View File

@ -1,24 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/news_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NEWS_U
namespace NEWS_U {
const Interface::FunctionInfo FunctionTable[] = {
{0x000100C8, nullptr, "AddNotification"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable);
}
} // namespace

View File

@ -0,0 +1,42 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/service/service.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/nim/nim_aoc.h"
#include "core/hle/service/nim/nim_s.h"
#include "core/hle/service/nim/nim_u.h"
#include "core/hle/kernel/event.h"
#include "core/hle/kernel/shared_memory.h"
#include "core/hle/hle.h"
namespace Service {
namespace NIM {
void CheckSysUpdateAvailable(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0; // No update available
LOG_WARNING(Service_NWM, "(STUBBED) called");
}
void Init() {
using namespace Kernel;
AddService(new NIM_AOC_Interface);
AddService(new NIM_S_Interface);
AddService(new NIM_U_Interface);
}
void Shutdown() {
}
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,30 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/kernel/kernel.h"
#include "core/hle/service/service.h"
namespace Service {
namespace NIM {
/**
* NIM::CheckSysUpdateAvailable service function
* Inputs:
* 1 : None
* Outputs:
* 1 : Result of function, 0 on success, otherwise error code
* 2 : flag, 0 = no system update available, 1 = system update available.
*/
void CheckSysUpdateAvailable(Service::Interface* self);
/// Initialize NIM service(s)
void Init();
/// Shutdown NIM service(s)
void Shutdown();
} // namespace NIM
} // namespace Service

View File

@ -3,12 +3,11 @@
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/nim_aoc.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/nim/nim_aoc.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NIM_AOC
namespace NIM_AOC {
namespace Service {
namespace NIM {
const Interface::FunctionInfo FunctionTable[] = {
{0x00030042, nullptr, "SetApplicationId"},
@ -20,11 +19,10 @@ const Interface::FunctionInfo FunctionTable[] = {
{0x00240282, nullptr, "CalculateContentsRequiredSize"},
{0x00250000, nullptr, "RefreshServerTime"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
NIM_AOC_Interface::NIM_AOC_Interface() {
Register(FunctionTable);
}
} // namespace
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace NIM {
class NIM_AOC_Interface : public Service::Interface {
public:
NIM_AOC_Interface();
std::string GetPortName() const override {
return "nim:aoc";
}
};
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/nim/nim_s.h"
namespace Service {
namespace NIM {
const Interface::FunctionInfo FunctionTable[] = {
{0x000A0000, nullptr, "CheckSysupdateAvailableSOAP"},
};
NIM_S_Interface::NIM_S_Interface() {
Register(FunctionTable);
}
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace NIM {
class NIM_S_Interface : public Service::Interface {
public:
NIM_S_Interface();
std::string GetPortName() const override {
return "nim:s";
}
};
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,27 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "core/hle/hle.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/nim/nim_u.h"
namespace Service {
namespace NIM {
const Interface::FunctionInfo FunctionTable[] = {
{0x00010000, nullptr, "StartSysUpdate"},
{0x00020000, nullptr, "GetUpdateDownloadProgress"},
{0x00040000, nullptr, "FinishTitlesInstall"},
{0x00050000, nullptr, "CheckForSysUpdateEvent"},
{0x00090000, CheckSysUpdateAvailable, "CheckSysUpdateAvailable"},
{0x000A0000, nullptr, "GetState"},
};
NIM_U_Interface::NIM_U_Interface() {
Register(FunctionTable);
}
} // namespace NIM
} // namespace Service

View File

@ -0,0 +1,22 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included..
#pragma once
#include "core/hle/service/service.h"
namespace Service {
namespace NIM {
class NIM_U_Interface : public Service::Interface {
public:
NIM_U_Interface();
std::string GetPortName() const override {
return "nim:u";
}
};
} // namespace NIM
} // namespace Service

View File

@ -1,23 +0,0 @@
// Copyright 2014 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NIM_AOC
namespace NIM_AOC {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "nim:aoc";
}
};
} // namespace

View File

@ -1,48 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#include "common/logging/log.h"
#include "core/hle/hle.h"
#include "core/hle/service/nim_u.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NIM_U
namespace NIM_U {
/**
* NIM_U::CheckSysUpdateAvailable service function
* Inputs:
* 1 : None
* Outputs:
* 1 : Result of function, 0 on success, otherwise error code
* 2 : flag, 0 = no system update available, 1 = system update available.
*/
static void CheckSysUpdateAvailable(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = 0; // No update available
LOG_WARNING(Service_NWM, "(STUBBED) called");
}
const Interface::FunctionInfo FunctionTable[] = {
{0x00010000, nullptr, "StartSysUpdate"},
{0x00020000, nullptr, "GetUpdateDownloadProgress"},
{0x00040000, nullptr, "FinishTitlesInstall"},
{0x00050000, nullptr, "CheckForSysUpdateEvent"},
{0x00090000, CheckSysUpdateAvailable, "CheckSysUpdateAvailable"},
{0x000A0000, nullptr, "GetState"},
};
////////////////////////////////////////////////////////////////////////////////////////////////////
// Interface class
Interface::Interface() {
Register(FunctionTable);
}
} // namespace

View File

@ -1,23 +0,0 @@
// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
// Namespace NIM_U
namespace NIM_U {
class Interface : public Service::Interface {
public:
Interface();
std::string GetPortName() const override {
return "nim:u";
}
};
} // namespace

View File

@ -8,29 +8,15 @@
#include "core/hle/service/service.h"
#include "core/hle/service/ac_u.h"
#include "core/hle/service/act_u.h"
#include "core/hle/service/am_app.h"
#include "core/hle/service/am_net.h"
#include "core/hle/service/am_sys.h"
#include "core/hle/service/boss_p.h"
#include "core/hle/service/boss_u.h"
#include "core/hle/service/cam_u.h"
#include "core/hle/service/cecd_u.h"
#include "core/hle/service/cecd_s.h"
#include "core/hle/service/csnd_snd.h"
#include "core/hle/service/dsp_dsp.h"
#include "core/hle/service/err_f.h"
#include "core/hle/service/frd_a.h"
#include "core/hle/service/frd_u.h"
#include "core/hle/service/gsp_gpu.h"
#include "core/hle/service/gsp_lcd.h"
#include "core/hle/service/http_c.h"
#include "core/hle/service/ldr_ro.h"
#include "core/hle/service/mic_u.h"
#include "core/hle/service/ndm_u.h"
#include "core/hle/service/news_s.h"
#include "core/hle/service/news_u.h"
#include "core/hle/service/nim_aoc.h"
#include "core/hle/service/nim_u.h"
#include "core/hle/service/ns_s.h"
#include "core/hle/service/nwm_uds.h"
#include "core/hle/service/pm_app.h"
@ -39,11 +25,18 @@
#include "core/hle/service/ssl_c.h"
#include "core/hle/service/y2r_u.h"
#include "core/hle/service/am/am.h"
#include "core/hle/service/apt/apt.h"
#include "core/hle/service/boss/boss.h"
#include "core/hle/service/cam/cam.h"
#include "core/hle/service/cecd/cecd.h"
#include "core/hle/service/frd/frd.h"
#include "core/hle/service/fs/archive.h"
#include "core/hle/service/cfg/cfg.h"
#include "core/hle/service/hid/hid.h"
#include "core/hle/service/ir/ir.h"
#include "core/hle/service/news/news.h"
#include "core/hle/service/nim/nim.h"
#include "core/hle/service/ptm/ptm.h"
namespace Service {
@ -111,36 +104,29 @@ void Init() {
AddNamedPort(new ERR_F::Interface);
Service::FS::ArchiveInit();
Service::CFG::Init();
Service::AM::Init();
Service::APT::Init();
Service::PTM::Init();
Service::BOSS::Init();
Service::CAM::Init();
Service::CECD::Init();
Service::CFG::Init();
Service::FRD::Init();
Service::HID::Init();
Service::IR::Init();
Service::NEWS::Init();
Service::NIM::Init();
Service::PTM::Init();
AddService(new AC_U::Interface);
AddService(new ACT_U::Interface);
AddService(new AM_APP::Interface);
AddService(new AM_NET::Interface);
AddService(new AM_SYS::Interface);
AddService(new BOSS_P::Interface);
AddService(new BOSS_U::Interface);
AddService(new CAM_U::Interface);
AddService(new CECD_S::Interface);
AddService(new CECD_U::Interface);
AddService(new CSND_SND::Interface);
AddService(new DSP_DSP::Interface);
AddService(new FRD_A::Interface);
AddService(new FRD_U::Interface);
AddService(new GSP_GPU::Interface);
AddService(new GSP_LCD::Interface);
AddService(new HTTP_C::Interface);
AddService(new LDR_RO::Interface);
AddService(new MIC_U::Interface);
AddService(new NDM_U::Interface);
AddService(new NEWS_S::Interface);
AddService(new NEWS_U::Interface);
AddService(new NIM_AOC::Interface);
AddService(new NIM_U::Interface);
AddService(new NS_S::Interface);
AddService(new NWM_UDS::Interface);
AddService(new PM_APP::Interface);
@ -153,11 +139,19 @@ void Init() {
/// Shutdown ServiceManager
void Shutdown() {
Service::PTM::Shutdown();
Service::NIM::Shutdown();
Service::NEWS::Shutdown();
Service::IR::Shutdown();
Service::HID::Shutdown();
Service::PTM::Shutdown();
Service::APT::Shutdown();
Service::FRD::Shutdown();
Service::CFG::Shutdown();
Service::CECD::Shutdown();
Service::CAM::Shutdown();
Service::BOSS::Shutdown();
Service::APT::Shutdown();
Service::AM::Shutdown();
Service::FS::ArchiveShutdown();
g_srv_services.clear();