From ef7f3db548dda9f9a2f7353e0586bb2daad49996 Mon Sep 17 00:00:00 2001 From: "1992414357@qq.com" <1992414357@qq.com> Date: Mon, 16 Jun 2025 06:43:32 +0800 Subject: Update CBindings of TcpNetworkService --- .../lang/clang/src/data/ngpd_controller.rs | 6 ++--- core/bindings/lang/clang/src/data/ngpd_game.rs | 30 +++++++++++----------- .../lang/clang/src/service/ngpd_tcp_service.rs | 6 ++--- 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/core/bindings/lang/clang/src/data/ngpd_controller.rs b/core/bindings/lang/clang/src/data/ngpd_controller.rs index a264239..95d81cb 100644 --- a/core/bindings/lang/clang/src/data/ngpd_controller.rs +++ b/core/bindings/lang/clang/src/data/ngpd_controller.rs @@ -114,7 +114,7 @@ impl FfiControllerRuntime { } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { mutex_guard.close(); @@ -135,7 +135,7 @@ impl FfiControllerRuntime { } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; let msg = unsafe { ControlMessage::from(control_message.read()) }; entry_mutex!(arc_ref, |mutex_guard| { @@ -258,7 +258,7 @@ impl FfiControllerRuntime { } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; let result = { let mut pop_result = None; diff --git a/core/bindings/lang/clang/src/data/ngpd_game.rs b/core/bindings/lang/clang/src/data/ngpd_game.rs index 39cb738..b3deb6c 100644 --- a/core/bindings/lang/clang/src/data/ngpd_game.rs +++ b/core/bindings/lang/clang/src/data/ngpd_game.rs @@ -191,7 +191,7 @@ impl FfiGameRuntime { ) { if runtime.is_null() || player.is_null() { return; } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; let ffi_player_ref = unsafe { &*player }; let player = Player::try_from(&*ffi_player_ref).unwrap_or_default(); let service = unsafe { ServiceType::from(&service_type.read()) }; @@ -207,7 +207,7 @@ impl FfiGameRuntime { ) { if runtime.is_null() { return; } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { do_on(mutex_guard); @@ -255,7 +255,7 @@ impl FfiGameRuntime { pub extern "C" fn game_runtime_pop_control_event(runtime: *mut FfiGameRuntime) -> *mut FfiControlEvent { if runtime.is_null() { return std::ptr::null_mut(); } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; let mut control_event = None; entry_mutex!(arc_ref, |mutex_guard| { control_event = mutex_guard.pop_control_event(); @@ -300,7 +300,7 @@ impl FfiGameRuntime { if runtime.is_null() { return; } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { mutex_guard.kick_player(&player, service); }); @@ -321,7 +321,7 @@ impl FfiGameRuntime { if runtime.is_null() { return; } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { mutex_guard.ban_player(&player, service); }); @@ -340,7 +340,7 @@ impl FfiGameRuntime { if runtime.is_null() { return; } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { mutex_guard.pardon_player(&player); }); @@ -380,7 +380,7 @@ impl FfiGameRuntime { let mut locked = false; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { locked = mutex_guard.is_game_locked(); }); @@ -402,7 +402,7 @@ impl FfiGameRuntime { let mut status = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { status = mutex_guard.control.get_button_status(&account, &key); }); @@ -429,7 +429,7 @@ impl FfiGameRuntime { let mut status = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { status = mutex_guard.control.get_axis(&account, &key); }); @@ -456,7 +456,7 @@ impl FfiGameRuntime { let mut status = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { status = mutex_guard.control.get_direction(&account, &key); }); @@ -482,7 +482,7 @@ impl FfiGameRuntime { let mut service_type = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { service_type = mutex_guard.data.get_service_type(&account); }); @@ -508,7 +508,7 @@ impl FfiGameRuntime { let mut banned = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { banned = Some(mutex_guard.data.is_account_banned(&account)); }); @@ -534,7 +534,7 @@ impl FfiGameRuntime { let mut online = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { online = Some(mutex_guard.data.is_account_online(&account)); }); @@ -553,7 +553,7 @@ impl FfiGameRuntime { let mut online_list = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { online_list = Some(mutex_guard.data.online_accounts()); }); @@ -581,7 +581,7 @@ impl FfiGameRuntime { let mut banned_list = None; let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_ref: Arc> = unsafe { (&*arc_ptr).clone() }; + let arc_ref = unsafe { Arc::from_raw(arc_ptr) }; entry_mutex!(arc_ref, |mutex_guard| { banned_list = Some(mutex_guard.data.banned_accounts()); }); diff --git a/core/bindings/lang/clang/src/service/ngpd_tcp_service.rs b/core/bindings/lang/clang/src/service/ngpd_tcp_service.rs index d0bf1f4..da6cba7 100644 --- a/core/bindings/lang/clang/src/service/ngpd_tcp_service.rs +++ b/core/bindings/lang/clang/src/service/ngpd_tcp_service.rs @@ -27,9 +27,8 @@ impl FfiTcpClientService { } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_clone: Arc> = unsafe { (&*arc_ptr).clone() }; - let service = PadClientNetwork::build(arc_clone); + let service = PadClientNetwork::build(Arc::clone(&arc_ptr)); let raw = Box::into_raw(Box::new(FfiTcpClientService(Box::into_raw(Box::new(service)) as *mut _))); raw @@ -179,9 +178,8 @@ impl FfiTcpServerService { if runtime.is_null() { return std::ptr::null_mut(); } let arc_ptr = unsafe { (*runtime).inner as *const Arc> }; - let arc_clone: Arc> = unsafe { (&*arc_ptr).clone() }; - let service = PadServerNetwork::build(arc_clone); + let service = PadServerNetwork::build(Arc::clone(&arc_ptr)); let raw = Box::into_raw(Box::new(FfiTcpServerService(Box::into_raw(Box::new(service)) as *mut _))); raw -- cgit