mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
fcc9902e98
We provide a mechanism by which a 'platform' (eg: Gtk) can register some hook functions to be called to collect platform-data at the point of sending an outgoing action activation request and also to inform the platform of this data on incoming requests (before and after dispatching the actual request). This can be used for forwarding timestamp and startup-notification information (as is presently done in GApplication) but the before/after hook could also be used for acquiring/releasing the Gdk lock or other similar things. https://bugzilla.gnome.org/show_bug.cgi?id=665737
63 lines
3.5 KiB
C
63 lines
3.5 KiB
C
/*
|
|
* Copyright © 2010 Codethink Limited
|
|
* Copyright © 2011 Canonical Limited
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published
|
|
* by the Free Software Foundation; either version 2 of the licence or (at
|
|
* your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General
|
|
* Public License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Ryan Lortie <desrt@desrt.ca>
|
|
*/
|
|
|
|
#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
|
|
#error "Only <gio/gio.h> can be included directly."
|
|
#endif
|
|
|
|
#ifndef __G_DBUS_ACTION_GROUP_H__
|
|
#define __G_DBUS_ACTION_GROUP_H__
|
|
|
|
#include "giotypes.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define G_TYPE_DBUS_ACTION_GROUP (g_dbus_action_group_get_type ())
|
|
#define G_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
|
|
G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroup))
|
|
#define G_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \
|
|
G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass))
|
|
#define G_IS_DBUS_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
|
|
G_TYPE_DBUS_ACTION_GROUP))
|
|
#define G_IS_DBUS_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \
|
|
G_TYPE_DBUS_ACTION_GROUP))
|
|
#define G_DBUS_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \
|
|
G_TYPE_DBUS_ACTION_GROUP, GDBusActionGroupClass))
|
|
|
|
GType g_dbus_action_group_get_type (void) G_GNUC_CONST;
|
|
|
|
GDBusActionGroup * g_dbus_action_group_get (GDBusConnection *connection,
|
|
const gchar *bus_name,
|
|
const gchar *object_path);
|
|
|
|
typedef void (* GDBusActionGroupSendHookFunc) (GDBusActionGroup *group,
|
|
GVariantBuilder *builder);
|
|
typedef void (* GDBusActionGroupEmitHookFunc) (GActionGroup *group,
|
|
GVariant *platform_data);
|
|
void g_dbus_action_group_register_platform (GDBusActionGroupSendHookFunc send_hook,
|
|
GDBusActionGroupEmitHookFunc before_hook,
|
|
GDBusActionGroupEmitHookFunc after_hook);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __G_DBUS_ACTION_GROUP_H__ */
|