// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/iface.RemoteActionGroup.html).
pub type RemoteActionGroup
///|
pub(open) trait IRemoteActionGroup {
fn as_remote_action_group(Self) -> RemoteActionGroup
fn activate_action_full(Self, String, &@glib.IVariant?, &@glib.IVariant) -> Unit = _
fn change_action_state_full(Self, String, &@glib.IVariant, &@glib.IVariant) -> Unit = _
}
///|
pub impl IRemoteActionGroup for RemoteActionGroup with fn as_remote_action_group(
self,
) {
self
}
///|
/// Implementation contract for RemoteActionGroup.activate_action_full. Self is the retained MoonBit state; the second parameter is the invoked RemoteActionGroup object.
pub(open) trait VRemoteActionGroupActivateActionFull {
fn activate_action_full(
Self,
RemoteActionGroup,
String,
&@glib.IVariant?,
&@glib.IVariant,
) -> Unit
}
///|
/// Implementation contract for RemoteActionGroup.change_action_state_full. Self is the retained MoonBit state; the second parameter is the invoked RemoteActionGroup object.
pub(open) trait VRemoteActionGroupChangeActionStateFull {
fn change_action_state_full(
Self,
RemoteActionGroup,
String,
&@glib.IVariant,
&@glib.IVariant,
) -> Unit
}
///|
#borrow(self_, action_name, parameter, platform_data)
extern "c" fn moonbit_g_remote_action_group_activate_action_full(
self_ : RemoteActionGroup,
action_name : Bytes,
parameter : @glib.Nullable[@glib.Variant],
platform_data : @glib.Variant,
) = "moonbit_g_remote_action_group_activate_action_full"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.RemoteActionGroup.activate_action_full.html).
pub fn RemoteActionGroup::activate_action_full(
self : RemoteActionGroup,
action_name : String,
parameter : &@glib.IVariant?,
platform_data : &@glib.IVariant,
) -> Unit {
moonbit_g_remote_action_group_activate_action_full(
self,
@encoding/utf8.encode(action_name),
match parameter {
Some(v) => @glib.Nullable::some(v.as_variant())
None => @glib.Nullable::null()
},
platform_data.as_variant(),
)
}
///|
#borrow(self_, action_name, value, platform_data)
extern "c" fn moonbit_g_remote_action_group_change_action_state_full(
self_ : RemoteActionGroup,
action_name : Bytes,
value : @glib.Variant,
platform_data : @glib.Variant,
) = "moonbit_g_remote_action_group_change_action_state_full"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.RemoteActionGroup.change_action_state_full.html).
pub fn RemoteActionGroup::change_action_state_full(
self : RemoteActionGroup,
action_name : String,
value : &@glib.IVariant,
platform_data : &@glib.IVariant,
) -> Unit {
moonbit_g_remote_action_group_change_action_state_full(
self,
@encoding/utf8.encode(action_name),
value.as_variant(),
platform_data.as_variant(),
)
}
///|
impl IRemoteActionGroup with fn activate_action_full(
self,
action_name,
parameter,
platform_data,
) -> Unit {
self
.as_remote_action_group()
.activate_action_full(action_name, parameter, platform_data)
}
///|
impl IRemoteActionGroup with fn change_action_state_full(
self,
action_name,
value,
platform_data,
) -> Unit {
self
.as_remote_action_group()
.change_action_state_full(action_name, value, platform_data)
}
///|
pub fn RemoteActionGroup::as_action_group(
self : RemoteActionGroup,
) -> ActionGroup = "%identity"
///|
pub impl IActionGroup for RemoteActionGroup with fn as_action_group(self) {
self.as_action_group()
}