aboutsummaryrefslogtreecommitdiff
path: root/bindings/c/src/data_c/connection_callback_message_c.rs
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-06-09 01:44:36 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-06-09 01:44:36 +0800
commit49192dbb98e0ab1f2a66b4786fac86d63f69be64 (patch)
tree7cdf27c7cab5fb6b1aabc2ac7c44b7b492558945 /bindings/c/src/data_c/connection_callback_message_c.rs
parentc9dbba0d288becb7f05cebe526be25c76e5a850a (diff)
重构所有部分
Diffstat (limited to 'bindings/c/src/data_c/connection_callback_message_c.rs')
-rw-r--r--bindings/c/src/data_c/connection_callback_message_c.rs129
1 files changed, 0 insertions, 129 deletions
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<GameProfileC>,
- conn_err: ConnErrTypeC
-}
-
-#[repr(C)]
-#[allow(unused_imports)]
-#[derive(Copy, Clone)]
-pub enum ConnErrTypeC {
- ContainSamePlayer, PlayerBanned, Timeout, GameLocked, WhatTheHell
-}
-
-impl From<ConnErrTypeC> 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<ConnectionErrorType> 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<ConnectionCallbackMessageC> 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<ConnectionCallbackMessage> 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