change non-domain (C) function to domain (D) function
This commit is contained in:
parent
b901748de9
commit
8f1de7d622
5 changed files with 43 additions and 34 deletions
|
|
@ -11,6 +11,7 @@
|
||||||
#include "core/hle/service/cmif_types.h"
|
#include "core/hle/service/cmif_types.h"
|
||||||
#include "core/hle/service/ipc_helpers.h"
|
#include "core/hle/service/ipc_helpers.h"
|
||||||
#include "core/hle/service/service.h"
|
#include "core/hle/service/service.h"
|
||||||
|
#include <typeinfo>
|
||||||
|
|
||||||
namespace Service {
|
namespace Service {
|
||||||
|
|
||||||
|
|
@ -439,7 +440,16 @@ template <bool Domain, typename T, typename... A>
|
||||||
void CmifReplyWrapImpl(HLERequestContext& ctx, T& t, Result (T::*f)(A...)) {
|
void CmifReplyWrapImpl(HLERequestContext& ctx, T& t, Result (T::*f)(A...)) {
|
||||||
// Verify domain state.
|
// Verify domain state.
|
||||||
if constexpr (!Domain) {
|
if constexpr (!Domain) {
|
||||||
ASSERT_MSG(!ctx.GetManager()->IsDomain(), "Non-domain reply used on domain session");
|
const auto _mgr = ctx.GetManager();
|
||||||
|
const bool _is_domain = _mgr ? _mgr->IsDomain() : false;
|
||||||
|
ASSERT_MSG(!_is_domain,
|
||||||
|
"Non-domain reply used on domain session\n"
|
||||||
|
"Service={} (type={})\nTIPC={} CmdType={} Cmd=0x{:08X}\n"
|
||||||
|
"HasDomainHeader={} DomainHandlers={}\nDesc={}",
|
||||||
|
t.GetServiceName(), typeid(T).name(), ctx.IsTipc(),
|
||||||
|
static_cast<u32>(ctx.GetCommandType()), static_cast<u32>(ctx.GetCommand()),
|
||||||
|
ctx.HasDomainMessageHeader(), _mgr ? static_cast<u32>(_mgr->DomainHandlerCount()) : 0u,
|
||||||
|
ctx.Description());
|
||||||
}
|
}
|
||||||
const bool is_domain = Domain ? ctx.GetManager()->IsDomain() : false;
|
const bool is_domain = Domain ? ctx.GetManager()->IsDomain() : false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,15 @@ namespace Service::LDN {
|
||||||
IClientProcessMonitor::IClientProcessMonitor(Core::System& system_)
|
IClientProcessMonitor::IClientProcessMonitor(Core::System& system_)
|
||||||
: ServiceFramework{system_, "IClientProcessMonitor"} {
|
: ServiceFramework{system_, "IClientProcessMonitor"} {
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, C<&IClientProcessMonitor::RegisterClient>, "RegisterClient"},
|
{0, D<&IClientProcessMonitor::RegisterClient>, "RegisterClient"},
|
||||||
};
|
};
|
||||||
RegisterHandlers(functions);
|
RegisterHandlers(functions);
|
||||||
}
|
}
|
||||||
|
|
||||||
IClientProcessMonitor::~IClientProcessMonitor() = default;
|
IClientProcessMonitor::~IClientProcessMonitor() = default;
|
||||||
|
|
||||||
Result IClientProcessMonitor::RegisterClient(Handle process_handle, u64 pid_placeholder) {
|
Result IClientProcessMonitor::RegisterClient() {
|
||||||
LOG_WARNING(Service_LDN, "(STUBBED) called, process_handle={}, pid_placeholder={}",
|
LOG_WARNING(Service_LDN, "(STUBBED) called");
|
||||||
process_handle, pid_placeholder);
|
|
||||||
|
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ public:
|
||||||
~IClientProcessMonitor() override;
|
~IClientProcessMonitor() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Result RegisterClient(Handle process_handle, u64 pid_placeholder);
|
Result RegisterClient();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Service::LDN
|
} // namespace Service::LDN
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ public:
|
||||||
explicit IUserServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:u"} {
|
explicit IUserServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:u"} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, C<&IUserServiceCreator::CreateUserLocalCommunicationService>, "CreateUserLocalCommunicationService"},
|
{0, D<&IUserServiceCreator::CreateUserLocalCommunicationService>, "CreateUserLocalCommunicationService"},
|
||||||
{1, C<&IUserServiceCreator::CreateClientProcessMonitor>, "CreateClientProcessMonitor"} // 18.0.0+
|
{1, D<&IUserServiceCreator::CreateClientProcessMonitor>, "CreateClientProcessMonitor"} // 18.0.0+
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,35 +27,35 @@ IUserLocalCommunicationService::IUserLocalCommunicationService(Core::System& sys
|
||||||
lan_discovery{} {
|
lan_discovery{} {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{0, C<&IUserLocalCommunicationService::GetState>, "GetState"},
|
{0, D<&IUserLocalCommunicationService::GetState>, "GetState"},
|
||||||
{1, C<&IUserLocalCommunicationService::GetNetworkInfo>, "GetNetworkInfo"},
|
{1, D<&IUserLocalCommunicationService::GetNetworkInfo>, "GetNetworkInfo"},
|
||||||
{2, C<&IUserLocalCommunicationService::GetIpv4Address>, "GetIpv4Address"},
|
{2, D<&IUserLocalCommunicationService::GetIpv4Address>, "GetIpv4Address"},
|
||||||
{3, C<&IUserLocalCommunicationService::GetDisconnectReason>, "GetDisconnectReason"},
|
{3, D<&IUserLocalCommunicationService::GetDisconnectReason>, "GetDisconnectReason"},
|
||||||
{4, C<&IUserLocalCommunicationService::GetSecurityParameter>, "GetSecurityParameter"},
|
{4, D<&IUserLocalCommunicationService::GetSecurityParameter>, "GetSecurityParameter"},
|
||||||
{5, C<&IUserLocalCommunicationService::GetNetworkConfig>, "GetNetworkConfig"},
|
{5, D<&IUserLocalCommunicationService::GetNetworkConfig>, "GetNetworkConfig"},
|
||||||
{100, C<&IUserLocalCommunicationService::AttachStateChangeEvent>, "AttachStateChangeEvent"},
|
{100, D<&IUserLocalCommunicationService::AttachStateChangeEvent>, "AttachStateChangeEvent"},
|
||||||
{101, C<&IUserLocalCommunicationService::GetNetworkInfoLatestUpdate>, "GetNetworkInfoLatestUpdate"},
|
{101, D<&IUserLocalCommunicationService::GetNetworkInfoLatestUpdate>, "GetNetworkInfoLatestUpdate"},
|
||||||
{102, C<&IUserLocalCommunicationService::Scan>, "Scan"},
|
{102, D<&IUserLocalCommunicationService::Scan>, "Scan"},
|
||||||
{103, C<&IUserLocalCommunicationService::ScanPrivate>, "ScanPrivate"},
|
{103, D<&IUserLocalCommunicationService::ScanPrivate>, "ScanPrivate"},
|
||||||
{104, C<&IUserLocalCommunicationService::SetWirelessControllerRestriction>, "SetWirelessControllerRestriction"},
|
{104, D<&IUserLocalCommunicationService::SetWirelessControllerRestriction>, "SetWirelessControllerRestriction"},
|
||||||
{200, C<&IUserLocalCommunicationService::OpenAccessPoint>, "OpenAccessPoint"},
|
{200, D<&IUserLocalCommunicationService::OpenAccessPoint>, "OpenAccessPoint"},
|
||||||
{201, C<&IUserLocalCommunicationService::CloseAccessPoint>, "CloseAccessPoint"},
|
{201, D<&IUserLocalCommunicationService::CloseAccessPoint>, "CloseAccessPoint"},
|
||||||
{202, C<&IUserLocalCommunicationService::CreateNetwork>, "CreateNetwork"},
|
{202, D<&IUserLocalCommunicationService::CreateNetwork>, "CreateNetwork"},
|
||||||
{203, C<&IUserLocalCommunicationService::CreateNetworkPrivate>, "CreateNetworkPrivate"},
|
{203, D<&IUserLocalCommunicationService::CreateNetworkPrivate>, "CreateNetworkPrivate"},
|
||||||
{204, C<&IUserLocalCommunicationService::DestroyNetwork>, "DestroyNetwork"},
|
{204, D<&IUserLocalCommunicationService::DestroyNetwork>, "DestroyNetwork"},
|
||||||
{205, nullptr, "Reject"},
|
{205, nullptr, "Reject"},
|
||||||
{206, C<&IUserLocalCommunicationService::SetAdvertiseData>, "SetAdvertiseData"},
|
{206, D<&IUserLocalCommunicationService::SetAdvertiseData>, "SetAdvertiseData"},
|
||||||
{207, C<&IUserLocalCommunicationService::SetStationAcceptPolicy>, "SetStationAcceptPolicy"},
|
{207, D<&IUserLocalCommunicationService::SetStationAcceptPolicy>, "SetStationAcceptPolicy"},
|
||||||
{208, C<&IUserLocalCommunicationService::AddAcceptFilterEntry>, "AddAcceptFilterEntry"},
|
{208, D<&IUserLocalCommunicationService::AddAcceptFilterEntry>, "AddAcceptFilterEntry"},
|
||||||
{209, nullptr, "ClearAcceptFilter"},
|
{209, nullptr, "ClearAcceptFilter"},
|
||||||
{300, C<&IUserLocalCommunicationService::OpenStation>, "OpenStation"},
|
{300, D<&IUserLocalCommunicationService::OpenStation>, "OpenStation"},
|
||||||
{301, C<&IUserLocalCommunicationService::CloseStation>, "CloseStation"},
|
{301, D<&IUserLocalCommunicationService::CloseStation>, "CloseStation"},
|
||||||
{302, C<&IUserLocalCommunicationService::Connect>, "Connect"},
|
{302, D<&IUserLocalCommunicationService::Connect>, "Connect"},
|
||||||
{303, nullptr, "ConnectPrivate"},
|
{303, nullptr, "ConnectPrivate"},
|
||||||
{304, C<&IUserLocalCommunicationService::Disconnect>, "Disconnect"},
|
{304, D<&IUserLocalCommunicationService::Disconnect>, "Disconnect"},
|
||||||
{400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"},
|
{400, D<&IUserLocalCommunicationService::Initialize>, "Initialize"},
|
||||||
{401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"},
|
{401, D<&IUserLocalCommunicationService::Finalize>, "Finalize"},
|
||||||
{402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"},
|
{402, D<&IUserLocalCommunicationService::Initialize2>, "Initialize2"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue