2022-04-23 08:59:50 +00:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2018-02-02 11:31:27 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-07-30 03:58:23 +00:00
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
2019-09-21 09:07:13 +00:00
|
|
|
namespace Core {
|
|
|
|
class System;
|
|
|
|
}
|
|
|
|
|
2023-07-17 19:36:03 +00:00
|
|
|
namespace Network {
|
|
|
|
class RoomNetwork;
|
|
|
|
}
|
|
|
|
|
2018-04-20 01:41:44 +00:00
|
|
|
namespace Service::NIFM {
|
2018-02-02 11:31:27 +00:00
|
|
|
|
2023-02-18 21:26:48 +00:00
|
|
|
void LoopProcess(Core::System& system);
|
2018-02-02 11:31:27 +00:00
|
|
|
|
2022-07-30 03:58:23 +00:00
|
|
|
class IGeneralService final : public ServiceFramework<IGeneralService> {
|
|
|
|
public:
|
|
|
|
explicit IGeneralService(Core::System& system_);
|
|
|
|
~IGeneralService() override;
|
|
|
|
|
|
|
|
private:
|
2023-02-19 19:42:12 +00:00
|
|
|
void GetClientId(HLERequestContext& ctx);
|
|
|
|
void CreateScanRequest(HLERequestContext& ctx);
|
|
|
|
void CreateRequest(HLERequestContext& ctx);
|
|
|
|
void GetCurrentNetworkProfile(HLERequestContext& ctx);
|
|
|
|
void RemoveNetworkProfile(HLERequestContext& ctx);
|
|
|
|
void GetCurrentIpAddress(HLERequestContext& ctx);
|
|
|
|
void CreateTemporaryNetworkProfile(HLERequestContext& ctx);
|
|
|
|
void GetCurrentIpConfigInfo(HLERequestContext& ctx);
|
|
|
|
void IsWirelessCommunicationEnabled(HLERequestContext& ctx);
|
|
|
|
void GetInternetConnectionStatus(HLERequestContext& ctx);
|
|
|
|
void IsEthernetCommunicationEnabled(HLERequestContext& ctx);
|
|
|
|
void IsAnyInternetRequestAccepted(HLERequestContext& ctx);
|
2023-10-01 19:00:30 +00:00
|
|
|
void IsAnyForegroundRequestAccepted(HLERequestContext& ctx);
|
2022-07-30 03:58:23 +00:00
|
|
|
|
|
|
|
Network::RoomNetwork& network;
|
|
|
|
};
|
|
|
|
|
2018-04-20 01:41:44 +00:00
|
|
|
} // namespace Service::NIFM
|