Derive Macro glib::SharedBoxed
source · #[derive(SharedBoxed)]
{
// Attributes available to this derive:
#[shared_boxed_type]
}
Expand description
Derive macro for defining a SharedType
::get_type
function and
the glib::Value
traits. Optionally, the type can be marked as
nullable
to get an implemention of glib::value::ToValueOptional
.
Example
use glib::prelude::*;
use glib::subclass::prelude::*;
#[derive(Clone, Debug, PartialEq, Eq)]
struct MySharedInner {
foo: String,
}
#[derive(Clone, Debug, PartialEq, Eq, glib::SharedBoxed)]
#[shared_boxed_type(name = "MySharedBoxed")]
struct MySharedBoxed(std::sync::Arc<MySharedInner>);
#[derive(Clone, Debug, PartialEq, Eq, glib::SharedBoxed)]
#[shared_boxed_type(name = "MyNullableSharedBoxed", nullable)]
struct MyNullableSharedBoxed(std::sync::Arc<MySharedInner>);