- void (* action_added) (GActionGroup *action_group,
- const gchar *action_name);
- void (* action_removed) (GActionGroup *action_group,
- const gchar *action_name);
- void (* action_enabled_changed) (GActionGroup *action_group,
- const gchar *action_name,
- gboolean enabled);
- void (* action_state_changed) (GActionGroup *action_group,
- const gchar *action_name,
- GVariant *value);
+ void (* action_added) (GActionGroup *action_group,
+ const gchar *action_name);
+ void (* action_removed) (GActionGroup *action_group,
+ const gchar *action_name);
+ void (* action_enabled_changed) (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean enabled);
+ void (* action_state_changed) (GActionGroup *action_group,
+ const gchar *action_name,
+ GVariant *state);
+
+ /* more virtual functions */
+ gboolean (* query_action) (GActionGroup *action_group,
+ const gchar *action_name,
+ gboolean *enabled,
+ const GVariantType **parameter_type,
+ const GVariantType **state_type,
+ GVariant **state_hint,
+ GVariant **state);