summary refs log tree commit diff
path: root/libsecret/src/hashtable.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libsecret/src/hashtable.rs')
-rw-r--r--libsecret/src/hashtable.rs63
1 files changed, 0 insertions, 63 deletions
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<String, Value> {
-    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<String, Value> = &mut *(hash_map as *mut HashMap<String, Value>);
-        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<String, Value> as *mut _,
-    );
-    map
-}