/* ft_plugin_sni.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_PLUGINS_SNI_FT_PLUGIN_SNI_H__
#define __SRC_PLUGINS_SNI_FT_PLUGIN_SNI_H__

#include <glib-object.h>
#include <gio/gio.h>
#include "ft_core.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "ft_ui.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 SNI_TYPE_INDICATOR_ACTION_GROUP (sni_indicator_action_group_get_type ())
#define SNI_INDICATOR_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SNI_TYPE_INDICATOR_ACTION_GROUP, SniIndicatorActionGroup))
#define SNI_INDICATOR_ACTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SNI_TYPE_INDICATOR_ACTION_GROUP, SniIndicatorActionGroupClass))
#define SNI_IS_INDICATOR_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SNI_TYPE_INDICATOR_ACTION_GROUP))
#define SNI_IS_INDICATOR_ACTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SNI_TYPE_INDICATOR_ACTION_GROUP))
#define SNI_INDICATOR_ACTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SNI_TYPE_INDICATOR_ACTION_GROUP, SniIndicatorActionGroupClass))

typedef struct _SniIndicatorActionGroup SniIndicatorActionGroup;
typedef struct _SniIndicatorActionGroupClass SniIndicatorActionGroupClass;
typedef struct _SniIndicatorActionGroupPrivate SniIndicatorActionGroupPrivate;

#define SNI_TYPE_INDICATOR_PROVIDER (sni_indicator_provider_get_type ())
#define SNI_INDICATOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SNI_TYPE_INDICATOR_PROVIDER, SniIndicatorProvider))
#define SNI_INDICATOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SNI_TYPE_INDICATOR_PROVIDER, SniIndicatorProviderClass))
#define SNI_IS_INDICATOR_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SNI_TYPE_INDICATOR_PROVIDER))
#define SNI_IS_INDICATOR_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SNI_TYPE_INDICATOR_PROVIDER))
#define SNI_INDICATOR_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SNI_TYPE_INDICATOR_PROVIDER, SniIndicatorProviderClass))

typedef struct _SniIndicatorProvider SniIndicatorProvider;
typedef struct _SniIndicatorProviderClass SniIndicatorProviderClass;
typedef struct _SniIndicatorProviderPrivate SniIndicatorProviderPrivate;

#define SNI_TYPE_STATUS_NOTIFIER_WATCHER (sni_status_notifier_watcher_get_type ())
#define SNI_STATUS_NOTIFIER_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SNI_TYPE_STATUS_NOTIFIER_WATCHER, SniStatusNotifierWatcher))
#define SNI_IS_STATUS_NOTIFIER_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SNI_TYPE_STATUS_NOTIFIER_WATCHER))
#define SNI_STATUS_NOTIFIER_WATCHER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SNI_TYPE_STATUS_NOTIFIER_WATCHER, SniStatusNotifierWatcherIface))

typedef struct _SniStatusNotifierWatcher SniStatusNotifierWatcher;
typedef struct _SniStatusNotifierWatcherIface SniStatusNotifierWatcherIface;

#define SNI_TYPE_STATUS_NOTIFIER_WATCHER_PROXY (sni_status_notifier_watcher_proxy_get_type ())
typedef enum  {
	SNI_INDICATOR_STATUS_PASSIVE,
	SNI_INDICATOR_STATUS_ACTIVE,
	SNI_INDICATOR_STATUS_NEEDS_ATTENTION
} SniIndicatorStatus;

#define SNI_TYPE_INDICATOR_STATUS (sni_indicator_status_get_type ())

#define SNI_TYPE_PIXMAP (sni_pixmap_get_type ())
typedef struct _SniPixmap SniPixmap;

#define SNI_TYPE_TOOLTIP (sni_tooltip_get_type ())
typedef struct _SniTooltip SniTooltip;
typedef enum  {
	SNI_MENU_TOGGLE_TYPE_NONE,
	SNI_MENU_TOGGLE_TYPE_CHECKMARK,
	SNI_MENU_TOGGLE_TYPE_RADIO
} SniMenuToggleType;

#define SNI_TYPE_MENU_TOGGLE_TYPE (sni_menu_toggle_type_get_type ())
typedef enum  {
	SNI_MENU_ITEM_TYPE_STANDARD,
	SNI_MENU_ITEM_TYPE_SEPARATOR
} SniMenuItemType;

#define SNI_TYPE_MENU_ITEM_TYPE (sni_menu_item_type_get_type ())
typedef enum  {
	SNI_MENU_ITEM_PROPERTY_INVALID,
	SNI_MENU_ITEM_PROPERTY_TYPE,
	SNI_MENU_ITEM_PROPERTY_LABEL,
	SNI_MENU_ITEM_PROPERTY_ENABLED,
	SNI_MENU_ITEM_PROPERTY_VISIBLE,
	SNI_MENU_ITEM_PROPERTY_ICON_NAME,
	SNI_MENU_ITEM_PROPERTY_TOGGLE_TYPE,
	SNI_MENU_ITEM_PROPERTY_TOGGLE_STATE,
	SNI_MENU_ITEM_PROPERTY_CHILDREN_DISPLAY,
	SNI_MENU_ITEM_PROPERTY_ICON_DATA,
	SNI_MENU_ITEM_PROPERTY_SHORTCUT
} SniMenuItemProperty;

#define SNI_TYPE_MENU_ITEM_PROPERTY (sni_menu_item_property_get_type ())

#define SNI_TYPE_MENU_ITEM (sni_menu_item_get_type ())
#define SNI_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SNI_TYPE_MENU_ITEM, SniMenuItem))
#define SNI_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SNI_TYPE_MENU_ITEM, SniMenuItemClass))
#define SNI_IS_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SNI_TYPE_MENU_ITEM))
#define SNI_IS_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SNI_TYPE_MENU_ITEM))
#define SNI_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SNI_TYPE_MENU_ITEM, SniMenuItemClass))

typedef struct _SniMenuItem SniMenuItem;
typedef struct _SniMenuItemClass SniMenuItemClass;

#define SNI_TYPE_PREFERENCES_WINDOW_EXTENSION (sni_preferences_window_extension_get_type ())
#define SNI_PREFERENCES_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SNI_TYPE_PREFERENCES_WINDOW_EXTENSION, SniPreferencesWindowExtension))
#define SNI_PREFERENCES_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SNI_TYPE_PREFERENCES_WINDOW_EXTENSION, SniPreferencesWindowExtensionClass))
#define SNI_IS_PREFERENCES_WINDOW_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SNI_TYPE_PREFERENCES_WINDOW_EXTENSION))
#define SNI_IS_PREFERENCES_WINDOW_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SNI_TYPE_PREFERENCES_WINDOW_EXTENSION))
#define SNI_PREFERENCES_WINDOW_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SNI_TYPE_PREFERENCES_WINDOW_EXTENSION, SniPreferencesWindowExtensionClass))

typedef struct _SniPreferencesWindowExtension SniPreferencesWindowExtension;
typedef struct _SniPreferencesWindowExtensionClass SniPreferencesWindowExtensionClass;
typedef struct _SniPreferencesWindowExtensionPrivate SniPreferencesWindowExtensionPrivate;

struct _SniIndicatorActionGroup {
	GObject parent_instance;
	SniIndicatorActionGroupPrivate * priv;
};

struct _SniIndicatorActionGroupClass {
	GObjectClass parent_class;
};

struct _SniIndicatorProvider {
	FtProvider parent_instance;
	SniIndicatorProviderPrivate * priv;
};

struct _SniIndicatorProviderClass {
	FtProviderClass parent_class;
};

struct _SniStatusNotifierWatcherIface {
	GTypeInterface parent_iface;
	void (*register_status_notifier_item) (SniStatusNotifierWatcher* self, const gchar* service, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*register_status_notifier_item_finish) (SniStatusNotifierWatcher* self, GAsyncResult* _res_, GError** error);
	gboolean (*get_is_status_notifier_host_registered) (SniStatusNotifierWatcher* self);
	gint32 (*get_protocol_version) (SniStatusNotifierWatcher* self);
};

struct _SniPixmap {
	gint32 width;
	gint32 height;
	guint8* data;
	gint data_length1;
};

struct _SniTooltip {
	gchar* icon_name;
	SniPixmap* icon_pixmaps;
	gint icon_pixmaps_length1;
	gchar* title;
	gchar* description;
};

struct _SniPreferencesWindowExtension {
	FtPreferencesWindowExtension parent_instance;
	SniPreferencesWindowExtensionPrivate * priv;
};

struct _SniPreferencesWindowExtensionClass {
	FtPreferencesWindowExtensionClass parent_class;
};

GType sni_indicator_action_group_register_type (GTypeModule * module);
VALA_EXTERN GType sni_indicator_action_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SniIndicatorActionGroup, g_object_unref)
VALA_EXTERN void sni_indicator_action_group_add_action (SniIndicatorActionGroup* self,
                                            GAction* action);
VALA_EXTERN SniIndicatorActionGroup* sni_indicator_action_group_new (void);
VALA_EXTERN SniIndicatorActionGroup* sni_indicator_action_group_construct (GType object_type);
GType sni_indicator_provider_register_type (GTypeModule * module);
VALA_EXTERN GType sni_indicator_provider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SniIndicatorProvider, g_object_unref)
VALA_EXTERN SniIndicatorProvider* sni_indicator_provider_new (void);
VALA_EXTERN SniIndicatorProvider* sni_indicator_provider_construct (GType object_type);
VALA_EXTERN GType sni_status_notifier_watcher_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void sni_status_notifier_watcher_proxy_register_dynamic_type (GTypeModule* module);
VALA_EXTERN guint sni_status_notifier_watcher_register_object (void* object,
                                                   GDBusConnection* connection,
                                                   const gchar* path,
                                                   GError** error);
GType sni_status_notifier_watcher_register_type (GTypeModule * module);
VALA_EXTERN GType sni_status_notifier_watcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SniStatusNotifierWatcher, g_object_unref)
VALA_EXTERN void sni_status_notifier_watcher_register_status_notifier_item (SniStatusNotifierWatcher* self,
                                                                const gchar* service,
                                                                GAsyncReadyCallback _callback_,
                                                                gpointer _user_data_);
VALA_EXTERN void sni_status_notifier_watcher_register_status_notifier_item_finish (SniStatusNotifierWatcher* self,
                                                                       GAsyncResult* _res_,
                                                                       GError** error);
VALA_EXTERN gboolean sni_status_notifier_watcher_get_is_status_notifier_host_registered (SniStatusNotifierWatcher* self);
VALA_EXTERN gint32 sni_status_notifier_watcher_get_protocol_version (SniStatusNotifierWatcher* self);
VALA_EXTERN GType sni_indicator_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* sni_indicator_status_to_string (SniIndicatorStatus self);
VALA_EXTERN SniIndicatorStatus sni_indicator_status_from_string (const gchar* status);
VALA_EXTERN GType sni_pixmap_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SniPixmap* sni_pixmap_dup (const SniPixmap* self);
VALA_EXTERN void sni_pixmap_free (SniPixmap* self);
VALA_EXTERN void sni_pixmap_copy (const SniPixmap* self,
                      SniPixmap* dest);
VALA_EXTERN void sni_pixmap_destroy (SniPixmap* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (SniPixmap, sni_pixmap_destroy)
VALA_EXTERN GVariant* sni_pixmap_to_variant (SniPixmap *self);
VALA_EXTERN GType sni_tooltip_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SniTooltip* sni_tooltip_dup (const SniTooltip* self);
VALA_EXTERN void sni_tooltip_free (SniTooltip* self);
VALA_EXTERN void sni_tooltip_copy (const SniTooltip* self,
                       SniTooltip* dest);
VALA_EXTERN void sni_tooltip_destroy (SniTooltip* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (SniTooltip, sni_tooltip_destroy)
VALA_EXTERN void sni_tooltip_init (SniTooltip *self);
VALA_EXTERN GVariant* sni_tooltip_to_variant (SniTooltip *self);
VALA_EXTERN gboolean sni_tooltip_equals (SniTooltip *self,
                             SniTooltip* other);
VALA_EXTERN GType sni_menu_toggle_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* sni_menu_toggle_type_to_string (SniMenuToggleType self);
VALA_EXTERN GType sni_menu_item_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* sni_menu_item_type_to_string (SniMenuItemType self);
VALA_EXTERN GType sni_menu_item_property_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SniMenuItemProperty sni_menu_item_property_from_string (const gchar* str);
VALA_EXTERN SniMenuItemProperty* sni_menu_item_property_from_strv (gchar** strv,
                                                       gint strv_length1,
                                                       gint* result_length1);
VALA_EXTERN SniMenuItemProperty* sni_menu_item_property_all (gint* result_length1);
VALA_EXTERN gchar* sni_menu_item_property_to_string (SniMenuItemProperty self);
GType sni_menu_item_register_type (GTypeModule * module);
VALA_EXTERN GType sni_menu_item_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SniMenuItem, g_object_unref)
VALA_EXTERN SniMenuItem* sni_menu_item_new (const gchar* name,
                                const gchar* label,
                                const gchar* icon_name,
                                const gchar* action_name,
                                GVariant* action_target);
VALA_EXTERN SniMenuItem* sni_menu_item_construct (GType object_type,
                                      const gchar* name,
                                      const gchar* label,
                                      const gchar* icon_name,
                                      const gchar* action_name,
                                      GVariant* action_target);
VALA_EXTERN SniMenuItem* sni_menu_item_new_root (void);
VALA_EXTERN SniMenuItem* sni_menu_item_construct_root (GType object_type);
VALA_EXTERN SniMenuItem* sni_menu_item_new_separator (const gchar* name);
VALA_EXTERN SniMenuItem* sni_menu_item_construct_separator (GType object_type,
                                                const gchar* name);
VALA_EXTERN void sni_menu_item_append (SniMenuItem* self,
                           SniMenuItem* child);
VALA_EXTERN void sni_menu_item_foreach (SniMenuItem* self,
                            GFunc func,
                            gpointer func_target);
VALA_EXTERN void sni_menu_item_traverse (SniMenuItem* self,
                             GFunc func,
                             gpointer func_target);
VALA_EXTERN gboolean sni_menu_item_has_children (SniMenuItem* self);
VALA_EXTERN gboolean sni_menu_item_needs_update (SniMenuItem* self);
VALA_EXTERN GVariant* sni_menu_item_serialize_property (SniMenuItem* self,
                                            SniMenuItemProperty property);
VALA_EXTERN GVariant* sni_menu_item_serialize_properties (SniMenuItem* self,
                                              SniMenuItemProperty* properties,
                                              gint properties_length1);
VALA_EXTERN guint sni_menu_item_get_id (SniMenuItem* self);
VALA_EXTERN const gchar* sni_menu_item_get_name (SniMenuItem* self);
VALA_EXTERN const gchar* sni_menu_item_get_action_name (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_action_name (SniMenuItem* self,
                                    const gchar* value);
VALA_EXTERN GVariant* sni_menu_item_get_action_target (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_action_target (SniMenuItem* self,
                                      GVariant* value);
VALA_EXTERN SniMenuItemType sni_menu_item_get_item_type (SniMenuItem* self);
VALA_EXTERN const gchar* sni_menu_item_get_icon_name (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_icon_name (SniMenuItem* self,
                                  const gchar* value);
VALA_EXTERN const gchar* sni_menu_item_get_label (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_label (SniMenuItem* self,
                              const gchar* value);
VALA_EXTERN SniMenuToggleType sni_menu_item_get_toggle_type (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_toggle_type (SniMenuItem* self,
                                    SniMenuToggleType value);
VALA_EXTERN gboolean sni_menu_item_get_toggle_state (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_toggle_state (SniMenuItem* self,
                                     gboolean value);
VALA_EXTERN gboolean sni_menu_item_get_enabled (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_enabled (SniMenuItem* self,
                                gboolean value);
VALA_EXTERN gboolean sni_menu_item_get_visible (SniMenuItem* self);
VALA_EXTERN void sni_menu_item_set_visible (SniMenuItem* self,
                                gboolean value);
GType sni_preferences_window_extension_register_type (GTypeModule * module);
VALA_EXTERN GType sni_preferences_window_extension_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SniPreferencesWindowExtension, g_object_unref)
VALA_EXTERN SniPreferencesWindowExtension* sni_preferences_window_extension_new (void);
VALA_EXTERN SniPreferencesWindowExtension* sni_preferences_window_extension_construct (GType object_type);
VALA_EXTERN void sni_peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
