hle: service: ldn: IUserLocalCommunicationService: Improve the stub.
This commit is contained in:
		| @@ -104,7 +104,7 @@ public: | |||||||
|         : ServiceFramework{system_, "IUserLocalCommunicationService"} { |         : ServiceFramework{system_, "IUserLocalCommunicationService"} { | ||||||
|         // clang-format off |         // clang-format off | ||||||
|         static const FunctionInfo functions[] = { |         static const FunctionInfo functions[] = { | ||||||
|             {0, nullptr, "GetState"}, |             {0, &IUserLocalCommunicationService::GetState, "GetState"}, | ||||||
|             {1, nullptr, "GetNetworkInfo"}, |             {1, nullptr, "GetNetworkInfo"}, | ||||||
|             {2, nullptr, "GetIpv4Address"}, |             {2, nullptr, "GetIpv4Address"}, | ||||||
|             {3, nullptr, "GetDisconnectReason"}, |             {3, nullptr, "GetDisconnectReason"}, | ||||||
| @@ -139,14 +139,38 @@ public: | |||||||
|         RegisterHandlers(functions); |         RegisterHandlers(functions); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     void Initialize2(Kernel::HLERequestContext& ctx) { |     void GetState(Kernel::HLERequestContext& ctx) { | ||||||
|         LOG_WARNING(Service_LDN, "(STUBBED) called"); |         LOG_WARNING(Service_LDN, "(STUBBED) called"); | ||||||
|  |  | ||||||
|         // Return the disabled error to indicate that LDN is currently unavailable, otherwise games |         IPC::ResponseBuilder rb{ctx, 3}; | ||||||
|         // will continue to try to make a connection. |  | ||||||
|         IPC::ResponseBuilder rb{ctx, 2}; |         // Indicate a network error, as we do not actually emulate LDN | ||||||
|         rb.Push(ERROR_DISABLED); |         rb.Push(static_cast<u32>(State::Error)); | ||||||
|  |  | ||||||
|  |         rb.Push(RESULT_SUCCESS); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     void Initialize2(Kernel::HLERequestContext& ctx) { | ||||||
|  |         LOG_DEBUG(Service_LDN, "called"); | ||||||
|  |  | ||||||
|  |         is_initialized = true; | ||||||
|  |  | ||||||
|  |         IPC::ResponseBuilder rb{ctx, 2}; | ||||||
|  |         rb.Push(RESULT_SUCCESS); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | private: | ||||||
|  |     enum class State { | ||||||
|  |         None, | ||||||
|  |         Initialized, | ||||||
|  |         AccessPointOpened, | ||||||
|  |         AccessPointCreated, | ||||||
|  |         StationOpened, | ||||||
|  |         StationConnected, | ||||||
|  |         Error, | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     bool is_initialized{}; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| class LDNS final : public ServiceFramework<LDNS> { | class LDNS final : public ServiceFramework<LDNS> { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 bunnei
					bunnei