pub trait MetaContainerExt: 'static {
Show 41 methods fn add_metas_from_string(&self, str: &str) -> bool;
fn check_meta_registered(&self, meta_item: &str) -> Option<(MetaFlag, Type)>;
fn foreach<P: FnMut(&MetaContainer, &str, &Value)>(&self, func: P);
fn boolean(&self, meta_item: &str) -> Option<bool>;
fn date(&self, meta_item: &str) -> Option<Date>;
fn date_time(&self, meta_item: &str) -> Option<DateTime>;
fn double(&self, meta_item: &str) -> Option<f64>;
fn float(&self, meta_item: &str) -> Option<f32>;
fn int(&self, meta_item: &str) -> Option<i32>;
fn int64(&self, meta_item: &str) -> Option<i64>;
fn marker_list(&self, key: &str) -> Option<MarkerList>;
fn meta(&self, key: &str) -> Option<Value>;
fn string(&self, meta_item: &str) -> Option<GString>;
fn uint(&self, meta_item: &str) -> Option<u32>;
fn uint64(&self, meta_item: &str) -> Option<u64>;
fn metas_to_string(&self) -> Option<GString>;
fn register_meta(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: &Value
    ) -> bool;
fn register_meta_boolean(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: bool
    ) -> bool;
fn register_meta_date(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: &Date
    ) -> bool;
fn register_meta_date_time(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: &DateTime
    ) -> bool;
fn register_meta_double(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: f64
    ) -> bool;
fn register_meta_float(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: f32
    ) -> bool;
fn register_meta_int(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: i32
    ) -> bool;
fn register_meta_int64(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: i64
    ) -> bool;
fn register_meta_string(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: &str
    ) -> bool;
fn register_meta_uint(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: u32
    ) -> bool;
fn register_meta_uint64(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        value: u64
    ) -> bool;
fn register_static_meta(
        &self,
        flags: MetaFlag,
        meta_item: &str,
        type_: Type
    ) -> bool;
fn set_boolean(&self, meta_item: &str, value: bool) -> bool;
fn set_date(&self, meta_item: &str, value: &Date) -> bool;
fn set_date_time(&self, meta_item: &str, value: &DateTime) -> bool;
fn set_double(&self, meta_item: &str, value: f64) -> bool;
fn set_float(&self, meta_item: &str, value: f32) -> bool;
fn set_int(&self, meta_item: &str, value: i32) -> bool;
fn set_int64(&self, meta_item: &str, value: i64) -> bool;
fn set_marker_list(&self, meta_item: &str, list: &MarkerList) -> bool;
fn set_meta(&self, meta_item: &str, value: Option<&Value>) -> bool;
fn set_string(&self, meta_item: &str, value: &str) -> bool;
fn set_uint(&self, meta_item: &str, value: u32) -> bool;
fn set_uint64(&self, meta_item: &str, value: u64) -> bool;
fn connect_notify_meta<F: Fn(&Self, &str, Option<&Value>) + 'static>(
        &self,
        detail: Option<&str>,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Required methods

Deserializes the given string, and adds and sets the found fields and their values on the container. The string should be the return of metas_to_string().

str

A string to deserialize and add to self

Returns

true if the fields in str was successfully deserialized and added to self.

Checks whether the specified field has been registered as static, and gets the registered type and flags of the field, as used in register_meta() and register_static_meta().

meta_item

The key for the self field to check

Returns

true if the meta_item field has been registered on self.

flags

A destination to get the registered flags of the field, or None to ignore

type_

A destination to get the registered type of the field, or None to ignore

Calls the given function on each of the meta container’s set metadata fields.

func

A function to call on each of self’s set metadata fields

Gets the current boolean value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the boolean value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current date value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the date value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current date time value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the date time value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current double value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the double value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current float value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the float value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current int value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the int value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current int64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the int64 value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

This is supported on crate feature v1_18 only.

Gets the current marker list value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

key

The key for the self field to get

Returns

A copy of the marker list value under key, or None if it could not be fetched.

Gets the current value of the specified field of the meta container.

key

The key for the self field to get

Returns

The value under key, or None if self does not have the field set.

Gets the current string value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

The string value under meta_item, or None if it could not be fetched.

Gets the current uint value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the uint value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Gets the current uint64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.

meta_item

The key for the self field to get

Returns

true if the uint64 value under meta_item was copied to dest.

dest

Destination into which the value under meta_item should be copied.

Serializes the set metadata fields of the meta container to a string.

Returns

A serialized self, or None if an error occurred.

Sets the value of the specified field of the meta container to the given value, and registers the field to only hold a value of the same type. After calling this, only values of the same type as value can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold value types, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given boolean value, and registers the field to only hold a boolean typed value. After calling this, only boolean values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold boolean typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given date value, and registers the field to only hold a date typed value. After calling this, only date values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold date typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given date time value, and registers the field to only hold a date time typed value. After calling this, only date time values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold date time typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given double value, and registers the field to only hold a double typed value. After calling this, only double values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold double typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given float value, and registers the field to only hold a float typed value. After calling this, only float values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold float typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given int value, and registers the field to only hold an int typed value. After calling this, only int values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold int typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given int64 value, and registers the field to only hold an int64 typed value. After calling this, only int64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold int64 typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given string value, and registers the field to only hold a string typed value. After calling this, only string values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold string typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given uint value, and registers the field to only hold a uint typed value. After calling this, only uint values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold uint typed values, with the given flags, and the field was successfully set to value.

Sets the value of the specified field of the meta container to the given uint64 value, and registers the field to only hold a uint64 typed value. After calling this, only uint64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

value

The value to set for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold uint64 typed values, with the given flags, and the field was successfully set to value.

This is supported on crate feature v1_18 only.

Registers a static metadata field on the container to only hold the specified type. After calling this, setting a value under this field can only succeed if its type matches the registered type of the field.

Unlike register_meta(), no (initial) value is set for this field, which means you can use this method to reserve the space to be optionally set later.

Note that if a value has already been set for the field being registered, then its type must match the registering type, and its value will be left in place. If the field has no set value, then you will likely want to include MetaFlag::WRITABLE in flags to allow the value to be set later.

flags

Flags to be used for the registered field

meta_item

The key for the self field to register

type_

The required value type for the registered field

Returns

true if the meta_item field was successfully registered on self to only hold type_ values, with the given flags.

Sets the value of the specified field of the meta container to the given boolean value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given date value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given date time value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given double value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given float value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given int value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given int64 value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

This is supported on crate feature v1_18 only.

Sets the value of the specified field of the meta container to the given marker list value.

meta_item

The key for the self field to set

list

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to a copy of the given value. If the given value is None, the field given by meta_item is removed and true is returned.

meta_item

The key for the self field to set

value

The value to set under meta_item, or None to remove the corresponding field

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given string value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given uint value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

Sets the value of the specified field of the meta container to the given uint64 value.

meta_item

The key for the self field to set

value

The value to set under meta_item

Returns

true if value was set under meta_item for self.

This is emitted for a meta container whenever the metadata under one of its fields changes, is set for the first time, or is removed. In the latter case, value will be None.

key

The key for the container field that changed

value

The new value under key

Implementors