/*
 * This file is generated by gdbus-codegen, do not modify it.
 *
 * The license of this code is the same as for the D-Bus interface description
 * it was derived from. Note that it links to GLib, so must comply with the
 * LGPL linking clauses.
 */

#ifndef __BAMF_GDBUS_GENERATED_H__
#define __BAMF_GDBUS_GENERATED_H__

#include <gio/gio.h>

G_BEGIN_DECLS


/* ------------------------------------------------------------------------ */
/* Declarations for org.ayatana.bamf.control */

#define BAMF_DBUS_TYPE_CONTROL (_bamf_dbus_control_get_type ())
#define BAMF_DBUS_CONTROL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_CONTROL, BamfDBusControl))
#define BAMF_DBUS_IS_CONTROL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_CONTROL))
#define BAMF_DBUS_CONTROL_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_TYPE_CONTROL, BamfDBusControlIface))

struct _BamfDBusControl;
typedef struct _BamfDBusControl BamfDBusControl;
typedef struct _BamfDBusControlIface BamfDBusControlIface;

struct _BamfDBusControlIface
{
  GTypeInterface parent_iface;

  gboolean (*handle_create_local_desktop_file) (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_application);

  gboolean (*handle_insert_desktop_file) (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_desktop_path);

  gboolean (*handle_om_nom_nom_desktop_file) (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_desktop_path);

  gboolean (*handle_quit) (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_register_application_for_pid) (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_application,
    gint arg_pid);

};

GType _bamf_dbus_control_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_control_interface_info (void);
guint _bamf_dbus_control_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void _bamf_dbus_control_complete_quit (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);

void _bamf_dbus_control_complete_insert_desktop_file (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);

void _bamf_dbus_control_complete_register_application_for_pid (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);

void _bamf_dbus_control_complete_create_local_desktop_file (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);

G_GNUC_DEPRECATED void _bamf_dbus_control_complete_om_nom_nom_desktop_file (
    BamfDBusControl *object,
    GDBusMethodInvocation *invocation);



/* D-Bus method calls: */
void _bamf_dbus_control_call_quit (
    BamfDBusControl *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_control_call_quit_finish (
    BamfDBusControl *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_control_call_quit_sync (
    BamfDBusControl *proxy,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_control_call_insert_desktop_file (
    BamfDBusControl *proxy,
    const gchar *arg_desktop_path,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_control_call_insert_desktop_file_finish (
    BamfDBusControl *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_control_call_insert_desktop_file_sync (
    BamfDBusControl *proxy,
    const gchar *arg_desktop_path,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_control_call_register_application_for_pid (
    BamfDBusControl *proxy,
    const gchar *arg_application,
    gint arg_pid,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_control_call_register_application_for_pid_finish (
    BamfDBusControl *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_control_call_register_application_for_pid_sync (
    BamfDBusControl *proxy,
    const gchar *arg_application,
    gint arg_pid,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_control_call_create_local_desktop_file (
    BamfDBusControl *proxy,
    const gchar *arg_application,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_control_call_create_local_desktop_file_finish (
    BamfDBusControl *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_control_call_create_local_desktop_file_sync (
    BamfDBusControl *proxy,
    const gchar *arg_application,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_control_call_om_nom_nom_desktop_file (
    BamfDBusControl *proxy,
    const gchar *arg_desktop_path,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_control_call_om_nom_nom_desktop_file_finish (
    BamfDBusControl *proxy,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_control_call_om_nom_nom_desktop_file_sync (
    BamfDBusControl *proxy,
    const gchar *arg_desktop_path,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define BAMF_DBUS_TYPE_CONTROL_PROXY (_bamf_dbus_control_proxy_get_type ())
#define BAMF_DBUS_CONTROL_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_CONTROL_PROXY, BamfDBusControlProxy))
#define BAMF_DBUS_CONTROL_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_TYPE_CONTROL_PROXY, BamfDBusControlProxyClass))
#define BAMF_DBUS_CONTROL_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_TYPE_CONTROL_PROXY, BamfDBusControlProxyClass))
#define BAMF_DBUS_IS_CONTROL_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_CONTROL_PROXY))
#define BAMF_DBUS_IS_CONTROL_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_TYPE_CONTROL_PROXY))

typedef struct _BamfDBusControlProxy BamfDBusControlProxy;
typedef struct _BamfDBusControlProxyClass BamfDBusControlProxyClass;
typedef struct _BamfDBusControlProxyPrivate BamfDBusControlProxyPrivate;

struct _BamfDBusControlProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusControlProxyPrivate *priv;
};

struct _BamfDBusControlProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_control_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BamfDBusControlProxy, g_object_unref)
#endif

void _bamf_dbus_control_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusControl *_bamf_dbus_control_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusControl *_bamf_dbus_control_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_control_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusControl *_bamf_dbus_control_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusControl *_bamf_dbus_control_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_TYPE_CONTROL_SKELETON (_bamf_dbus_control_skeleton_get_type ())
#define BAMF_DBUS_CONTROL_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_CONTROL_SKELETON, BamfDBusControlSkeleton))
#define BAMF_DBUS_CONTROL_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_TYPE_CONTROL_SKELETON, BamfDBusControlSkeletonClass))
#define BAMF_DBUS_CONTROL_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_TYPE_CONTROL_SKELETON, BamfDBusControlSkeletonClass))
#define BAMF_DBUS_IS_CONTROL_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_CONTROL_SKELETON))
#define BAMF_DBUS_IS_CONTROL_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_TYPE_CONTROL_SKELETON))

typedef struct _BamfDBusControlSkeleton BamfDBusControlSkeleton;
typedef struct _BamfDBusControlSkeletonClass BamfDBusControlSkeletonClass;
typedef struct _BamfDBusControlSkeletonPrivate BamfDBusControlSkeletonPrivate;

struct _BamfDBusControlSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusControlSkeletonPrivate *priv;
};

struct _BamfDBusControlSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_control_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BamfDBusControlSkeleton, g_object_unref)
#endif

BamfDBusControl *_bamf_dbus_control_skeleton_new (void);


/* ------------------------------------------------------------------------ */
/* Declarations for org.ayatana.bamf.matcher */

#define BAMF_DBUS_TYPE_MATCHER (_bamf_dbus_matcher_get_type ())
#define BAMF_DBUS_MATCHER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_MATCHER, BamfDBusMatcher))
#define BAMF_DBUS_IS_MATCHER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_MATCHER))
#define BAMF_DBUS_MATCHER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_TYPE_MATCHER, BamfDBusMatcherIface))

struct _BamfDBusMatcher;
typedef struct _BamfDBusMatcher BamfDBusMatcher;
typedef struct _BamfDBusMatcherIface BamfDBusMatcherIface;

struct _BamfDBusMatcherIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_active_application) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_active_window) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_application_for_xid) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    guint arg_xid);

  gboolean (*handle_application_is_running) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_desktop_file);

  gboolean (*handle_application_paths) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_path_for_application) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_desktop_file);

  gboolean (*handle_register_favorites) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *arg_favorites);

  gboolean (*handle_running_applications) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_running_applications_desktop_files) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_tab_paths) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_window_paths) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_window_stack_for_monitor) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    gint arg_monitor_id);

  gboolean (*handle_xids_for_application) (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_desktop_file);

  void (*active_application_changed) (
    BamfDBusMatcher *object,
    const gchar *arg_old_app,
    const gchar *arg_new_app);

  void (*active_window_changed) (
    BamfDBusMatcher *object,
    const gchar *arg_old_win,
    const gchar *arg_new_win);

  void (*running_applications_changed) (
    BamfDBusMatcher *object,
    const gchar *const *arg_opened_desktop_files,
    const gchar *const *arg_closed_desktop_files);

  void (*stacking_order_changed) (
    BamfDBusMatcher *object);

  void (*view_closed) (
    BamfDBusMatcher *object,
    const gchar *arg_path,
    const gchar *arg_type);

  void (*view_opened) (
    BamfDBusMatcher *object,
    const gchar *arg_path,
    const gchar *arg_type);

};

GType _bamf_dbus_matcher_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_matcher_interface_info (void);
guint _bamf_dbus_matcher_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void _bamf_dbus_matcher_complete_xids_for_application (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    GVariant *xids);

void _bamf_dbus_matcher_complete_tab_paths (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *paths);

void _bamf_dbus_matcher_complete_running_applications (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *paths);

void _bamf_dbus_matcher_complete_running_applications_desktop_files (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *paths);

void _bamf_dbus_matcher_complete_register_favorites (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation);

void _bamf_dbus_matcher_complete_path_for_application (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *path);

void _bamf_dbus_matcher_complete_window_paths (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *paths);

void _bamf_dbus_matcher_complete_application_paths (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *paths);

void _bamf_dbus_matcher_complete_application_is_running (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    gboolean running);

void _bamf_dbus_matcher_complete_application_for_xid (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *application);

void _bamf_dbus_matcher_complete_active_window (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *window);

void _bamf_dbus_matcher_complete_active_application (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *application);

void _bamf_dbus_matcher_complete_window_stack_for_monitor (
    BamfDBusMatcher *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *window_list);



/* D-Bus signal emissions functions: */
void _bamf_dbus_matcher_emit_active_application_changed (
    BamfDBusMatcher *object,
    const gchar *arg_old_app,
    const gchar *arg_new_app);

void _bamf_dbus_matcher_emit_active_window_changed (
    BamfDBusMatcher *object,
    const gchar *arg_old_win,
    const gchar *arg_new_win);

void _bamf_dbus_matcher_emit_view_closed (
    BamfDBusMatcher *object,
    const gchar *arg_path,
    const gchar *arg_type);

void _bamf_dbus_matcher_emit_view_opened (
    BamfDBusMatcher *object,
    const gchar *arg_path,
    const gchar *arg_type);

void _bamf_dbus_matcher_emit_stacking_order_changed (
    BamfDBusMatcher *object);

void _bamf_dbus_matcher_emit_running_applications_changed (
    BamfDBusMatcher *object,
    const gchar *const *arg_opened_desktop_files,
    const gchar *const *arg_closed_desktop_files);



/* D-Bus method calls: */
void _bamf_dbus_matcher_call_xids_for_application (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_xids_for_application_finish (
    BamfDBusMatcher *proxy,
    GVariant ** out_xids,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_xids_for_application_sync (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    GVariant ** out_xids,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_tab_paths (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_tab_paths_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_tab_paths_sync (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_running_applications (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_running_applications_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_running_applications_sync (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_running_applications_desktop_files (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_running_applications_desktop_files_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_running_applications_desktop_files_sync (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_register_favorites (
    BamfDBusMatcher *proxy,
    const gchar *const *arg_favorites,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_register_favorites_finish (
    BamfDBusMatcher *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_register_favorites_sync (
    BamfDBusMatcher *proxy,
    const gchar *const *arg_favorites,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_path_for_application (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_path_for_application_finish (
    BamfDBusMatcher *proxy,
    gchar ** out_path,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_path_for_application_sync (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    gchar ** out_path,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_window_paths (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_window_paths_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_window_paths_sync (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_application_paths (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_application_paths_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_application_paths_sync (
    BamfDBusMatcher *proxy,
    gchar *** out_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_application_is_running (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_application_is_running_finish (
    BamfDBusMatcher *proxy,
    gboolean* out_running,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_application_is_running_sync (
    BamfDBusMatcher *proxy,
    const gchar *arg_desktop_file,
    gboolean* out_running,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_application_for_xid (
    BamfDBusMatcher *proxy,
    guint arg_xid,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_application_for_xid_finish (
    BamfDBusMatcher *proxy,
    gchar ** out_application,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_application_for_xid_sync (
    BamfDBusMatcher *proxy,
    guint arg_xid,
    gchar ** out_application,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_active_window (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_active_window_finish (
    BamfDBusMatcher *proxy,
    gchar ** out_window,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_active_window_sync (
    BamfDBusMatcher *proxy,
    gchar ** out_window,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_active_application (
    BamfDBusMatcher *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_active_application_finish (
    BamfDBusMatcher *proxy,
    gchar ** out_application,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_active_application_sync (
    BamfDBusMatcher *proxy,
    gchar ** out_application,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_matcher_call_window_stack_for_monitor (
    BamfDBusMatcher *proxy,
    gint arg_monitor_id,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_matcher_call_window_stack_for_monitor_finish (
    BamfDBusMatcher *proxy,
    gchar *** out_window_list,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_matcher_call_window_stack_for_monitor_sync (
    BamfDBusMatcher *proxy,
    gint arg_monitor_id,
    gchar *** out_window_list,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define BAMF_DBUS_TYPE_MATCHER_PROXY (_bamf_dbus_matcher_proxy_get_type ())
#define BAMF_DBUS_MATCHER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_MATCHER_PROXY, BamfDBusMatcherProxy))
#define BAMF_DBUS_MATCHER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_TYPE_MATCHER_PROXY, BamfDBusMatcherProxyClass))
#define BAMF_DBUS_MATCHER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_TYPE_MATCHER_PROXY, BamfDBusMatcherProxyClass))
#define BAMF_DBUS_IS_MATCHER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_MATCHER_PROXY))
#define BAMF_DBUS_IS_MATCHER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_TYPE_MATCHER_PROXY))

typedef struct _BamfDBusMatcherProxy BamfDBusMatcherProxy;
typedef struct _BamfDBusMatcherProxyClass BamfDBusMatcherProxyClass;
typedef struct _BamfDBusMatcherProxyPrivate BamfDBusMatcherProxyPrivate;

struct _BamfDBusMatcherProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusMatcherProxyPrivate *priv;
};

struct _BamfDBusMatcherProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_matcher_proxy_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BamfDBusMatcherProxy, g_object_unref)
#endif

void _bamf_dbus_matcher_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusMatcher *_bamf_dbus_matcher_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusMatcher *_bamf_dbus_matcher_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_matcher_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusMatcher *_bamf_dbus_matcher_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusMatcher *_bamf_dbus_matcher_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_TYPE_MATCHER_SKELETON (_bamf_dbus_matcher_skeleton_get_type ())
#define BAMF_DBUS_MATCHER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_TYPE_MATCHER_SKELETON, BamfDBusMatcherSkeleton))
#define BAMF_DBUS_MATCHER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_TYPE_MATCHER_SKELETON, BamfDBusMatcherSkeletonClass))
#define BAMF_DBUS_MATCHER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_TYPE_MATCHER_SKELETON, BamfDBusMatcherSkeletonClass))
#define BAMF_DBUS_IS_MATCHER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_TYPE_MATCHER_SKELETON))
#define BAMF_DBUS_IS_MATCHER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_TYPE_MATCHER_SKELETON))

typedef struct _BamfDBusMatcherSkeleton BamfDBusMatcherSkeleton;
typedef struct _BamfDBusMatcherSkeletonClass BamfDBusMatcherSkeletonClass;
typedef struct _BamfDBusMatcherSkeletonPrivate BamfDBusMatcherSkeletonPrivate;

struct _BamfDBusMatcherSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusMatcherSkeletonPrivate *priv;
};

struct _BamfDBusMatcherSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_matcher_skeleton_get_type (void) G_GNUC_CONST;

#if GLIB_CHECK_VERSION(2, 44, 0)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (BamfDBusMatcherSkeleton, g_object_unref)
#endif

BamfDBusMatcher *_bamf_dbus_matcher_skeleton_new (void);


G_END_DECLS

#endif /* __BAMF_GDBUS_GENERATED_H__ */
