Struct gvdb::write::GvdbHashTableBuilder
source · pub struct GvdbHashTableBuilder<'a> { /* private fields */ }
Expand description
Create hash tables for use in GVDB files
§Example
use glib::prelude::*;
use gvdb::write::{GvdbFileWriter, GvdbHashTableBuilder};
let file_writer = GvdbFileWriter::new();
let mut table_builder = GvdbHashTableBuilder::new();
table_builder
.insert_string("string", "test string")
.unwrap();
let gvdb_data = file_writer.write_to_vec_with_table(table_builder).unwrap();
Implementations§
source§impl<'a> GvdbHashTableBuilder<'a>
impl<'a> GvdbHashTableBuilder<'a>
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new empty GvdbHashTableBuilder with the default path separator /
let mut table_builder = GvdbHashTableBuilder::new();
sourcepub fn with_path_separator(sep: Option<&str>) -> Self
pub fn with_path_separator(sep: Option<&str>) -> Self
Create a new empty GvdbHashTableBuilder a different path separator than /
or none at all
let mut table_builder = GvdbHashTableBuilder::with_path_separator(Some(":"));
sourcepub fn insert_value(
&mut self,
key: &(impl ToString + ?Sized),
value: Value<'a>
) -> GvdbBuilderResult<()>
pub fn insert_value( &mut self, key: &(impl ToString + ?Sized), value: Value<'a> ) -> GvdbBuilderResult<()>
Insert Value item
for key
use zvariant::Value;
let mut table_builder = gvdb::write::GvdbHashTableBuilder::new();
let variant = Value::new(123u32);
table_builder.insert_value("variant_123", variant);
sourcepub fn insert<T>(
&mut self,
key: &(impl ToString + ?Sized),
value: T
) -> GvdbBuilderResult<()>
pub fn insert<T>( &mut self, key: &(impl ToString + ?Sized), value: T ) -> GvdbBuilderResult<()>
Insert item
for key
where item needs to be Into<zvariant::Value>
use zvariant::Value;
let mut table_builder = gvdb::write::GvdbHashTableBuilder::new();
let value = 123u32;
table_builder.insert("variant_123", value);
sourcepub fn insert_gvariant(
&mut self,
key: &(impl ToString + ?Sized),
variant: Variant
) -> GvdbBuilderResult<()>
pub fn insert_gvariant( &mut self, key: &(impl ToString + ?Sized), variant: Variant ) -> GvdbBuilderResult<()>
Insert GVariant item
for key
let mut table_builder = gvdb::write::GvdbHashTableBuilder::new();
let variant = 123u32.to_variant();
table_builder.insert_gvariant("variant_123", variant);
sourcepub fn insert_string(
&mut self,
key: &(impl ToString + ?Sized),
string: &(impl ToString + ?Sized)
) -> GvdbBuilderResult<()>
pub fn insert_string( &mut self, key: &(impl ToString + ?Sized), string: &(impl ToString + ?Sized) ) -> GvdbBuilderResult<()>
Convenience method to create a string type GVariant for value
and insert it at key
table_builder.insert_string("string_key", "string_data");
sourcepub fn insert_bytes(
&mut self,
key: &(impl ToString + ?Sized),
bytes: &'a [u8]
) -> GvdbBuilderResult<()>
pub fn insert_bytes( &mut self, key: &(impl ToString + ?Sized), bytes: &'a [u8] ) -> GvdbBuilderResult<()>
Convenience method to create a byte type GVariant for value
and insert it at key
table_builder.insert_bytes("bytes", &[1, 2, 3, 4, 5]);
sourcepub fn insert_table(
&mut self,
key: &(impl ToString + ?Sized),
table_builder: GvdbHashTableBuilder<'a>
) -> GvdbBuilderResult<()>
pub fn insert_table( &mut self, key: &(impl ToString + ?Sized), table_builder: GvdbHashTableBuilder<'a> ) -> GvdbBuilderResult<()>
Insert an entire hash table at key
.
let mut table_builder = GvdbHashTableBuilder::new();
let mut table_builder_2 = GvdbHashTableBuilder::new();
table_builder_2
.insert_value("int", Value::new(42u32))
.unwrap();
table_builder
.insert_table("table", table_builder_2)
.unwrap();
Trait Implementations§
source§impl<'a> Debug for GvdbHashTableBuilder<'a>
impl<'a> Debug for GvdbHashTableBuilder<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for GvdbHashTableBuilder<'a>
impl<'a> Send for GvdbHashTableBuilder<'a>
impl<'a> Sync for GvdbHashTableBuilder<'a>
impl<'a> Unpin for GvdbHashTableBuilder<'a>
impl<'a> UnwindSafe for GvdbHashTableBuilder<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
source§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.