/* libgitg-ext.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __LIBGITG_EXT_LIBGITG_EXT_H__
#define __LIBGITG_EXT_LIBGITG_EXT_H__

#include <glib-object.h>
#include <glib.h>
#include <libgit2-glib/ggit.h>
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
#include "libgitg.h"
#include <gee.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GITG_EXT_TYPE_ACTION (gitg_ext_action_get_type ())
#define GITG_EXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_ACTION, GitgExtAction))
#define GITG_EXT_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_ACTION))
#define GITG_EXT_ACTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_ACTION, GitgExtActionIface))

typedef struct _GitgExtAction GitgExtAction;
typedef struct _GitgExtActionIface GitgExtActionIface;

#define GITG_EXT_TYPE_UI_ELEMENT (gitg_ext_ui_element_get_type ())
#define GITG_EXT_UI_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_UI_ELEMENT, GitgExtUIElement))
#define GITG_EXT_IS_UI_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_UI_ELEMENT))
#define GITG_EXT_UI_ELEMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_UI_ELEMENT, GitgExtUIElementIface))

typedef struct _GitgExtUIElement GitgExtUIElement;
typedef struct _GitgExtUIElementIface GitgExtUIElementIface;

#define GITG_EXT_TYPE_APPLICATION (gitg_ext_application_get_type ())
#define GITG_EXT_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_APPLICATION, GitgExtApplication))
#define GITG_EXT_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_APPLICATION))
#define GITG_EXT_APPLICATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_APPLICATION, GitgExtApplicationIface))

typedef struct _GitgExtApplication GitgExtApplication;
typedef struct _GitgExtApplicationIface GitgExtApplicationIface;

#define GITG_EXT_TYPE_ACTIVITY (gitg_ext_activity_get_type ())
#define GITG_EXT_ACTIVITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_ACTIVITY, GitgExtActivity))
#define GITG_EXT_IS_ACTIVITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_ACTIVITY))
#define GITG_EXT_ACTIVITY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_ACTIVITY, GitgExtActivityIface))

typedef struct _GitgExtActivity GitgExtActivity;
typedef struct _GitgExtActivityIface GitgExtActivityIface;

#define GITG_EXT_TYPE_USER_QUERY (gitg_ext_user_query_get_type ())
#define GITG_EXT_USER_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_USER_QUERY, GitgExtUserQuery))
#define GITG_EXT_USER_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_USER_QUERY, GitgExtUserQueryClass))
#define GITG_EXT_IS_USER_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_USER_QUERY))
#define GITG_EXT_IS_USER_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_USER_QUERY))
#define GITG_EXT_USER_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_USER_QUERY, GitgExtUserQueryClass))

typedef struct _GitgExtUserQuery GitgExtUserQuery;
typedef struct _GitgExtUserQueryClass GitgExtUserQueryClass;

#define GITG_EXT_TYPE_MESSAGE_BUS (gitg_ext_message_bus_get_type ())
#define GITG_EXT_MESSAGE_BUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_MESSAGE_BUS, GitgExtMessageBus))
#define GITG_EXT_MESSAGE_BUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_MESSAGE_BUS, GitgExtMessageBusClass))
#define GITG_EXT_IS_MESSAGE_BUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_MESSAGE_BUS))
#define GITG_EXT_IS_MESSAGE_BUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_MESSAGE_BUS))
#define GITG_EXT_MESSAGE_BUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_MESSAGE_BUS, GitgExtMessageBusClass))

typedef struct _GitgExtMessageBus GitgExtMessageBus;
typedef struct _GitgExtMessageBusClass GitgExtMessageBusClass;

#define GITG_EXT_TYPE_NOTIFICATIONS (gitg_ext_notifications_get_type ())
#define GITG_EXT_NOTIFICATIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_NOTIFICATIONS, GitgExtNotifications))
#define GITG_EXT_IS_NOTIFICATIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_NOTIFICATIONS))
#define GITG_EXT_NOTIFICATIONS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_NOTIFICATIONS, GitgExtNotificationsIface))

typedef struct _GitgExtNotifications GitgExtNotifications;
typedef struct _GitgExtNotificationsIface GitgExtNotificationsIface;

#define GITG_EXT_TYPE_NOTIFICATION (gitg_ext_notification_get_type ())
#define GITG_EXT_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_NOTIFICATION, GitgExtNotification))
#define GITG_EXT_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_NOTIFICATION))
#define GITG_EXT_NOTIFICATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_NOTIFICATION, GitgExtNotificationIface))

typedef struct _GitgExtNotification GitgExtNotification;
typedef struct _GitgExtNotificationIface GitgExtNotificationIface;

#define GITG_EXT_TYPE_REMOTE_LOOKUP (gitg_ext_remote_lookup_get_type ())
#define GITG_EXT_REMOTE_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_REMOTE_LOOKUP, GitgExtRemoteLookup))
#define GITG_EXT_IS_REMOTE_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_REMOTE_LOOKUP))
#define GITG_EXT_REMOTE_LOOKUP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_REMOTE_LOOKUP, GitgExtRemoteLookupIface))

typedef struct _GitgExtRemoteLookup GitgExtRemoteLookup;
typedef struct _GitgExtRemoteLookupIface GitgExtRemoteLookupIface;
typedef enum  {
	GITG_EXT_EXTERNAL_CHANGE_HINT_NONE = 0,
	GITG_EXT_EXTERNAL_CHANGE_HINT_REFS = 1 << 0,
	GITG_EXT_EXTERNAL_CHANGE_HINT_INDEX = 1 << 1
} GitgExtExternalChangeHint;

#define GITG_EXT_TYPE_EXTERNAL_CHANGE_HINT (gitg_ext_external_change_hint_get_type ())

#define GITG_EXT_TYPE_COMMAND_LINE (gitg_ext_command_line_get_type ())
#define GITG_EXT_COMMAND_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_COMMAND_LINE, GitgExtCommandLine))
#define GITG_EXT_IS_COMMAND_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_COMMAND_LINE))
#define GITG_EXT_COMMAND_LINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_COMMAND_LINE, GitgExtCommandLineIface))

typedef struct _GitgExtCommandLine GitgExtCommandLine;
typedef struct _GitgExtCommandLineIface GitgExtCommandLineIface;

#define GITG_EXT_TYPE_COMMAND_LINES (gitg_ext_command_lines_get_type ())
#define GITG_EXT_COMMAND_LINES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_COMMAND_LINES, GitgExtCommandLines))
#define GITG_EXT_COMMAND_LINES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_COMMAND_LINES, GitgExtCommandLinesClass))
#define GITG_EXT_IS_COMMAND_LINES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_COMMAND_LINES))
#define GITG_EXT_IS_COMMAND_LINES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_COMMAND_LINES))
#define GITG_EXT_COMMAND_LINES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_COMMAND_LINES, GitgExtCommandLinesClass))

typedef struct _GitgExtCommandLines GitgExtCommandLines;
typedef struct _GitgExtCommandLinesClass GitgExtCommandLinesClass;
typedef struct _GitgExtCommandLinesPrivate GitgExtCommandLinesPrivate;

#define GITG_EXT_TYPE_COMMIT_ACTION (gitg_ext_commit_action_get_type ())
#define GITG_EXT_COMMIT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_COMMIT_ACTION, GitgExtCommitAction))
#define GITG_EXT_IS_COMMIT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_COMMIT_ACTION))
#define GITG_EXT_COMMIT_ACTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_COMMIT_ACTION, GitgExtCommitActionIface))

typedef struct _GitgExtCommitAction GitgExtCommitAction;
typedef struct _GitgExtCommitActionIface GitgExtCommitActionIface;

#define GITG_EXT_TYPE_REF_ACTION_INTERFACE (gitg_ext_ref_action_interface_get_type ())
#define GITG_EXT_REF_ACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_REF_ACTION_INTERFACE, GitgExtRefActionInterface))
#define GITG_EXT_IS_REF_ACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_REF_ACTION_INTERFACE))
#define GITG_EXT_REF_ACTION_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_REF_ACTION_INTERFACE, GitgExtRefActionInterfaceIface))

typedef struct _GitgExtRefActionInterface GitgExtRefActionInterface;
typedef struct _GitgExtRefActionInterfaceIface GitgExtRefActionInterfaceIface;
typedef void (*GitgExtRefNameEditingDone) (const gchar* new_name, gboolean cancelled, gpointer user_data);

#define GITG_EXT_TYPE_HISTORY_PANEL (gitg_ext_history_panel_get_type ())
#define GITG_EXT_HISTORY_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_HISTORY_PANEL, GitgExtHistoryPanel))
#define GITG_EXT_IS_HISTORY_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_HISTORY_PANEL))
#define GITG_EXT_HISTORY_PANEL_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_HISTORY_PANEL, GitgExtHistoryPanelIface))

typedef struct _GitgExtHistoryPanel GitgExtHistoryPanel;
typedef struct _GitgExtHistoryPanelIface GitgExtHistoryPanelIface;

#define GITG_EXT_TYPE_HISTORY (gitg_ext_history_get_type ())
#define GITG_EXT_HISTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_HISTORY, GitgExtHistory))
#define GITG_EXT_IS_HISTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_HISTORY))
#define GITG_EXT_HISTORY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_HISTORY, GitgExtHistoryIface))

typedef struct _GitgExtHistory GitgExtHistory;
typedef struct _GitgExtHistoryIface GitgExtHistoryIface;
typedef gboolean (*GitgExtForeachCommitSelectionFunc) (GgitCommit* object, gpointer user_data);

#define GITG_EXT_TYPE_MESSAGE (gitg_ext_message_get_type ())
#define GITG_EXT_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_MESSAGE, GitgExtMessage))
#define GITG_EXT_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_MESSAGE, GitgExtMessageClass))
#define GITG_EXT_IS_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_MESSAGE))
#define GITG_EXT_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_MESSAGE))
#define GITG_EXT_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_MESSAGE, GitgExtMessageClass))

typedef struct _GitgExtMessage GitgExtMessage;
typedef struct _GitgExtMessageClass GitgExtMessageClass;
typedef void (*GitgExtMessageCallback) (GitgExtMessage* message, gpointer user_data);
typedef struct _GitgExtMessageBusPrivate GitgExtMessageBusPrivate;

#define GITG_EXT_TYPE_MESSAGE_ID (gitg_ext_message_id_get_type ())
#define GITG_EXT_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_MESSAGE_ID, GitgExtMessageId))
#define GITG_EXT_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_MESSAGE_ID, GitgExtMessageIdClass))
#define GITG_EXT_IS_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_MESSAGE_ID))
#define GITG_EXT_IS_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_MESSAGE_ID))
#define GITG_EXT_MESSAGE_ID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_MESSAGE_ID, GitgExtMessageIdClass))

typedef struct _GitgExtMessageId GitgExtMessageId;
typedef struct _GitgExtMessageIdClass GitgExtMessageIdClass;
typedef struct _GitgExtMessageIdPrivate GitgExtMessageIdPrivate;
typedef struct _GitgExtMessagePrivate GitgExtMessagePrivate;

#define GITG_EXT_TYPE_PREFERENCES (gitg_ext_preferences_get_type ())
#define GITG_EXT_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_PREFERENCES, GitgExtPreferences))
#define GITG_EXT_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_PREFERENCES))
#define GITG_EXT_PREFERENCES_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_PREFERENCES, GitgExtPreferencesIface))

typedef struct _GitgExtPreferences GitgExtPreferences;
typedef struct _GitgExtPreferencesIface GitgExtPreferencesIface;

#define GITG_EXT_TYPE_REF_ACTION (gitg_ext_ref_action_get_type ())
#define GITG_EXT_REF_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_REF_ACTION, GitgExtRefAction))
#define GITG_EXT_IS_REF_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_REF_ACTION))
#define GITG_EXT_REF_ACTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_REF_ACTION, GitgExtRefActionIface))

typedef struct _GitgExtRefAction GitgExtRefAction;
typedef struct _GitgExtRefActionIface GitgExtRefActionIface;

#define GITG_EXT_TYPE_SEARCHABLE (gitg_ext_searchable_get_type ())
#define GITG_EXT_SEARCHABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_SEARCHABLE, GitgExtSearchable))
#define GITG_EXT_IS_SEARCHABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_SEARCHABLE))
#define GITG_EXT_SEARCHABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_SEARCHABLE, GitgExtSearchableIface))

typedef struct _GitgExtSearchable GitgExtSearchable;
typedef struct _GitgExtSearchableIface GitgExtSearchableIface;
typedef enum  {
	GITG_EXT_SELECTION_MODE_NORMAL,
	GITG_EXT_SELECTION_MODE_SELECTION
} GitgExtSelectionMode;

#define GITG_EXT_TYPE_SELECTION_MODE (gitg_ext_selection_mode_get_type ())

#define GITG_EXT_TYPE_SELECTABLE (gitg_ext_selectable_get_type ())
#define GITG_EXT_SELECTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_SELECTABLE, GitgExtSelectable))
#define GITG_EXT_IS_SELECTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_SELECTABLE))
#define GITG_EXT_SELECTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_EXT_TYPE_SELECTABLE, GitgExtSelectableIface))

typedef struct _GitgExtSelectable GitgExtSelectable;
typedef struct _GitgExtSelectableIface GitgExtSelectableIface;

#define GITG_EXT_TYPE_UI (gitg_ext_ui_get_type ())
#define GITG_EXT_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_UI, GitgExtUI))
#define GITG_EXT_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_UI, GitgExtUIClass))
#define GITG_EXT_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_UI))
#define GITG_EXT_IS_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_UI))
#define GITG_EXT_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_UI, GitgExtUIClass))

typedef struct _GitgExtUI GitgExtUI;
typedef struct _GitgExtUIClass GitgExtUIClass;
typedef struct _GitgExtUIPrivate GitgExtUIPrivate;

#define GITG_EXT_TYPE_USER_QUERY_RESPONSE (gitg_ext_user_query_response_get_type ())
#define GITG_EXT_USER_QUERY_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_EXT_TYPE_USER_QUERY_RESPONSE, GitgExtUserQueryResponse))
#define GITG_EXT_USER_QUERY_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_EXT_TYPE_USER_QUERY_RESPONSE, GitgExtUserQueryResponseClass))
#define GITG_EXT_IS_USER_QUERY_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_EXT_TYPE_USER_QUERY_RESPONSE))
#define GITG_EXT_IS_USER_QUERY_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_EXT_TYPE_USER_QUERY_RESPONSE))
#define GITG_EXT_USER_QUERY_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_EXT_TYPE_USER_QUERY_RESPONSE, GitgExtUserQueryResponseClass))

typedef struct _GitgExtUserQueryResponse GitgExtUserQueryResponse;
typedef struct _GitgExtUserQueryResponseClass GitgExtUserQueryResponseClass;
typedef struct _GitgExtUserQueryResponsePrivate GitgExtUserQueryResponsePrivate;
typedef struct _GitgExtUserQueryPrivate GitgExtUserQueryPrivate;

struct _GitgExtActivityIface {
	GTypeInterface parent_iface;
	gboolean (*is_default_for) (GitgExtActivity* self, const gchar* action);
	gboolean (*on_key_pressed) (GitgExtActivity* self, GdkEventKey* event);
};

struct _GitgExtNotificationIface {
	GTypeInterface parent_iface;
	GtkWidget* (*get_widget) (GitgExtNotification* self);
};

struct _GitgExtNotificationsIface {
	GTypeInterface parent_iface;
	void (*add) (GitgExtNotifications* self, GitgExtNotification* notification);
	void (*remove) (GitgExtNotifications* self, GitgExtNotification* notification, guint delay);
};

struct _GitgExtRemoteLookupIface {
	GTypeInterface parent_iface;
	GitgRemote* (*lookup) (GitgExtRemoteLookup* self, const gchar* name);
};

struct _GitgExtApplicationIface {
	GTypeInterface parent_iface;
	GgitSignature* (*get_verified_committer) (GitgExtApplication* self);
	GitgExtActivity* (*get_activity_by_id) (GitgExtApplication* self, const gchar* id);
	GitgExtActivity* (*set_activity_by_id) (GitgExtApplication* self, const gchar* id);
	void (*user_query) (GitgExtApplication* self, GitgExtUserQuery* query);
	void (*user_query_async) (GitgExtApplication* self, GitgExtUserQuery* query, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GtkResponseType (*user_query_finish) (GitgExtApplication* self, GAsyncResult* _res_);
	void (*show_infobar) (GitgExtApplication* self, const gchar* primary_msg, const gchar* secondary_msg, GtkMessageType type);
	GitgExtApplication* (*open_new) (GitgExtApplication* self, GgitRepository* repository, const gchar* hint);
	void (*open_repository) (GitgExtApplication* self, GFile* path);
	GitgRepository* (*get_repository) (GitgExtApplication* self);
	void (*set_repository) (GitgExtApplication* self, GitgRepository* value);
	GitgExtMessageBus* (*get_message_bus) (GitgExtApplication* self);
	GitgExtActivity* (*get_current_activity) (GitgExtApplication* self);
	GeeMap* (*get_environment) (GitgExtApplication* self);
	GitgExtNotifications* (*get_notifications) (GitgExtApplication* self);
	gboolean (*get_busy) (GitgExtApplication* self);
	void (*set_busy) (GitgExtApplication* self, gboolean value);
	GitgExtRemoteLookup* (*get_remote_lookup) (GitgExtApplication* self);
};

struct _GitgExtUIElementIface {
	GTypeInterface parent_iface;
	gint (*negotiate_order) (GitgExtUIElement* self, GitgExtUIElement* other);
	void (*activate) (GitgExtUIElement* self);
	GitgExtApplication* (*get_application) (GitgExtUIElement* self);
	void (*set_application) (GitgExtUIElement* self, GitgExtApplication* value);
	gchar* (*get_id) (GitgExtUIElement* self);
	gchar* (*get_display_name) (GitgExtUIElement* self);
	gchar* (*get_description) (GitgExtUIElement* self);
	gchar* (*get_icon) (GitgExtUIElement* self);
	GtkWidget* (*get_widget) (GitgExtUIElement* self);
	guint* (*get_shortcut) (GitgExtUIElement* self);
	gboolean (*get_available) (GitgExtUIElement* self);
	gboolean (*get_enabled) (GitgExtUIElement* self);
};

struct _GitgExtActionIface {
	GTypeInterface parent_iface;
	void (*populate_menu) (GitgExtAction* self, GtkMenu* menu);
	void (*fetch) (GitgExtAction* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*fetch_finish) (GitgExtAction* self, GAsyncResult* _res_);
};

struct _GitgExtCommandLineIface {
	GTypeInterface parent_iface;
	GOptionGroup* (*get_option_group) (GitgExtCommandLine* self);
	void (*parse_finished) (GitgExtCommandLine* self);
	void (*apply) (GitgExtCommandLine* self, GitgExtApplication* application);
};

struct _GitgExtCommandLines {
	GObject parent_instance;
	GitgExtCommandLinesPrivate * priv;
};

struct _GitgExtCommandLinesClass {
	GObjectClass parent_class;
};

struct _GitgExtRefActionInterfaceIface {
	GTypeInterface parent_iface;
	void (*add_ref) (GitgExtRefActionInterface* self, GitgRef* reference);
	void (*remove_ref) (GitgExtRefActionInterface* self, GitgRef* reference);
	void (*replace_ref) (GitgExtRefActionInterface* self, GitgRef* old_ref, GitgRef* new_ref);
	void (*set_busy) (GitgExtRefActionInterface* self, GitgRef* reference, gboolean busy);
	void (*edit_ref_name) (GitgExtRefActionInterface* self, GitgRef* reference, GitgExtRefNameEditingDone callback, gpointer callback_target, GDestroyNotify callback_target_destroy_notify);
	void (*refresh) (GitgExtRefActionInterface* self);
	GitgExtApplication* (*get_application) (GitgExtRefActionInterface* self);
	void (*set_application) (GitgExtRefActionInterface* self, GitgExtApplication* value);
	GeeList* (*get_references) (GitgExtRefActionInterface* self);
};

struct _GitgExtCommitActionIface {
	GTypeInterface parent_iface;
	GitgExtRefActionInterface* (*get_action_interface) (GitgExtCommitAction* self);
	void (*set_action_interface) (GitgExtCommitAction* self, GitgExtRefActionInterface* value);
	GitgCommit* (*get_commit) (GitgExtCommitAction* self);
	void (*set_commit) (GitgExtCommitAction* self, GitgCommit* value);
};

struct _GitgExtHistoryIface {
	GTypeInterface parent_iface;
	void (*foreach_selected) (GitgExtHistory* self, GitgExtForeachCommitSelectionFunc func, gpointer func_target);
	void (*select) (GitgExtHistory* self, GitgCommit* commit);
};

struct _GitgExtHistoryPanelIface {
	GTypeInterface parent_iface;
	GitgExtHistory* (*get_history) (GitgExtHistoryPanel* self);
	void (*set_history) (GitgExtHistoryPanel* self, GitgExtHistory* value);
};

struct _GitgExtMessageBus {
	GObject parent_instance;
	GitgExtMessageBusPrivate * priv;
};

struct _GitgExtMessageBusClass {
	GObjectClass parent_class;
	void (*dispatch) (GitgExtMessageBus* self, GitgExtMessage* message);
};

struct _GitgExtMessageId {
	GObject parent_instance;
	GitgExtMessageIdPrivate * priv;
};

struct _GitgExtMessageIdClass {
	GObjectClass parent_class;
};

struct _GitgExtMessage {
	GObject parent_instance;
	GitgExtMessagePrivate * priv;
};

struct _GitgExtMessageClass {
	GObjectClass parent_class;
};

struct _GitgExtPreferencesIface {
	GTypeInterface parent_iface;
	gchar* (*get_id) (GitgExtPreferences* self);
	gchar* (*get_display_name) (GitgExtPreferences* self);
	GtkWidget* (*get_widget) (GitgExtPreferences* self);
};

struct _GitgExtRefActionIface {
	GTypeInterface parent_iface;
	GitgExtRefActionInterface* (*get_action_interface) (GitgExtRefAction* self);
	void (*set_action_interface) (GitgExtRefAction* self, GitgExtRefActionInterface* value);
	GitgRef* (*get_reference) (GitgExtRefAction* self);
	void (*set_reference) (GitgExtRefAction* self, GitgRef* value);
};

struct _GitgExtSearchableIface {
	GTypeInterface parent_iface;
	gchar* (*get_search_text) (GitgExtSearchable* self);
	void (*set_search_text) (GitgExtSearchable* self, const gchar* value);
	gboolean (*get_search_visible) (GitgExtSearchable* self);
	void (*set_search_visible) (GitgExtSearchable* self, gboolean value);
	gboolean (*get_search_available) (GitgExtSearchable* self);
	void (*set_search_entry) (GitgExtSearchable* self, GtkEntry* value);
};

struct _GitgExtSelectableIface {
	GTypeInterface parent_iface;
	GitgExtSelectionMode (*get_selectable_mode) (GitgExtSelectable* self);
	void (*set_selectable_mode) (GitgExtSelectable* self, GitgExtSelectionMode value);
	gboolean (*get_selectable_available) (GitgExtSelectable* self);
	gchar* (*get_selectable_mode_tooltip) (GitgExtSelectable* self);
	GtkWidget* (*get_action_widget) (GitgExtSelectable* self);
};

struct _GitgExtUI {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GitgExtUIPrivate * priv;
};

struct _GitgExtUIClass {
	GTypeClass parent_class;
	void (*finalize) (GitgExtUI *self);
};

struct _GitgExtUserQueryResponse {
	GObject parent_instance;
	GitgExtUserQueryResponsePrivate * priv;
	gchar* text;
	GtkResponseType response_type;
};

struct _GitgExtUserQueryResponseClass {
	GObjectClass parent_class;
};

struct _GitgExtUserQuery {
	GObject parent_instance;
	GitgExtUserQueryPrivate * priv;
	GitgExtUserQueryResponse** _responses;
	gint _responses_length1;
};

struct _GitgExtUserQueryClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType gitg_ext_activity_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gitg_ext_user_query_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtUserQuery, g_object_unref)
VALA_EXTERN GType gitg_ext_message_bus_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtMessageBus, g_object_unref)
VALA_EXTERN GType gitg_ext_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtNotification, g_object_unref)
VALA_EXTERN GType gitg_ext_notifications_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtNotifications, g_object_unref)
VALA_EXTERN GType gitg_ext_remote_lookup_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtRemoteLookup, g_object_unref)
VALA_EXTERN GType gitg_ext_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtApplication, g_object_unref)
VALA_EXTERN GType gitg_ext_ui_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtUIElement, g_object_unref)
VALA_EXTERN GType gitg_ext_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void gitg_ext_action_populate_menu (GitgExtAction* self,
                                    GtkMenu* menu);
VALA_EXTERN void gitg_ext_action_fetch (GitgExtAction* self,
                            GAsyncReadyCallback _callback_,
                            gpointer _user_data_);
VALA_EXTERN gboolean gitg_ext_action_fetch_finish (GitgExtAction* self,
                                       GAsyncResult* _res_);
VALA_EXTERN gboolean gitg_ext_activity_is_default_for (GitgExtActivity* self,
                                           const gchar* action);
VALA_EXTERN gboolean gitg_ext_activity_on_key_pressed (GitgExtActivity* self,
                                           GdkEventKey* event);
VALA_EXTERN GgitSignature* gitg_ext_application_get_verified_committer (GitgExtApplication* self);
VALA_EXTERN GitgExtActivity* gitg_ext_application_get_activity_by_id (GitgExtApplication* self,
                                                          const gchar* id);
VALA_EXTERN GitgExtActivity* gitg_ext_application_set_activity_by_id (GitgExtApplication* self,
                                                          const gchar* id);
VALA_EXTERN void gitg_ext_application_user_query (GitgExtApplication* self,
                                      GitgExtUserQuery* query);
VALA_EXTERN void gitg_ext_application_user_query_async (GitgExtApplication* self,
                                            GitgExtUserQuery* query,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN GtkResponseType gitg_ext_application_user_query_finish (GitgExtApplication* self,
                                                        GAsyncResult* _res_);
VALA_EXTERN void gitg_ext_application_show_infobar (GitgExtApplication* self,
                                        const gchar* primary_msg,
                                        const gchar* secondary_msg,
                                        GtkMessageType type);
VALA_EXTERN GitgExtApplication* gitg_ext_application_open_new (GitgExtApplication* self,
                                                   GgitRepository* repository,
                                                   const gchar* hint);
VALA_EXTERN void gitg_ext_application_open_repository (GitgExtApplication* self,
                                           GFile* path);
VALA_EXTERN GitgRepository* gitg_ext_application_get_repository (GitgExtApplication* self);
VALA_EXTERN void gitg_ext_application_set_repository (GitgExtApplication* self,
                                          GitgRepository* value);
VALA_EXTERN GitgExtMessageBus* gitg_ext_application_get_message_bus (GitgExtApplication* self);
VALA_EXTERN GitgExtActivity* gitg_ext_application_get_current_activity (GitgExtApplication* self);
VALA_EXTERN GeeMap* gitg_ext_application_get_environment (GitgExtApplication* self);
VALA_EXTERN GitgExtNotifications* gitg_ext_application_get_notifications (GitgExtApplication* self);
VALA_EXTERN gboolean gitg_ext_application_get_busy (GitgExtApplication* self);
VALA_EXTERN void gitg_ext_application_set_busy (GitgExtApplication* self,
                                    gboolean value);
VALA_EXTERN GitgExtRemoteLookup* gitg_ext_application_get_remote_lookup (GitgExtApplication* self);
VALA_EXTERN GType gitg_ext_external_change_hint_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gitg_ext_command_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtCommandLine, g_object_unref)
VALA_EXTERN GOptionGroup* gitg_ext_command_line_get_option_group (GitgExtCommandLine* self);
VALA_EXTERN void gitg_ext_command_line_parse_finished (GitgExtCommandLine* self);
VALA_EXTERN void gitg_ext_command_line_apply (GitgExtCommandLine* self,
                                  GitgExtApplication* application);
VALA_EXTERN GType gitg_ext_command_lines_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtCommandLines, g_object_unref)
VALA_EXTERN GitgExtCommandLines* gitg_ext_command_lines_new (GitgExtCommandLine** command_lines,
                                                 gint command_lines_length1);
VALA_EXTERN GitgExtCommandLines* gitg_ext_command_lines_construct (GType object_type,
                                                       GitgExtCommandLine** command_lines,
                                                       gint command_lines_length1);
VALA_EXTERN gpointer gitg_ext_command_lines_get_for (GitgExtCommandLines* self,
                                         GType t_type,
                                         GBoxedCopyFunc t_dup_func,
                                         GDestroyNotify t_destroy_func);
VALA_EXTERN void gitg_ext_command_lines_parse_finished (GitgExtCommandLines* self);
VALA_EXTERN void gitg_ext_command_lines_apply (GitgExtCommandLines* self,
                                   GitgExtApplication* application);
VALA_EXTERN GType gitg_ext_ref_action_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtRefActionInterface, g_object_unref)
VALA_EXTERN GType gitg_ext_commit_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GitgExtRefActionInterface* gitg_ext_commit_action_get_action_interface (GitgExtCommitAction* self);
VALA_EXTERN void gitg_ext_commit_action_set_action_interface (GitgExtCommitAction* self,
                                                  GitgExtRefActionInterface* value);
VALA_EXTERN GitgCommit* gitg_ext_commit_action_get_commit (GitgExtCommitAction* self);
VALA_EXTERN void gitg_ext_commit_action_set_commit (GitgExtCommitAction* self,
                                        GitgCommit* value);
VALA_EXTERN GType gitg_ext_history_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gitg_ext_history_panel_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GitgExtHistory* gitg_ext_history_panel_get_history (GitgExtHistoryPanel* self);
VALA_EXTERN void gitg_ext_history_panel_set_history (GitgExtHistoryPanel* self,
                                         GitgExtHistory* value);
VALA_EXTERN void gitg_ext_history_foreach_selected (GitgExtHistory* self,
                                        GitgExtForeachCommitSelectionFunc func,
                                        gpointer func_target);
VALA_EXTERN void gitg_ext_history_select (GitgExtHistory* self,
                              GitgCommit* commit);
VALA_EXTERN GType gitg_ext_message_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtMessage, g_object_unref)
VALA_EXTERN GitgExtMessageBus* gitg_ext_message_bus_new (void);
VALA_EXTERN GitgExtMessageBus* gitg_ext_message_bus_construct (GType object_type);
VALA_EXTERN GitgExtMessageBus* gitg_ext_message_bus_get_default (void);
VALA_EXTERN GType gitg_ext_message_id_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtMessageId, g_object_unref)
VALA_EXTERN GType gitg_ext_message_bus_lookup (GitgExtMessageBus* self,
                                   GitgExtMessageId* id);
VALA_EXTERN void gitg_ext_message_bus_register (GitgExtMessageBus* self,
                                    GType message_type,
                                    GitgExtMessageId* id);
VALA_EXTERN void gitg_ext_message_bus_unregister (GitgExtMessageBus* self,
                                      GitgExtMessageId* id);
VALA_EXTERN void gitg_ext_message_bus_unregister_all (GitgExtMessageBus* self,
                                          const gchar* object_path);
VALA_EXTERN gboolean gitg_ext_message_bus_is_registered (GitgExtMessageBus* self,
                                             GitgExtMessageId* id);
VALA_EXTERN guint gitg_ext_message_bus_connect (GitgExtMessageBus* self,
                                    GitgExtMessageId* id,
                                    GitgExtMessageCallback callback,
                                    gpointer callback_target,
                                    GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN void gitg_ext_message_bus_disconnect (GitgExtMessageBus* self,
                                      guint id);
VALA_EXTERN void gitg_ext_message_bus_block (GitgExtMessageBus* self,
                                 guint id);
VALA_EXTERN void gitg_ext_message_bus_unblock (GitgExtMessageBus* self,
                                   guint id);
VALA_EXTERN GitgExtMessage* gitg_ext_message_bus_send_message (GitgExtMessageBus* self,
                                                   GitgExtMessage* message);
VALA_EXTERN GitgExtMessage* gitg_ext_message_bus_send (GitgExtMessageBus* self,
                                           GitgExtMessageId* id,
                                           const gchar* firstprop,
                                           ...);
VALA_EXTERN guint gitg_ext_message_id_hash (GitgExtMessageId* self);
VALA_EXTERN gboolean gitg_ext_message_id_equal (GitgExtMessageId* self,
                                    GitgExtMessageId* other);
VALA_EXTERN GitgExtMessageId* gitg_ext_message_id_new (const gchar* object_path,
                                           const gchar* method);
VALA_EXTERN GitgExtMessageId* gitg_ext_message_id_construct (GType object_type,
                                                 const gchar* object_path,
                                                 const gchar* method);
VALA_EXTERN GitgExtMessageId* gitg_ext_message_id_copy (GitgExtMessageId* self);
VALA_EXTERN gboolean gitg_ext_message_id_valid_object_path (const gchar* path);
VALA_EXTERN const gchar* gitg_ext_message_id_get_object_path (GitgExtMessageId* self);
VALA_EXTERN void gitg_ext_message_id_set_object_path (GitgExtMessageId* self,
                                          const gchar* value);
VALA_EXTERN const gchar* gitg_ext_message_id_get_method (GitgExtMessageId* self);
VALA_EXTERN void gitg_ext_message_id_set_method (GitgExtMessageId* self,
                                     const gchar* value);
VALA_EXTERN gchar* gitg_ext_message_id_get_id (GitgExtMessageId* self);
VALA_EXTERN gboolean gitg_ext_message_has (GitgExtMessage* self,
                               const gchar* propname);
VALA_EXTERN gboolean gitg_ext_message_type_has (GType type,
                                    const gchar* propname);
VALA_EXTERN gboolean gitg_ext_message_type_check (GType type,
                                      const gchar* propname,
                                      GType value_type);
VALA_EXTERN GitgExtMessage* gitg_ext_message_construct (GType object_type);
VALA_EXTERN GitgExtMessageId* gitg_ext_message_get_id (GitgExtMessage* self);
VALA_EXTERN void gitg_ext_message_set_id (GitgExtMessage* self,
                              GitgExtMessageId* value);
VALA_EXTERN GtkWidget* gitg_ext_notification_get_widget (GitgExtNotification* self);
VALA_EXTERN void gitg_ext_notifications_add (GitgExtNotifications* self,
                                 GitgExtNotification* notification);
VALA_EXTERN void gitg_ext_notifications_remove (GitgExtNotifications* self,
                                    GitgExtNotification* notification,
                                    guint delay);
VALA_EXTERN GType gitg_ext_preferences_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtPreferences, g_object_unref)
VALA_EXTERN gchar* gitg_ext_preferences_get_id (GitgExtPreferences* self);
VALA_EXTERN gchar* gitg_ext_preferences_get_display_name (GitgExtPreferences* self);
VALA_EXTERN GtkWidget* gitg_ext_preferences_get_widget (GitgExtPreferences* self);
VALA_EXTERN void gitg_ext_ref_action_interface_add_ref (GitgExtRefActionInterface* self,
                                            GitgRef* reference);
VALA_EXTERN void gitg_ext_ref_action_interface_remove_ref (GitgExtRefActionInterface* self,
                                               GitgRef* reference);
VALA_EXTERN void gitg_ext_ref_action_interface_replace_ref (GitgExtRefActionInterface* self,
                                                GitgRef* old_ref,
                                                GitgRef* new_ref);
VALA_EXTERN void gitg_ext_ref_action_interface_set_busy (GitgExtRefActionInterface* self,
                                             GitgRef* reference,
                                             gboolean busy);
VALA_EXTERN void gitg_ext_ref_action_interface_edit_ref_name (GitgExtRefActionInterface* self,
                                                  GitgRef* reference,
                                                  GitgExtRefNameEditingDone callback,
                                                  gpointer callback_target,
                                                  GDestroyNotify callback_target_destroy_notify);
VALA_EXTERN void gitg_ext_ref_action_interface_refresh (GitgExtRefActionInterface* self);
VALA_EXTERN GitgExtApplication* gitg_ext_ref_action_interface_get_application (GitgExtRefActionInterface* self);
VALA_EXTERN void gitg_ext_ref_action_interface_set_application (GitgExtRefActionInterface* self,
                                                    GitgExtApplication* value);
VALA_EXTERN GeeList* gitg_ext_ref_action_interface_get_references (GitgExtRefActionInterface* self);
VALA_EXTERN GType gitg_ext_ref_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GitgExtRefActionInterface* gitg_ext_ref_action_get_action_interface (GitgExtRefAction* self);
VALA_EXTERN void gitg_ext_ref_action_set_action_interface (GitgExtRefAction* self,
                                               GitgExtRefActionInterface* value);
VALA_EXTERN GitgRef* gitg_ext_ref_action_get_reference (GitgExtRefAction* self);
VALA_EXTERN void gitg_ext_ref_action_set_reference (GitgExtRefAction* self,
                                        GitgRef* value);
VALA_EXTERN GitgRemote* gitg_ext_remote_lookup_lookup (GitgExtRemoteLookup* self,
                                           const gchar* name);
VALA_EXTERN GType gitg_ext_searchable_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* gitg_ext_searchable_get_search_text (GitgExtSearchable* self);
VALA_EXTERN void gitg_ext_searchable_set_search_text (GitgExtSearchable* self,
                                          const gchar* value);
VALA_EXTERN gboolean gitg_ext_searchable_get_search_visible (GitgExtSearchable* self);
VALA_EXTERN void gitg_ext_searchable_set_search_visible (GitgExtSearchable* self,
                                             gboolean value);
VALA_EXTERN gboolean gitg_ext_searchable_get_search_available (GitgExtSearchable* self);
VALA_EXTERN void gitg_ext_searchable_set_search_entry (GitgExtSearchable* self,
                                           GtkEntry* value);
VALA_EXTERN GType gitg_ext_selection_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gitg_ext_selectable_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GitgExtSelectionMode gitg_ext_selectable_get_selectable_mode (GitgExtSelectable* self);
VALA_EXTERN void gitg_ext_selectable_set_selectable_mode (GitgExtSelectable* self,
                                              GitgExtSelectionMode value);
VALA_EXTERN gboolean gitg_ext_selectable_get_selectable_available (GitgExtSelectable* self);
VALA_EXTERN gchar* gitg_ext_selectable_get_selectable_mode_tooltip (GitgExtSelectable* self);
VALA_EXTERN GtkWidget* gitg_ext_selectable_get_action_widget (GitgExtSelectable* self);
VALA_EXTERN gint gitg_ext_ui_element_negotiate_order (GitgExtUIElement* self,
                                          GitgExtUIElement* other);
VALA_EXTERN GitgExtApplication* gitg_ext_ui_element_get_application (GitgExtUIElement* self);
VALA_EXTERN void gitg_ext_ui_element_set_application (GitgExtUIElement* self,
                                          GitgExtApplication* value);
VALA_EXTERN gchar* gitg_ext_ui_element_get_id (GitgExtUIElement* self);
VALA_EXTERN gchar* gitg_ext_ui_element_get_display_name (GitgExtUIElement* self);
VALA_EXTERN gchar* gitg_ext_ui_element_get_description (GitgExtUIElement* self);
VALA_EXTERN gchar* gitg_ext_ui_element_get_icon (GitgExtUIElement* self);
VALA_EXTERN GtkWidget* gitg_ext_ui_element_get_widget (GitgExtUIElement* self);
VALA_EXTERN guint* gitg_ext_ui_element_get_shortcut (GitgExtUIElement* self);
VALA_EXTERN gboolean gitg_ext_ui_element_get_available (GitgExtUIElement* self);
VALA_EXTERN gboolean gitg_ext_ui_element_get_enabled (GitgExtUIElement* self);
VALA_EXTERN gpointer gitg_ext_ui_ref (gpointer instance);
VALA_EXTERN void gitg_ext_ui_unref (gpointer instance);
VALA_EXTERN GParamSpec* gitg_ext_param_spec_ui (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void gitg_ext_value_set_ui (GValue* value,
                            gpointer v_object);
VALA_EXTERN void gitg_ext_value_take_ui (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer gitg_ext_value_get_ui (const GValue* value);
VALA_EXTERN GType gitg_ext_ui_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtUI, gitg_ext_ui_unref)
VALA_EXTERN GeeHashMap* gitg_ext_ui_from_builder (const gchar* path,
                                      ...);
VALA_EXTERN GitgExtUI* gitg_ext_ui_new (void);
VALA_EXTERN GitgExtUI* gitg_ext_ui_construct (GType object_type);
VALA_EXTERN GType gitg_ext_user_query_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GitgExtUserQueryResponse, g_object_unref)
VALA_EXTERN GitgExtUserQueryResponse* gitg_ext_user_query_response_new (const gchar* text,
                                                            GtkResponseType response_type);
VALA_EXTERN GitgExtUserQueryResponse* gitg_ext_user_query_response_construct (GType object_type,
                                                                  const gchar* text,
                                                                  GtkResponseType response_type);
VALA_EXTERN GitgExtUserQueryResponse** gitg_ext_user_query_get_responses (GitgExtUserQuery* self,
                                                              gint* result_length1);
VALA_EXTERN void gitg_ext_user_query_set_responses (GitgExtUserQuery* self,
                                        GitgExtUserQueryResponse** value,
                                        gint value_length1);
VALA_EXTERN GitgExtUserQuery* gitg_ext_user_query_new_full (const gchar* title,
                                                const gchar* message,
                                                GtkMessageType message_type,
                                                ...);
VALA_EXTERN GitgExtUserQuery* gitg_ext_user_query_construct_full (GType object_type,
                                                      const gchar* title,
                                                      const gchar* message,
                                                      GtkMessageType message_type,
                                                      ...);
VALA_EXTERN GitgExtUserQuery* gitg_ext_user_query_constructv_full (GType object_type,
                                                       const gchar* title,
                                                       const gchar* message,
                                                       GtkMessageType message_type,
                                                       va_list _vala_va_list);
VALA_EXTERN GitgExtUserQuery* gitg_ext_user_query_new (void);
VALA_EXTERN GitgExtUserQuery* gitg_ext_user_query_construct (GType object_type);
VALA_EXTERN const gchar* gitg_ext_user_query_get_title (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_title (GitgExtUserQuery* self,
                                    const gchar* value);
VALA_EXTERN const gchar* gitg_ext_user_query_get_message (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_message (GitgExtUserQuery* self,
                                      const gchar* value);
VALA_EXTERN GtkMessageType gitg_ext_user_query_get_message_type (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_message_type (GitgExtUserQuery* self,
                                           GtkMessageType value);
VALA_EXTERN GtkResponseType gitg_ext_user_query_get_default_response (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_default_response (GitgExtUserQuery* self,
                                               GtkResponseType value);
VALA_EXTERN gboolean gitg_ext_user_query_get_default_is_destructive (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_default_is_destructive (GitgExtUserQuery* self,
                                                     gboolean value);
VALA_EXTERN gboolean gitg_ext_user_query_get_message_use_markup (GitgExtUserQuery* self);
VALA_EXTERN void gitg_ext_user_query_set_message_use_markup (GitgExtUserQuery* self,
                                                 gboolean value);

G_END_DECLS

#endif
