mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Merge pull request #5087 from FearlessTobi/port-3374
Port yuzu-emu/yuzu#3374: "input_common/udp: Minor changes"
This commit is contained in:
		
						commit
						59c159e8a0
					
				
					 5 changed files with 13 additions and 18 deletions
				
			
		|  | @ -14,7 +14,6 @@ | |||
| #include "input_common/udp/client.h" | ||||
| #include "input_common/udp/protocol.h" | ||||
| 
 | ||||
| using boost::asio::ip::address_v4; | ||||
| using boost::asio::ip::udp; | ||||
| 
 | ||||
| namespace InputCommon::CemuhookUDP { | ||||
|  | @ -31,10 +30,10 @@ public: | |||
| 
 | ||||
|     explicit Socket(const std::string& host, u16 port, u8 pad_index, u32 client_id, | ||||
|                     SocketCallback callback) | ||||
|         : client_id(client_id), timer(io_service), | ||||
|           send_endpoint(udp::endpoint(address_v4::from_string(host), port)), | ||||
|           socket(io_service, udp::endpoint(udp::v4(), 0)), pad_index(pad_index), | ||||
|           callback(std::move(callback)) {} | ||||
|         : callback(std::move(callback)), timer(io_service), | ||||
|           socket(io_service, udp::endpoint(udp::v4(), 0)), client_id(client_id), | ||||
|           pad_index(pad_index), | ||||
|           send_endpoint(udp::endpoint(boost::asio::ip::make_address_v4(host), port)) {} | ||||
| 
 | ||||
|     void Stop() { | ||||
|         io_service.stop(); | ||||
|  | @ -126,7 +125,7 @@ static void SocketLoop(Socket* socket) { | |||
| 
 | ||||
| Client::Client(std::shared_ptr<DeviceStatus> status, const std::string& host, u16 port, | ||||
|                u8 pad_index, u32 client_id) | ||||
|     : status(status) { | ||||
|     : status(std::move(status)) { | ||||
|     StartCommunication(host, port, pad_index, client_id); | ||||
| } | ||||
| 
 | ||||
|  | @ -208,7 +207,7 @@ void TestCommunication(const std::string& host, u16 port, u8 pad_index, u32 clie | |||
|         Common::Event success_event; | ||||
|         SocketCallback callback{[](Response::Version version) {}, [](Response::PortInfo info) {}, | ||||
|                                 [&](Response::PadData data) { success_event.Set(); }}; | ||||
|         Socket socket{host, port, pad_index, client_id, callback}; | ||||
|         Socket socket{host, port, pad_index, client_id, std::move(callback)}; | ||||
|         std::thread worker_thread{SocketLoop, &socket}; | ||||
|         bool result = success_event.WaitFor(std::chrono::seconds(8)); | ||||
|         socket.Stop(); | ||||
|  | @ -264,7 +263,7 @@ CalibrationConfigurationJob::CalibrationConfigurationJob( | |||
|                                         complete_event.Set(); | ||||
|                                     } | ||||
|                                 }}; | ||||
|         Socket socket{host, port, pad_index, client_id, callback}; | ||||
|         Socket socket{host, port, pad_index, client_id, std::move(callback)}; | ||||
|         std::thread worker_thread{SocketLoop, &socket}; | ||||
|         complete_event.Wait(); | ||||
|         socket.Stop(); | ||||
|  |  | |||
|  | @ -11,7 +11,6 @@ | |||
| #include <string> | ||||
| #include <thread> | ||||
| #include <tuple> | ||||
| #include <vector> | ||||
| #include "common/common_types.h" | ||||
| #include "common/thread.h" | ||||
| #include "common/vector_math.h" | ||||
|  |  | |||
|  | @ -7,7 +7,6 @@ | |||
| #include <array> | ||||
| #include <optional> | ||||
| #include <type_traits> | ||||
| #include <vector> | ||||
| #include <boost/crc.hpp> | ||||
| #include "common/bit_field.h" | ||||
| #include "common/swap.h" | ||||
|  |  | |||
|  | @ -2,7 +2,8 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/logging/log.h" | ||||
| #include <mutex> | ||||
| #include <tuple> | ||||
| #include "common/param_package.h" | ||||
| #include "core/frontend/input.h" | ||||
| #include "core/settings.h" | ||||
|  | @ -14,7 +15,7 @@ namespace InputCommon::CemuhookUDP { | |||
| class UDPTouchDevice final : public Input::TouchDevice { | ||||
| public: | ||||
|     explicit UDPTouchDevice(std::shared_ptr<DeviceStatus> status_) : status(std::move(status_)) {} | ||||
|     std::tuple<float, float, bool> GetStatus() const { | ||||
|     std::tuple<float, float, bool> GetStatus() const override { | ||||
|         std::lock_guard guard(status->update_mutex); | ||||
|         return status->touch_status; | ||||
|     } | ||||
|  | @ -26,7 +27,7 @@ private: | |||
| class UDPMotionDevice final : public Input::MotionDevice { | ||||
| public: | ||||
|     explicit UDPMotionDevice(std::shared_ptr<DeviceStatus> status_) : status(std::move(status_)) {} | ||||
|     std::tuple<Common::Vec3<float>, Common::Vec3<float>> GetStatus() const { | ||||
|     std::tuple<Common::Vec3<float>, Common::Vec3<float>> GetStatus() const override { | ||||
|         std::lock_guard guard(status->update_mutex); | ||||
|         return status->motion_status; | ||||
|     } | ||||
|  |  | |||
|  | @ -2,16 +2,13 @@ | |||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <memory> | ||||
| #include <unordered_map> | ||||
| #include "input_common/main.h" | ||||
| #include "input_common/udp/client.h" | ||||
| 
 | ||||
| namespace InputCommon::CemuhookUDP { | ||||
| 
 | ||||
| class UDPTouchDevice; | ||||
| class UDPMotionDevice; | ||||
| 
 | ||||
| class State { | ||||
| public: | ||||
|     State(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue