Macros§
- clone
- Macro for passing variables as strong or weak references into a closure.
- closure
- Macro for creating a
Closure
object. This is a wrapper aroundClosure::new
that automatically type checks its arguments at run-time. - closure_
local - The same as
closure!
but usesClosure::new_local
as a constructor. This is useful for closures which can’t be sent across threads. See the documentation ofclosure!
for details. - cstr_
bytes
Attribute Macros§
- async_
test - An attribute macro for writing asynchronous test functions.
- derived_
properties - When applied to
ObjectImpl
- flags
- Attribute macro for defining flags using the
bitflags
crate. This macro will also define aGFlags::type_
function and theglib::Value
traits. - object_
interface - Macro for boilerplate of
ObjectInterface
implementations. - object_
subclass - Macro for boilerplate of
ObjectSubclass
implementations.
Derive Macros§
- Boxed
- Derive macro for defining a
BoxedType
::type_
function and theglib::Value
traits. Optionally, the type can be marked asnullable
to get an implementation ofglib::value::ToValueOptional
. - Downgrade
- Macro for deriving implementations of
glib::clone::Downgrade
andglib::clone::Upgrade
traits and a weak type. - Enum
- Derive macro to register a Rust enum in the GLib type system and derive the
glib::Value
traits. - Error
Domain - Derive macro for defining a GLib error domain and its associated
ErrorDomain
trait. - Properties
- This macro enables you to derive object properties in a quick way.
- Shared
Boxed - Derive macro for defining a
SharedType
::get_type
function and theglib::Value
traits. Optionally, the type can be marked asnullable
to get an implementation ofglib::value::ToValueOptional
. - Value
Delegate - Example
- Variant
- Derive macro for serializing/deserializing custom structs/enums as
glib::Variant
s.