/*
 * 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_VIEW_GENERATED_H__
#define __BAMF_GDBUS_VIEW_GENERATED_H__

#include <gio/gio.h>

G_BEGIN_DECLS


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

#define BAMF_DBUS_ITEM_TYPE_VIEW (_bamf_dbus_item_view_get_type ())
#define BAMF_DBUS_ITEM_VIEW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_VIEW, BamfDBusItemView))
#define BAMF_DBUS_ITEM_IS_VIEW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_VIEW))
#define BAMF_DBUS_ITEM_VIEW_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_ITEM_TYPE_VIEW, BamfDBusItemViewIface))

struct _BamfDBusItemView;
typedef struct _BamfDBusItemView BamfDBusItemView;
typedef struct _BamfDBusItemViewIface BamfDBusItemViewIface;

struct _BamfDBusItemViewIface
{
  GTypeInterface parent_iface;



  gboolean (*handle_children) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_icon) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_is_active) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_is_running) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_is_urgent) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_name) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_parents) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_user_visible) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_view_type) (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation);

  gboolean  (*get_active) (BamfDBusItemView *object);

  const gchar * (*get_icon) (BamfDBusItemView *object);

  const gchar * (*get_name) (BamfDBusItemView *object);

  gboolean  (*get_running) (BamfDBusItemView *object);

  gboolean  (*get_starting) (BamfDBusItemView *object);

  gboolean  (*get_urgent) (BamfDBusItemView *object);

  gboolean  (*get_user_visible) (BamfDBusItemView *object);

  void (*active_changed) (
    BamfDBusItemView *object,
    gboolean arg_is_active);

  void (*child_added) (
    BamfDBusItemView *object,
    const gchar *arg_path);

  void (*child_removed) (
    BamfDBusItemView *object,
    const gchar *arg_path);

  void (*closed) (
    BamfDBusItemView *object);

  void (*name_changed) (
    BamfDBusItemView *object,
    const gchar *arg_old_name,
    const gchar *arg_new_name);

  void (*running_changed) (
    BamfDBusItemView *object,
    gboolean arg_is_running);

  void (*urgent_changed) (
    BamfDBusItemView *object,
    gboolean arg_is_urgent);

  void (*user_visible_changed) (
    BamfDBusItemView *object,
    gboolean arg_user_visible);

};

GType _bamf_dbus_item_view_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_item_view_interface_info (void);
guint _bamf_dbus_item_view_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void _bamf_dbus_item_view_complete_view_type (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    const gchar *view_type);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_icon (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    const gchar *name);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_name (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    const gchar *name);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_user_visible (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    gboolean visible);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_is_urgent (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    gboolean urgent);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_is_running (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    gboolean running);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_complete_is_active (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    gboolean active);

void _bamf_dbus_item_view_complete_parents (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *parents_paths);

void _bamf_dbus_item_view_complete_children (
    BamfDBusItemView *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *children_paths);



/* D-Bus signal emissions functions: */
G_GNUC_DEPRECATED void _bamf_dbus_item_view_emit_name_changed (
    BamfDBusItemView *object,
    const gchar *arg_old_name,
    const gchar *arg_new_name);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_emit_user_visible_changed (
    BamfDBusItemView *object,
    gboolean arg_user_visible);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_emit_urgent_changed (
    BamfDBusItemView *object,
    gboolean arg_is_urgent);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_emit_running_changed (
    BamfDBusItemView *object,
    gboolean arg_is_running);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_emit_active_changed (
    BamfDBusItemView *object,
    gboolean arg_is_active);

void _bamf_dbus_item_view_emit_child_removed (
    BamfDBusItemView *object,
    const gchar *arg_path);

void _bamf_dbus_item_view_emit_child_added (
    BamfDBusItemView *object,
    const gchar *arg_path);

void _bamf_dbus_item_view_emit_closed (
    BamfDBusItemView *object);



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

gboolean _bamf_dbus_item_view_call_view_type_finish (
    BamfDBusItemView *proxy,
    gchar ** out_view_type,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_view_call_view_type_sync (
    BamfDBusItemView *proxy,
    gchar ** out_view_type,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_icon (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_icon_finish (
    BamfDBusItemView *proxy,
    gchar ** out_name,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_icon_sync (
    BamfDBusItemView *proxy,
    gchar ** out_name,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_name (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_name_finish (
    BamfDBusItemView *proxy,
    gchar ** out_name,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_name_sync (
    BamfDBusItemView *proxy,
    gchar ** out_name,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_user_visible (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_user_visible_finish (
    BamfDBusItemView *proxy,
    gboolean* out_visible,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_user_visible_sync (
    BamfDBusItemView *proxy,
    gboolean* out_visible,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_is_urgent (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_urgent_finish (
    BamfDBusItemView *proxy,
    gboolean* out_urgent,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_urgent_sync (
    BamfDBusItemView *proxy,
    gboolean* out_urgent,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_is_running (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_running_finish (
    BamfDBusItemView *proxy,
    gboolean* out_running,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_running_sync (
    BamfDBusItemView *proxy,
    gboolean* out_running,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_view_call_is_active (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_active_finish (
    BamfDBusItemView *proxy,
    gboolean* out_active,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_view_call_is_active_sync (
    BamfDBusItemView *proxy,
    gboolean* out_active,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_view_call_parents (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_view_call_parents_finish (
    BamfDBusItemView *proxy,
    gchar *** out_parents_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_view_call_parents_sync (
    BamfDBusItemView *proxy,
    gchar *** out_parents_paths,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_view_call_children (
    BamfDBusItemView *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_view_call_children_finish (
    BamfDBusItemView *proxy,
    gchar *** out_children_paths,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_view_call_children_sync (
    BamfDBusItemView *proxy,
    gchar *** out_children_paths,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *_bamf_dbus_item_view_get_name (BamfDBusItemView *object);
gchar *_bamf_dbus_item_view_dup_name (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_name (BamfDBusItemView *object, const gchar *value);

const gchar *_bamf_dbus_item_view_get_icon (BamfDBusItemView *object);
gchar *_bamf_dbus_item_view_dup_icon (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_icon (BamfDBusItemView *object, const gchar *value);

gboolean _bamf_dbus_item_view_get_user_visible (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_user_visible (BamfDBusItemView *object, gboolean value);

gboolean _bamf_dbus_item_view_get_running (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_running (BamfDBusItemView *object, gboolean value);

gboolean _bamf_dbus_item_view_get_starting (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_starting (BamfDBusItemView *object, gboolean value);

gboolean _bamf_dbus_item_view_get_urgent (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_urgent (BamfDBusItemView *object, gboolean value);

gboolean _bamf_dbus_item_view_get_active (BamfDBusItemView *object);
void _bamf_dbus_item_view_set_active (BamfDBusItemView *object, gboolean value);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_VIEW_PROXY (_bamf_dbus_item_view_proxy_get_type ())
#define BAMF_DBUS_ITEM_VIEW_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_VIEW_PROXY, BamfDBusItemViewProxy))
#define BAMF_DBUS_ITEM_VIEW_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_VIEW_PROXY, BamfDBusItemViewProxyClass))
#define BAMF_DBUS_ITEM_VIEW_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_VIEW_PROXY, BamfDBusItemViewProxyClass))
#define BAMF_DBUS_ITEM_IS_VIEW_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_VIEW_PROXY))
#define BAMF_DBUS_ITEM_IS_VIEW_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_VIEW_PROXY))

typedef struct _BamfDBusItemViewProxy BamfDBusItemViewProxy;
typedef struct _BamfDBusItemViewProxyClass BamfDBusItemViewProxyClass;
typedef struct _BamfDBusItemViewProxyPrivate BamfDBusItemViewProxyPrivate;

struct _BamfDBusItemViewProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusItemViewProxyPrivate *priv;
};

struct _BamfDBusItemViewProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_item_view_proxy_get_type (void) G_GNUC_CONST;

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

void _bamf_dbus_item_view_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemView *_bamf_dbus_item_view_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemView *_bamf_dbus_item_view_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_item_view_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemView *_bamf_dbus_item_view_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemView *_bamf_dbus_item_view_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON (_bamf_dbus_item_view_skeleton_get_type ())
#define BAMF_DBUS_ITEM_VIEW_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON, BamfDBusItemViewSkeleton))
#define BAMF_DBUS_ITEM_VIEW_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON, BamfDBusItemViewSkeletonClass))
#define BAMF_DBUS_ITEM_VIEW_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON, BamfDBusItemViewSkeletonClass))
#define BAMF_DBUS_ITEM_IS_VIEW_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON))
#define BAMF_DBUS_ITEM_IS_VIEW_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_VIEW_SKELETON))

typedef struct _BamfDBusItemViewSkeleton BamfDBusItemViewSkeleton;
typedef struct _BamfDBusItemViewSkeletonClass BamfDBusItemViewSkeletonClass;
typedef struct _BamfDBusItemViewSkeletonPrivate BamfDBusItemViewSkeletonPrivate;

struct _BamfDBusItemViewSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusItemViewSkeletonPrivate *priv;
};

struct _BamfDBusItemViewSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_item_view_skeleton_get_type (void) G_GNUC_CONST;

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

BamfDBusItemView *_bamf_dbus_item_view_skeleton_new (void);


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

#define BAMF_DBUS_ITEM_TYPE_APPLICATION (_bamf_dbus_item_application_get_type ())
#define BAMF_DBUS_ITEM_APPLICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION, BamfDBusItemApplication))
#define BAMF_DBUS_ITEM_IS_APPLICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION))
#define BAMF_DBUS_ITEM_APPLICATION_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION, BamfDBusItemApplicationIface))

struct _BamfDBusItemApplication;
typedef struct _BamfDBusItemApplication BamfDBusItemApplication;
typedef struct _BamfDBusItemApplicationIface BamfDBusItemApplicationIface;

struct _BamfDBusItemApplicationIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_application_menu) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_application_type) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_desktop_file) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_focusable_child) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_show_stubs) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_supported_mime_types) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_xids) (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation);

  void (*desktop_file_updated) (
    BamfDBusItemApplication *object,
    const gchar *arg_desktop_file);

  void (*supported_mime_types_changed) (
    BamfDBusItemApplication *object,
    const gchar *const *arg_dnd_mimes);

  void (*window_added) (
    BamfDBusItemApplication *object,
    const gchar *arg_path);

  void (*window_removed) (
    BamfDBusItemApplication *object,
    const gchar *arg_path);

};

GType _bamf_dbus_item_application_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_item_application_interface_info (void);
guint _bamf_dbus_item_application_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void _bamf_dbus_item_application_complete_show_stubs (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    gboolean show_stubs);

void _bamf_dbus_item_application_complete_xids (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    GVariant *xids);

void _bamf_dbus_item_application_complete_desktop_file (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    const gchar *desktop_file);

void _bamf_dbus_item_application_complete_supported_mime_types (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    const gchar *const *mime_types);

void _bamf_dbus_item_application_complete_application_type (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    const gchar *type);

G_GNUC_DEPRECATED void _bamf_dbus_item_application_complete_application_menu (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    const gchar *busname,
    const gchar *objectpath);

void _bamf_dbus_item_application_complete_focusable_child (
    BamfDBusItemApplication *object,
    GDBusMethodInvocation *invocation,
    const gchar *path);



/* D-Bus signal emissions functions: */
G_GNUC_DEPRECATED void _bamf_dbus_item_application_emit_window_removed (
    BamfDBusItemApplication *object,
    const gchar *arg_path);

G_GNUC_DEPRECATED void _bamf_dbus_item_application_emit_window_added (
    BamfDBusItemApplication *object,
    const gchar *arg_path);

void _bamf_dbus_item_application_emit_supported_mime_types_changed (
    BamfDBusItemApplication *object,
    const gchar *const *arg_dnd_mimes);

void _bamf_dbus_item_application_emit_desktop_file_updated (
    BamfDBusItemApplication *object,
    const gchar *arg_desktop_file);



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

gboolean _bamf_dbus_item_application_call_show_stubs_finish (
    BamfDBusItemApplication *proxy,
    gboolean* out_show_stubs,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_show_stubs_sync (
    BamfDBusItemApplication *proxy,
    gboolean* out_show_stubs,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_application_call_xids (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_application_call_xids_finish (
    BamfDBusItemApplication *proxy,
    GVariant ** out_xids,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_xids_sync (
    BamfDBusItemApplication *proxy,
    GVariant ** out_xids,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_application_call_desktop_file (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_application_call_desktop_file_finish (
    BamfDBusItemApplication *proxy,
    gchar ** out_desktop_file,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_desktop_file_sync (
    BamfDBusItemApplication *proxy,
    gchar ** out_desktop_file,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_application_call_supported_mime_types (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_application_call_supported_mime_types_finish (
    BamfDBusItemApplication *proxy,
    gchar *** out_mime_types,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_supported_mime_types_sync (
    BamfDBusItemApplication *proxy,
    gchar *** out_mime_types,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_application_call_application_type (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_application_call_application_type_finish (
    BamfDBusItemApplication *proxy,
    gchar ** out_type,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_application_type_sync (
    BamfDBusItemApplication *proxy,
    gchar ** out_type,
    GCancellable *cancellable,
    GError **error);

G_GNUC_DEPRECATED void _bamf_dbus_item_application_call_application_menu (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_application_call_application_menu_finish (
    BamfDBusItemApplication *proxy,
    gchar ** out_busname,
    gchar ** out_objectpath,
    GAsyncResult *res,
    GError **error);

G_GNUC_DEPRECATED gboolean _bamf_dbus_item_application_call_application_menu_sync (
    BamfDBusItemApplication *proxy,
    gchar ** out_busname,
    gchar ** out_objectpath,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_application_call_focusable_child (
    BamfDBusItemApplication *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_application_call_focusable_child_finish (
    BamfDBusItemApplication *proxy,
    gchar ** out_path,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_application_call_focusable_child_sync (
    BamfDBusItemApplication *proxy,
    gchar ** out_path,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY (_bamf_dbus_item_application_proxy_get_type ())
#define BAMF_DBUS_ITEM_APPLICATION_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY, BamfDBusItemApplicationProxy))
#define BAMF_DBUS_ITEM_APPLICATION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY, BamfDBusItemApplicationProxyClass))
#define BAMF_DBUS_ITEM_APPLICATION_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY, BamfDBusItemApplicationProxyClass))
#define BAMF_DBUS_ITEM_IS_APPLICATION_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY))
#define BAMF_DBUS_ITEM_IS_APPLICATION_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_APPLICATION_PROXY))

typedef struct _BamfDBusItemApplicationProxy BamfDBusItemApplicationProxy;
typedef struct _BamfDBusItemApplicationProxyClass BamfDBusItemApplicationProxyClass;
typedef struct _BamfDBusItemApplicationProxyPrivate BamfDBusItemApplicationProxyPrivate;

struct _BamfDBusItemApplicationProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusItemApplicationProxyPrivate *priv;
};

struct _BamfDBusItemApplicationProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_item_application_proxy_get_type (void) G_GNUC_CONST;

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

void _bamf_dbus_item_application_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemApplication *_bamf_dbus_item_application_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemApplication *_bamf_dbus_item_application_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_item_application_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemApplication *_bamf_dbus_item_application_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemApplication *_bamf_dbus_item_application_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON (_bamf_dbus_item_application_skeleton_get_type ())
#define BAMF_DBUS_ITEM_APPLICATION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON, BamfDBusItemApplicationSkeleton))
#define BAMF_DBUS_ITEM_APPLICATION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON, BamfDBusItemApplicationSkeletonClass))
#define BAMF_DBUS_ITEM_APPLICATION_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON, BamfDBusItemApplicationSkeletonClass))
#define BAMF_DBUS_ITEM_IS_APPLICATION_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON))
#define BAMF_DBUS_ITEM_IS_APPLICATION_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_APPLICATION_SKELETON))

typedef struct _BamfDBusItemApplicationSkeleton BamfDBusItemApplicationSkeleton;
typedef struct _BamfDBusItemApplicationSkeletonClass BamfDBusItemApplicationSkeletonClass;
typedef struct _BamfDBusItemApplicationSkeletonPrivate BamfDBusItemApplicationSkeletonPrivate;

struct _BamfDBusItemApplicationSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusItemApplicationSkeletonPrivate *priv;
};

struct _BamfDBusItemApplicationSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_item_application_skeleton_get_type (void) G_GNUC_CONST;

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

BamfDBusItemApplication *_bamf_dbus_item_application_skeleton_new (void);


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

#define BAMF_DBUS_ITEM_TYPE_WINDOW (_bamf_dbus_item_window_get_type ())
#define BAMF_DBUS_ITEM_WINDOW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_WINDOW, BamfDBusItemWindow))
#define BAMF_DBUS_ITEM_IS_WINDOW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_WINDOW))
#define BAMF_DBUS_ITEM_WINDOW_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_ITEM_TYPE_WINDOW, BamfDBusItemWindowIface))

struct _BamfDBusItemWindow;
typedef struct _BamfDBusItemWindow BamfDBusItemWindow;
typedef struct _BamfDBusItemWindowIface BamfDBusItemWindowIface;

struct _BamfDBusItemWindowIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_get_pid) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_get_xid) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_maximized) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_monitor) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_transient) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_window_type) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_xprop) (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    const gchar *arg_xprop);

  void (*maximized_changed) (
    BamfDBusItemWindow *object,
    gint arg_old,
    gint arg_new);

  void (*monitor_changed) (
    BamfDBusItemWindow *object,
    gint arg_old,
    gint arg_new);

};

GType _bamf_dbus_item_window_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_item_window_interface_info (void);
guint _bamf_dbus_item_window_override_properties (GObjectClass *klass, guint property_id_begin);


/* D-Bus method call completion functions: */
void _bamf_dbus_item_window_complete_get_xid (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    guint xid);

void _bamf_dbus_item_window_complete_get_pid (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    guint pid);

void _bamf_dbus_item_window_complete_transient (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    const gchar *path);

void _bamf_dbus_item_window_complete_window_type (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    guint type);

void _bamf_dbus_item_window_complete_xprop (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    const gchar *name);

void _bamf_dbus_item_window_complete_monitor (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    gint monitor_number);

void _bamf_dbus_item_window_complete_maximized (
    BamfDBusItemWindow *object,
    GDBusMethodInvocation *invocation,
    gint maximized);



/* D-Bus signal emissions functions: */
void _bamf_dbus_item_window_emit_monitor_changed (
    BamfDBusItemWindow *object,
    gint arg_old,
    gint arg_new);

void _bamf_dbus_item_window_emit_maximized_changed (
    BamfDBusItemWindow *object,
    gint arg_old,
    gint arg_new);



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

gboolean _bamf_dbus_item_window_call_get_xid_finish (
    BamfDBusItemWindow *proxy,
    guint* out_xid,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_get_xid_sync (
    BamfDBusItemWindow *proxy,
    guint* out_xid,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_get_pid (
    BamfDBusItemWindow *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_get_pid_finish (
    BamfDBusItemWindow *proxy,
    guint* out_pid,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_get_pid_sync (
    BamfDBusItemWindow *proxy,
    guint* out_pid,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_transient (
    BamfDBusItemWindow *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_transient_finish (
    BamfDBusItemWindow *proxy,
    gchar ** out_path,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_transient_sync (
    BamfDBusItemWindow *proxy,
    gchar ** out_path,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_window_type (
    BamfDBusItemWindow *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_window_type_finish (
    BamfDBusItemWindow *proxy,
    guint* out_type,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_window_type_sync (
    BamfDBusItemWindow *proxy,
    guint* out_type,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_xprop (
    BamfDBusItemWindow *proxy,
    const gchar *arg_xprop,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_xprop_finish (
    BamfDBusItemWindow *proxy,
    gchar ** out_name,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_xprop_sync (
    BamfDBusItemWindow *proxy,
    const gchar *arg_xprop,
    gchar ** out_name,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_monitor (
    BamfDBusItemWindow *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_monitor_finish (
    BamfDBusItemWindow *proxy,
    gint* out_monitor_number,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_monitor_sync (
    BamfDBusItemWindow *proxy,
    gint* out_monitor_number,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_window_call_maximized (
    BamfDBusItemWindow *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_window_call_maximized_finish (
    BamfDBusItemWindow *proxy,
    gint* out_maximized,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_window_call_maximized_sync (
    BamfDBusItemWindow *proxy,
    gint* out_maximized,
    GCancellable *cancellable,
    GError **error);



/* ---- */

#define BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY (_bamf_dbus_item_window_proxy_get_type ())
#define BAMF_DBUS_ITEM_WINDOW_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY, BamfDBusItemWindowProxy))
#define BAMF_DBUS_ITEM_WINDOW_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY, BamfDBusItemWindowProxyClass))
#define BAMF_DBUS_ITEM_WINDOW_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY, BamfDBusItemWindowProxyClass))
#define BAMF_DBUS_ITEM_IS_WINDOW_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY))
#define BAMF_DBUS_ITEM_IS_WINDOW_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_WINDOW_PROXY))

typedef struct _BamfDBusItemWindowProxy BamfDBusItemWindowProxy;
typedef struct _BamfDBusItemWindowProxyClass BamfDBusItemWindowProxyClass;
typedef struct _BamfDBusItemWindowProxyPrivate BamfDBusItemWindowProxyPrivate;

struct _BamfDBusItemWindowProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusItemWindowProxyPrivate *priv;
};

struct _BamfDBusItemWindowProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_item_window_proxy_get_type (void) G_GNUC_CONST;

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

void _bamf_dbus_item_window_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemWindow *_bamf_dbus_item_window_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemWindow *_bamf_dbus_item_window_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_item_window_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemWindow *_bamf_dbus_item_window_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemWindow *_bamf_dbus_item_window_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON (_bamf_dbus_item_window_skeleton_get_type ())
#define BAMF_DBUS_ITEM_WINDOW_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON, BamfDBusItemWindowSkeleton))
#define BAMF_DBUS_ITEM_WINDOW_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON, BamfDBusItemWindowSkeletonClass))
#define BAMF_DBUS_ITEM_WINDOW_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON, BamfDBusItemWindowSkeletonClass))
#define BAMF_DBUS_ITEM_IS_WINDOW_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON))
#define BAMF_DBUS_ITEM_IS_WINDOW_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_WINDOW_SKELETON))

typedef struct _BamfDBusItemWindowSkeleton BamfDBusItemWindowSkeleton;
typedef struct _BamfDBusItemWindowSkeletonClass BamfDBusItemWindowSkeletonClass;
typedef struct _BamfDBusItemWindowSkeletonPrivate BamfDBusItemWindowSkeletonPrivate;

struct _BamfDBusItemWindowSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusItemWindowSkeletonPrivate *priv;
};

struct _BamfDBusItemWindowSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_item_window_skeleton_get_type (void) G_GNUC_CONST;

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

BamfDBusItemWindow *_bamf_dbus_item_window_skeleton_new (void);


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

#define BAMF_DBUS_ITEM_TYPE_TAB (_bamf_dbus_item_tab_get_type ())
#define BAMF_DBUS_ITEM_TAB(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_TAB, BamfDBusItemTab))
#define BAMF_DBUS_ITEM_IS_TAB(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_TAB))
#define BAMF_DBUS_ITEM_TAB_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_ITEM_TYPE_TAB, BamfDBusItemTabIface))

struct _BamfDBusItemTab;
typedef struct _BamfDBusItemTab BamfDBusItemTab;
typedef struct _BamfDBusItemTabIface BamfDBusItemTabIface;

struct _BamfDBusItemTabIface
{
  GTypeInterface parent_iface;


  gboolean (*handle_close) (
    BamfDBusItemTab *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_raise) (
    BamfDBusItemTab *object,
    GDBusMethodInvocation *invocation);

  gboolean (*handle_request_preview) (
    BamfDBusItemTab *object,
    GDBusMethodInvocation *invocation);

  const gchar * (*get_desktop_id) (BamfDBusItemTab *object);

  gboolean  (*get_is_foreground_tab) (BamfDBusItemTab *object);

  const gchar * (*get_location) (BamfDBusItemTab *object);

  guint64  (*get_xid) (BamfDBusItemTab *object);

};

GType _bamf_dbus_item_tab_get_type (void) G_GNUC_CONST;

GDBusInterfaceInfo *_bamf_dbus_item_tab_interface_info (void);
guint _bamf_dbus_item_tab_override_properties (GObjectClass *klass, guint property_id_begin);


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

void _bamf_dbus_item_tab_complete_close (
    BamfDBusItemTab *object,
    GDBusMethodInvocation *invocation);

void _bamf_dbus_item_tab_complete_request_preview (
    BamfDBusItemTab *object,
    GDBusMethodInvocation *invocation,
    const gchar *data);



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

gboolean _bamf_dbus_item_tab_call_raise_finish (
    BamfDBusItemTab *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_tab_call_raise_sync (
    BamfDBusItemTab *proxy,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_tab_call_close (
    BamfDBusItemTab *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_tab_call_close_finish (
    BamfDBusItemTab *proxy,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_tab_call_close_sync (
    BamfDBusItemTab *proxy,
    GCancellable *cancellable,
    GError **error);

void _bamf_dbus_item_tab_call_request_preview (
    BamfDBusItemTab *proxy,
    GCancellable *cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data);

gboolean _bamf_dbus_item_tab_call_request_preview_finish (
    BamfDBusItemTab *proxy,
    gchar ** out_data,
    GAsyncResult *res,
    GError **error);

gboolean _bamf_dbus_item_tab_call_request_preview_sync (
    BamfDBusItemTab *proxy,
    gchar ** out_data,
    GCancellable *cancellable,
    GError **error);



/* D-Bus property accessors: */
const gchar *_bamf_dbus_item_tab_get_location (BamfDBusItemTab *object);
gchar *_bamf_dbus_item_tab_dup_location (BamfDBusItemTab *object);
void _bamf_dbus_item_tab_set_location (BamfDBusItemTab *object, const gchar *value);

guint64 _bamf_dbus_item_tab_get_xid (BamfDBusItemTab *object);
void _bamf_dbus_item_tab_set_xid (BamfDBusItemTab *object, guint64 value);

const gchar *_bamf_dbus_item_tab_get_desktop_id (BamfDBusItemTab *object);
gchar *_bamf_dbus_item_tab_dup_desktop_id (BamfDBusItemTab *object);
void _bamf_dbus_item_tab_set_desktop_id (BamfDBusItemTab *object, const gchar *value);

gboolean _bamf_dbus_item_tab_get_is_foreground_tab (BamfDBusItemTab *object);
void _bamf_dbus_item_tab_set_is_foreground_tab (BamfDBusItemTab *object, gboolean value);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_TAB_PROXY (_bamf_dbus_item_tab_proxy_get_type ())
#define BAMF_DBUS_ITEM_TAB_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_TAB_PROXY, BamfDBusItemTabProxy))
#define BAMF_DBUS_ITEM_TAB_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_TAB_PROXY, BamfDBusItemTabProxyClass))
#define BAMF_DBUS_ITEM_TAB_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_TAB_PROXY, BamfDBusItemTabProxyClass))
#define BAMF_DBUS_ITEM_IS_TAB_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_TAB_PROXY))
#define BAMF_DBUS_ITEM_IS_TAB_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_TAB_PROXY))

typedef struct _BamfDBusItemTabProxy BamfDBusItemTabProxy;
typedef struct _BamfDBusItemTabProxyClass BamfDBusItemTabProxyClass;
typedef struct _BamfDBusItemTabProxyPrivate BamfDBusItemTabProxyPrivate;

struct _BamfDBusItemTabProxy
{
  /*< private >*/
  GDBusProxy parent_instance;
  BamfDBusItemTabProxyPrivate *priv;
};

struct _BamfDBusItemTabProxyClass
{
  GDBusProxyClass parent_class;
};

GType _bamf_dbus_item_tab_proxy_get_type (void) G_GNUC_CONST;

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

void _bamf_dbus_item_tab_proxy_new (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemTab *_bamf_dbus_item_tab_proxy_new_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemTab *_bamf_dbus_item_tab_proxy_new_sync (
    GDBusConnection     *connection,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);

void _bamf_dbus_item_tab_proxy_new_for_bus (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GAsyncReadyCallback  callback,
    gpointer             user_data);
BamfDBusItemTab *_bamf_dbus_item_tab_proxy_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
BamfDBusItemTab *_bamf_dbus_item_tab_proxy_new_for_bus_sync (
    GBusType             bus_type,
    GDBusProxyFlags      flags,
    const gchar         *name,
    const gchar         *object_path,
    GCancellable        *cancellable,
    GError             **error);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_TAB_SKELETON (_bamf_dbus_item_tab_skeleton_get_type ())
#define BAMF_DBUS_ITEM_TAB_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_TAB_SKELETON, BamfDBusItemTabSkeleton))
#define BAMF_DBUS_ITEM_TAB_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_TAB_SKELETON, BamfDBusItemTabSkeletonClass))
#define BAMF_DBUS_ITEM_TAB_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_TAB_SKELETON, BamfDBusItemTabSkeletonClass))
#define BAMF_DBUS_ITEM_IS_TAB_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_TAB_SKELETON))
#define BAMF_DBUS_ITEM_IS_TAB_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_TAB_SKELETON))

typedef struct _BamfDBusItemTabSkeleton BamfDBusItemTabSkeleton;
typedef struct _BamfDBusItemTabSkeletonClass BamfDBusItemTabSkeletonClass;
typedef struct _BamfDBusItemTabSkeletonPrivate BamfDBusItemTabSkeletonPrivate;

struct _BamfDBusItemTabSkeleton
{
  /*< private >*/
  GDBusInterfaceSkeleton parent_instance;
  BamfDBusItemTabSkeletonPrivate *priv;
};

struct _BamfDBusItemTabSkeletonClass
{
  GDBusInterfaceSkeletonClass parent_class;
};

GType _bamf_dbus_item_tab_skeleton_get_type (void) G_GNUC_CONST;

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

BamfDBusItemTab *_bamf_dbus_item_tab_skeleton_new (void);


/* ---- */

#define BAMF_DBUS_ITEM_TYPE_OBJECT (_bamf_dbus_item_object_get_type ())
#define BAMF_DBUS_ITEM_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_OBJECT, BamfDBusItemObject))
#define BAMF_DBUS_ITEM_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_OBJECT))
#define BAMF_DBUS_ITEM_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BAMF_DBUS_ITEM_TYPE_OBJECT, BamfDBusItemObject))

struct _BamfDBusItemObject;
typedef struct _BamfDBusItemObject BamfDBusItemObject;
typedef struct _BamfDBusItemObjectIface BamfDBusItemObjectIface;

struct _BamfDBusItemObjectIface
{
  GTypeInterface parent_iface;
};

GType _bamf_dbus_item_object_get_type (void) G_GNUC_CONST;

BamfDBusItemView *_bamf_dbus_item_object_get_view (BamfDBusItemObject *object);
BamfDBusItemApplication *_bamf_dbus_item_object_get_application (BamfDBusItemObject *object);
BamfDBusItemWindow *_bamf_dbus_item_object_get_window (BamfDBusItemObject *object);
BamfDBusItemTab *_bamf_dbus_item_object_get_tab (BamfDBusItemObject *object);
BamfDBusItemView *_bamf_dbus_item_object_peek_view (BamfDBusItemObject *object);
BamfDBusItemApplication *_bamf_dbus_item_object_peek_application (BamfDBusItemObject *object);
BamfDBusItemWindow *_bamf_dbus_item_object_peek_window (BamfDBusItemObject *object);
BamfDBusItemTab *_bamf_dbus_item_object_peek_tab (BamfDBusItemObject *object);

#define BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY (_bamf_dbus_item_object_proxy_get_type ())
#define BAMF_DBUS_ITEM_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY, BamfDBusItemObjectProxy))
#define BAMF_DBUS_ITEM_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY, BamfDBusItemObjectProxyClass))
#define BAMF_DBUS_ITEM_OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY, BamfDBusItemObjectProxyClass))
#define BAMF_DBUS_ITEM_IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY))
#define BAMF_DBUS_ITEM_IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_PROXY))

typedef struct _BamfDBusItemObjectProxy BamfDBusItemObjectProxy;
typedef struct _BamfDBusItemObjectProxyClass BamfDBusItemObjectProxyClass;
typedef struct _BamfDBusItemObjectProxyPrivate BamfDBusItemObjectProxyPrivate;

struct _BamfDBusItemObjectProxy
{
  /*< private >*/
  GDBusObjectProxy parent_instance;
  BamfDBusItemObjectProxyPrivate *priv;
};

struct _BamfDBusItemObjectProxyClass
{
  GDBusObjectProxyClass parent_class;
};

GType _bamf_dbus_item_object_proxy_get_type (void) G_GNUC_CONST;

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

BamfDBusItemObjectProxy *_bamf_dbus_item_object_proxy_new (GDBusConnection *connection, const gchar *object_path);

#define BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON (_bamf_dbus_item_object_skeleton_get_type ())
#define BAMF_DBUS_ITEM_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON, BamfDBusItemObjectSkeleton))
#define BAMF_DBUS_ITEM_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON, BamfDBusItemObjectSkeletonClass))
#define BAMF_DBUS_ITEM_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON, BamfDBusItemObjectSkeletonClass))
#define BAMF_DBUS_ITEM_IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON))
#define BAMF_DBUS_ITEM_IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_SKELETON))

typedef struct _BamfDBusItemObjectSkeleton BamfDBusItemObjectSkeleton;
typedef struct _BamfDBusItemObjectSkeletonClass BamfDBusItemObjectSkeletonClass;
typedef struct _BamfDBusItemObjectSkeletonPrivate BamfDBusItemObjectSkeletonPrivate;

struct _BamfDBusItemObjectSkeleton
{
  /*< private >*/
  GDBusObjectSkeleton parent_instance;
  BamfDBusItemObjectSkeletonPrivate *priv;
};

struct _BamfDBusItemObjectSkeletonClass
{
  GDBusObjectSkeletonClass parent_class;
};

GType _bamf_dbus_item_object_skeleton_get_type (void) G_GNUC_CONST;

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

BamfDBusItemObjectSkeleton *_bamf_dbus_item_object_skeleton_new (const gchar *object_path);
void _bamf_dbus_item_object_skeleton_set_view (BamfDBusItemObjectSkeleton *object, BamfDBusItemView *interface_);
void _bamf_dbus_item_object_skeleton_set_application (BamfDBusItemObjectSkeleton *object, BamfDBusItemApplication *interface_);
void _bamf_dbus_item_object_skeleton_set_window (BamfDBusItemObjectSkeleton *object, BamfDBusItemWindow *interface_);
void _bamf_dbus_item_object_skeleton_set_tab (BamfDBusItemObjectSkeleton *object, BamfDBusItemTab *interface_);

/* ---- */

#define BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT (_bamf_dbus_item_object_manager_client_get_type ())
#define BAMF_DBUS_ITEM_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT, BamfDBusItemObjectManagerClient))
#define BAMF_DBUS_ITEM_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT, BamfDBusItemObjectManagerClientClass))
#define BAMF_DBUS_ITEM_OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT, BamfDBusItemObjectManagerClientClass))
#define BAMF_DBUS_ITEM_IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT))
#define BAMF_DBUS_ITEM_IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BAMF_DBUS_ITEM_TYPE_OBJECT_MANAGER_CLIENT))

typedef struct _BamfDBusItemObjectManagerClient BamfDBusItemObjectManagerClient;
typedef struct _BamfDBusItemObjectManagerClientClass BamfDBusItemObjectManagerClientClass;
typedef struct _BamfDBusItemObjectManagerClientPrivate BamfDBusItemObjectManagerClientPrivate;

struct _BamfDBusItemObjectManagerClient
{
  /*< private >*/
  GDBusObjectManagerClient parent_instance;
  BamfDBusItemObjectManagerClientPrivate *priv;
};

struct _BamfDBusItemObjectManagerClientClass
{
  GDBusObjectManagerClientClass parent_class;
};

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

GType _bamf_dbus_item_object_manager_client_get_type (void) G_GNUC_CONST;

GType _bamf_dbus_item_object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);

void _bamf_dbus_item_object_manager_client_new (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *_bamf_dbus_item_object_manager_client_new_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *_bamf_dbus_item_object_manager_client_new_sync (
    GDBusConnection        *connection,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);

void _bamf_dbus_item_object_manager_client_new_for_bus (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GAsyncReadyCallback     callback,
    gpointer                user_data);
GDBusObjectManager *_bamf_dbus_item_object_manager_client_new_for_bus_finish (
    GAsyncResult        *res,
    GError             **error);
GDBusObjectManager *_bamf_dbus_item_object_manager_client_new_for_bus_sync (
    GBusType                bus_type,
    GDBusObjectManagerClientFlags  flags,
    const gchar            *name,
    const gchar            *object_path,
    GCancellable           *cancellable,
    GError                **error);


G_END_DECLS

#endif /* __BAMF_GDBUS_VIEW_GENERATED_H__ */
