2022-04-23 01:59:50 -07:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2018-02-02 03:31:27 -08:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-07-29 20:58:23 -07:00
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
2019-09-21 02:07:13 -07:00
|
|
|
namespace Core {
|
|
|
|
class System;
|
|
|
|
}
|
|
|
|
|
2023-07-17 12:36:03 -07:00
|
|
|
namespace Network {
|
|
|
|
class RoomNetwork;
|
|
|
|
}
|
|
|
|
|
2018-04-19 18:41:44 -07:00
|
|
|
namespace Service::NIFM {
|
2018-02-02 03:31:27 -08:00
|
|
|
|
2023-02-18 13:26:48 -08:00
|
|
|
void LoopProcess(Core::System& system);
|
2018-02-02 03:31:27 -08:00
|
|
|
|
2022-07-29 20:58:23 -07:00
|
|
|
class IGeneralService final : public ServiceFramework<IGeneralService> {
|
|
|
|
public:
|
|
|
|
explicit IGeneralService(Core::System& system_);
|
|
|
|
~IGeneralService() override;
|
|
|
|
|
|
|
|
private:
|
2023-02-19 11:42:12 -08: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);
|
2022-07-29 20:58:23 -07:00
|
|
|
|
|
|
|
Network::RoomNetwork& network;
|
|
|
|
};
|
|
|
|
|
2018-04-19 18:41:44 -07:00
|
|
|
} // namespace Service::NIFM
|