From 62263e0e619625f2c5dd0b4364b43bd4fefc8ccd Mon Sep 17 00:00:00 2001 From: Vika Date: Thu, 30 Jan 2025 08:49:22 +0300 Subject: libsecret: 0.6.0 (private fork) -> 0.7.0 (upstream) libsecret is now maintained again! No need for a private fork. --- libsecret/src/hashtable.rs | 63 ---------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 libsecret/src/hashtable.rs (limited to 'libsecret/src/hashtable.rs') diff --git a/libsecret/src/hashtable.rs b/libsecret/src/hashtable.rs deleted file mode 100644 index 1f42c95..0000000 --- a/libsecret/src/hashtable.rs +++ /dev/null @@ -1,63 +0,0 @@ -use glib::translate::*; -use std::collections::HashMap; - -use crate::Value; - -pub(crate) unsafe fn attribute_names_and_values( - entry: HashMap<&str, &str>, -) -> *mut glib::ffi::GHashTable { - let hash_table = glib::ffi::g_hash_table_new_full( - Some(glib::ffi::g_str_hash), - Some(glib::ffi::g_str_equal), - Some(glib::ffi::g_free), - Some(glib::ffi::g_free), - ); - - for (key, val) in entry { - let key_ptr: *mut libc::c_char = key.to_glib_full(); - let val_ptr: *mut libc::c_char = val.to_glib_full(); - glib::ffi::g_hash_table_insert(hash_table, key_ptr as *mut _, val_ptr as *mut _); - } - - hash_table -} - -pub(crate) unsafe fn attribute_names_and_properties( - hash_map: HashMap<&str, &glib::Variant>, -) -> *mut glib::ffi::GHashTable { - let hash_table = glib::ffi::g_hash_table_new_full( - Some(glib::ffi::g_str_hash), - Some(glib::ffi::g_str_equal), - Some(glib::ffi::g_free), - Some(glib::ffi::g_free), - ); - - for (name, value) in hash_map { - let key_ptr: *mut libc::c_char = name.to_glib_full(); - glib::ffi::g_hash_table_insert(hash_table, key_ptr as *mut _, value.as_ptr() as _); - } - - hash_table -} - -pub(crate) unsafe fn hash_map_from_glib_none( - ptr: *mut glib::ffi::GHashTable, -) -> HashMap { - unsafe extern "C" fn read_string_hash_table( - key: glib::ffi::gpointer, - value: glib::ffi::gpointer, - hash_map: glib::ffi::gpointer, - ) { - let key: String = from_glib_none(key as *const libc::c_char); - let value: Value = from_glib_none(value as *const ffi::SecretValue); - let hash_map: &mut HashMap = &mut *(hash_map as *mut HashMap); - hash_map.insert(key, value); - } - let mut map = HashMap::with_capacity(glib::ffi::g_hash_table_size(ptr) as usize); - glib::ffi::g_hash_table_foreach( - ptr, - Some(read_string_hash_table), - &mut map as *mut HashMap as *mut _, - ); - map -} -- cgit 1.4.1