From 49192dbb98e0ab1f2a66b4786fac86d63f69be64 Mon Sep 17 00:00:00 2001 From: "1992414357@qq.com" <1992414357@qq.com> Date: Mon, 9 Jun 2025 01:44:36 +0800 Subject: 重构所有部分 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../c/src/data_c/connection_callback_message_c.rs | 129 --------------------- 1 file changed, 129 deletions(-) delete mode 100644 bindings/c/src/data_c/connection_callback_message_c.rs (limited to 'bindings/c/src/data_c/connection_callback_message_c.rs') diff --git a/bindings/c/src/data_c/connection_callback_message_c.rs b/bindings/c/src/data_c/connection_callback_message_c.rs deleted file mode 100644 index 9ded18b..0000000 --- a/bindings/c/src/data_c/connection_callback_message_c.rs +++ /dev/null @@ -1,129 +0,0 @@ -use crate::data_c::game_profile_c::GameProfileC; -use nogamepads_lib_rs::pad_data::pad_messages::nogamepads_messages::{ConnectionCallbackMessage, ConnectionErrorType}; -use std::ffi::c_void; -use std::mem::ManuallyDrop; -use std::ptr::null_mut; - -#[repr(C)] -#[allow(unused_imports)] -pub struct ConnectionCallbackMessageC { - pub tag: ConnCallbackMsgCTag, - pub data: ConnCallbackMsgCUnion, -} - -#[repr(C)] -#[allow(unused_imports)] -pub enum ConnCallbackMsgCTag { - Profile, Deny, Fail, Ok, Welcome, Err -} - -#[repr(C)] -#[allow(unused_imports)] -pub union ConnCallbackMsgCUnion { - nul: *mut c_void, - profile: ManuallyDrop, - conn_err: ConnErrTypeC -} - -#[repr(C)] -#[allow(unused_imports)] -#[derive(Copy, Clone)] -pub enum ConnErrTypeC { - ContainSamePlayer, PlayerBanned, Timeout, GameLocked, WhatTheHell -} - -impl From for ConnectionErrorType { - fn from(value: ConnErrTypeC) -> Self { - match value { - ConnErrTypeC::ContainSamePlayer => { ConnectionErrorType::ContainSamePlayer } - ConnErrTypeC::PlayerBanned => { ConnectionErrorType::PlayerBanned } - ConnErrTypeC::Timeout => { ConnectionErrorType::Timeout } - ConnErrTypeC::GameLocked => { ConnectionErrorType::GameLocked } - ConnErrTypeC::WhatTheHell => { ConnectionErrorType::WhatTheHell } - } - } -} - -impl From for ConnErrTypeC { - fn from(value: ConnectionErrorType) -> Self { - match value { - ConnectionErrorType::ContainSamePlayer => { ConnErrTypeC::ContainSamePlayer } - ConnectionErrorType::PlayerBanned => { ConnErrTypeC::PlayerBanned } - ConnectionErrorType::Timeout => { ConnErrTypeC::Timeout } - ConnectionErrorType::GameLocked => { ConnErrTypeC::GameLocked } - ConnectionErrorType::WhatTheHell => { ConnErrTypeC::WhatTheHell } - } - } -} - -impl From for ConnectionCallbackMessage { - fn from(mut value: ConnectionCallbackMessageC) -> Self { - match value.tag { - ConnCallbackMsgCTag::Profile => unsafe { - let profile = ManuallyDrop::take(&mut value.data.profile); - ConnectionCallbackMessage::Profile(profile.into()) - } - ConnCallbackMsgCTag::Deny => unsafe { - ConnectionCallbackMessage::Deny(value.data.conn_err.into()) - } - ConnCallbackMsgCTag::Fail => unsafe { - ConnectionCallbackMessage::Fail(value.data.conn_err.into()) - } - ConnCallbackMsgCTag::Ok => { - ConnectionCallbackMessage::Ok - - } - ConnCallbackMsgCTag::Welcome => { - ConnectionCallbackMessage::Welcome - } - ConnCallbackMsgCTag::Err => { - ConnectionCallbackMessage::Err - } - } - } -} - -impl From for ConnectionCallbackMessageC { - fn from(value: ConnectionCallbackMessage) -> Self { - match value { - ConnectionCallbackMessage::Profile(profile) => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Profile, - data: ConnCallbackMsgCUnion { - profile: ManuallyDrop::new(profile.into()) - } - } - } - ConnectionCallbackMessage::Deny(conn_err) => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Deny, - data: ConnCallbackMsgCUnion { conn_err: conn_err.into() } - } - } - ConnectionCallbackMessage::Fail(conn_err) => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Fail, - data: ConnCallbackMsgCUnion { conn_err: conn_err.into() } - } - } - ConnectionCallbackMessage::Ok => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Ok, - data: ConnCallbackMsgCUnion { nul: null_mut() } - } - } - ConnectionCallbackMessage::Welcome => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Welcome, - data: ConnCallbackMsgCUnion { nul: null_mut() } - } - } - ConnectionCallbackMessage::Err => { - ConnectionCallbackMessageC { - tag: ConnCallbackMsgCTag::Err, - data: ConnCallbackMsgCUnion { nul: null_mut() } - } - } - } - } -} \ No newline at end of file -- cgit