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

#ifndef __ASTAL_APPS_H__
#define __ASTAL_APPS_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib-object.h>
#include <gio/gdesktopappinfo.h>
#include <float.h>
#include <math.h>

G_BEGIN_DECLS

#define ASTAL_APPS_MAJOR_VERSION 0
#define ASTAL_APPS_MINOR_VERSION 1
#define ASTAL_APPS_MICRO_VERSION 0
#define ASTAL_APPS_VERSION "0.1.0"
#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 ASTAL_APPS_TYPE_APPLICATION (astal_apps_application_get_type ())
#define ASTAL_APPS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_APPS_TYPE_APPLICATION, AstalAppsApplication))
#define ASTAL_APPS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_APPS_TYPE_APPLICATION, AstalAppsApplicationClass))
#define ASTAL_APPS_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_APPS_TYPE_APPLICATION))
#define ASTAL_APPS_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_APPS_TYPE_APPLICATION))
#define ASTAL_APPS_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_APPS_TYPE_APPLICATION, AstalAppsApplicationClass))

typedef struct _AstalAppsApplication AstalAppsApplication;
typedef struct _AstalAppsApplicationClass AstalAppsApplicationClass;
typedef struct _AstalAppsApplicationPrivate AstalAppsApplicationPrivate;

#define ASTAL_APPS_TYPE_SCORE (astal_apps_score_get_type ())
typedef struct _AstalAppsScore AstalAppsScore;

#define ASTAL_APPS_TYPE_APPS (astal_apps_apps_get_type ())
#define ASTAL_APPS_APPS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_APPS_TYPE_APPS, AstalAppsApps))
#define ASTAL_APPS_APPS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_APPS_TYPE_APPS, AstalAppsAppsClass))
#define ASTAL_APPS_IS_APPS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_APPS_TYPE_APPS))
#define ASTAL_APPS_IS_APPS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_APPS_TYPE_APPS))
#define ASTAL_APPS_APPS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_APPS_TYPE_APPS, AstalAppsAppsClass))

typedef struct _AstalAppsApps AstalAppsApps;
typedef struct _AstalAppsAppsClass AstalAppsAppsClass;
typedef struct _AstalAppsAppsPrivate AstalAppsAppsPrivate;

struct _AstalAppsApplication {
	GObject parent_instance;
	AstalAppsApplicationPrivate * priv;
};

struct _AstalAppsApplicationClass {
	GObjectClass parent_class;
};

struct _AstalAppsScore {
	gint name;
	gint entry;
	gint executable;
	gint description;
	gint keywords;
	gint categories;
};

struct _AstalAppsApps {
	GObject parent_instance;
	AstalAppsAppsPrivate * priv;
};

struct _AstalAppsAppsClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType astal_apps_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalAppsApplication, g_object_unref)
VALA_EXTERN gchar* astal_apps_application_get_key (AstalAppsApplication* self,
                                       const gchar* key);
VALA_EXTERN gboolean astal_apps_application_launch (AstalAppsApplication* self);
VALA_EXTERN GType astal_apps_score_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalAppsScore* astal_apps_score_dup (const AstalAppsScore* self);
VALA_EXTERN void astal_apps_score_free (AstalAppsScore* self);
VALA_EXTERN void astal_apps_application_fuzzy_match (AstalAppsApplication* self,
                                         const gchar* term,
                                         AstalAppsScore* result);
VALA_EXTERN void astal_apps_application_exact_match (AstalAppsApplication* self,
                                         const gchar* term,
                                         AstalAppsScore* result);
VALA_EXTERN GDesktopAppInfo* astal_apps_application_get_app (AstalAppsApplication* self);
VALA_EXTERN void astal_apps_application_set_app (AstalAppsApplication* self,
                                     GDesktopAppInfo* value);
VALA_EXTERN gint astal_apps_application_get_frequency (AstalAppsApplication* self);
VALA_EXTERN void astal_apps_application_set_frequency (AstalAppsApplication* self,
                                           gint value);
VALA_EXTERN const gchar* astal_apps_application_get_name (AstalAppsApplication* self);
VALA_EXTERN const gchar* astal_apps_application_get_entry (AstalAppsApplication* self);
VALA_EXTERN const gchar* astal_apps_application_get_description (AstalAppsApplication* self);
VALA_EXTERN const gchar* astal_apps_application_get_wm_class (AstalAppsApplication* self);
VALA_EXTERN gchar* astal_apps_application_get_executable (AstalAppsApplication* self);
VALA_EXTERN gchar* astal_apps_application_get_icon_name (AstalAppsApplication* self);
VALA_EXTERN gchar** astal_apps_application_get_keywords (AstalAppsApplication* self,
                                             gint* result_length1);
VALA_EXTERN gchar** astal_apps_application_get_categories (AstalAppsApplication* self,
                                               gint* result_length1);
VALA_EXTERN GType astal_apps_apps_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalAppsApps, g_object_unref)
VALA_EXTERN gdouble astal_apps_apps_fuzzy_score (AstalAppsApps* self,
                                     const gchar* search,
                                     AstalAppsApplication* a);
VALA_EXTERN gdouble astal_apps_apps_exact_score (AstalAppsApps* self,
                                     const gchar* search,
                                     AstalAppsApplication* a);
VALA_EXTERN GList* astal_apps_apps_fuzzy_query (AstalAppsApps* self,
                                    const gchar* search);
VALA_EXTERN GList* astal_apps_apps_exact_query (AstalAppsApps* self,
                                    const gchar* search);
VALA_EXTERN void astal_apps_apps_reload (AstalAppsApps* self);
VALA_EXTERN AstalAppsApps* astal_apps_apps_new (void);
VALA_EXTERN AstalAppsApps* astal_apps_apps_construct (GType object_type);
VALA_EXTERN gboolean astal_apps_apps_get_show_hidden (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_show_hidden (AstalAppsApps* self,
                                      gboolean value);
VALA_EXTERN GList* astal_apps_apps_get_list (AstalAppsApps* self);
VALA_EXTERN gdouble astal_apps_apps_get_min_score (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_min_score (AstalAppsApps* self,
                                    gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_name_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_name_multiplier (AstalAppsApps* self,
                                          gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_entry_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_entry_multiplier (AstalAppsApps* self,
                                           gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_executable_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_executable_multiplier (AstalAppsApps* self,
                                                gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_description_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_description_multiplier (AstalAppsApps* self,
                                                 gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_keywords_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_keywords_multiplier (AstalAppsApps* self,
                                              gdouble value);
VALA_EXTERN gdouble astal_apps_apps_get_categories_multiplier (AstalAppsApps* self);
VALA_EXTERN void astal_apps_apps_set_categories_multiplier (AstalAppsApps* self,
                                                gdouble value);

G_END_DECLS

#endif
