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

#ifndef __SRC_AUTOVALALIB_AUTOVALA_H__
#define __SRC_AUTOVALALIB_AUTOVALA_H__

#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.h>
#include <gee.h>

G_BEGIN_DECLS

#define AUTO_VALA_DATADIR "/usr/share"
#define AUTO_VALA_PKGDATADIR "/usr/share/autovala"
#define AUTO_VALA_GETTEXT_PACKAGE "autovala"
#define AUTO_VALA_RELEASE_NAME "autovala"
#define AUTO_VALA_VERSION "1.18.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 AUTO_VALA_TYPE_MANAGE_PROJECT (auto_vala_manage_project_get_type ())
#define AUTO_VALA_MANAGE_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_MANAGE_PROJECT, AutoValaManageProject))
#define AUTO_VALA_MANAGE_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_MANAGE_PROJECT, AutoValaManageProjectClass))
#define AUTO_VALA_IS_MANAGE_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_MANAGE_PROJECT))
#define AUTO_VALA_IS_MANAGE_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_MANAGE_PROJECT))
#define AUTO_VALA_MANAGE_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_MANAGE_PROJECT, AutoValaManageProjectClass))

typedef struct _AutoValaManageProject AutoValaManageProject;
typedef struct _AutoValaManageProjectClass AutoValaManageProjectClass;
typedef struct _AutoValaManageProjectPrivate AutoValaManageProjectPrivate;

#define AUTO_VALA_TYPE_VALA_PROJECT (auto_vala_vala_project_get_type ())
#define AUTO_VALA_VALA_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_VALA_PROJECT, AutoValaValaProject))
#define AUTO_VALA_VALA_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_VALA_PROJECT, AutoValaValaProjectClass))
#define AUTO_VALA_IS_VALA_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_VALA_PROJECT))
#define AUTO_VALA_IS_VALA_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_VALA_PROJECT))
#define AUTO_VALA_VALA_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_VALA_PROJECT, AutoValaValaProjectClass))

typedef struct _AutoValaValaProject AutoValaValaProject;
typedef struct _AutoValaValaProjectClass AutoValaValaProjectClass;
typedef struct _AutoValaValaProjectPrivate AutoValaValaProjectPrivate;

#define AUTO_VALA_TYPE_PUBLIC_BINARY (auto_vala_public_binary_get_type ())
#define AUTO_VALA_PUBLIC_BINARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_PUBLIC_BINARY, AutoValaPublicBinary))
#define AUTO_VALA_PUBLIC_BINARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_PUBLIC_BINARY, AutoValaPublicBinaryClass))
#define AUTO_VALA_IS_PUBLIC_BINARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_PUBLIC_BINARY))
#define AUTO_VALA_IS_PUBLIC_BINARY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_PUBLIC_BINARY))
#define AUTO_VALA_PUBLIC_BINARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_PUBLIC_BINARY, AutoValaPublicBinaryClass))

typedef struct _AutoValaPublicBinary AutoValaPublicBinary;
typedef struct _AutoValaPublicBinaryClass AutoValaPublicBinaryClass;

#define AUTO_VALA_TYPE_PUBLIC_GLADE (auto_vala_public_glade_get_type ())
#define AUTO_VALA_PUBLIC_GLADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_PUBLIC_GLADE, AutoValaPublicGlade))
#define AUTO_VALA_PUBLIC_GLADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_PUBLIC_GLADE, AutoValaPublicGladeClass))
#define AUTO_VALA_IS_PUBLIC_GLADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_PUBLIC_GLADE))
#define AUTO_VALA_IS_PUBLIC_GLADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_PUBLIC_GLADE))
#define AUTO_VALA_PUBLIC_GLADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_PUBLIC_GLADE, AutoValaPublicGladeClass))

typedef struct _AutoValaPublicGlade AutoValaPublicGlade;
typedef struct _AutoValaPublicGladeClass AutoValaPublicGladeClass;
typedef struct _AutoValaPublicGladePrivate AutoValaPublicGladePrivate;
typedef struct _AutoValaPublicBinaryPrivate AutoValaPublicBinaryPrivate;
typedef enum  {
	AUTO_VALA_CONFIG_TYPE_GLOBAL,
	AUTO_VALA_CONFIG_TYPE_VALA_BINARY,
	AUTO_VALA_CONFIG_TYPE_VALA_LIBRARY,
	AUTO_VALA_CONFIG_TYPE_BINARY,
	AUTO_VALA_CONFIG_TYPE_ICON,
	AUTO_VALA_CONFIG_TYPE_PIXMAP,
	AUTO_VALA_CONFIG_TYPE_PO,
	AUTO_VALA_CONFIG_TYPE_GLADE,
	AUTO_VALA_CONFIG_TYPE_DBUS_SERVICE,
	AUTO_VALA_CONFIG_TYPE_DBUS_CONFIG,
	AUTO_VALA_CONFIG_TYPE_DESKTOP,
	AUTO_VALA_CONFIG_TYPE_AUTOSTART,
	AUTO_VALA_CONFIG_TYPE_EOS_PLUG,
	AUTO_VALA_CONFIG_TYPE_SCHEME,
	AUTO_VALA_CONFIG_TYPE_DATA,
	AUTO_VALA_CONFIG_TYPE_DOC,
	AUTO_VALA_CONFIG_TYPE_INCLUDE,
	AUTO_VALA_CONFIG_TYPE_IGNORE,
	AUTO_VALA_CONFIG_TYPE_CUSTOM,
	AUTO_VALA_CONFIG_TYPE_DEFINE,
	AUTO_VALA_CONFIG_TYPE_MANPAGE,
	AUTO_VALA_CONFIG_TYPE_BASH_COMPLETION,
	AUTO_VALA_CONFIG_TYPE_SOURCE_DEPENDENCY,
	AUTO_VALA_CONFIG_TYPE_BINARY_DEPENDENCY,
	AUTO_VALA_CONFIG_TYPE_APPDATA,
	AUTO_VALA_CONFIG_TYPE_GRESOURCE,
	AUTO_VALA_CONFIG_TYPE_TRANSLATION,
	AUTO_VALA_CONFIG_TYPE_VAPIDIR,
	AUTO_VALA_CONFIG_TYPE_EXTERNAL,
	AUTO_VALA_CONFIG_TYPE_POLKIT,
	AUTO_VALA_CONFIG_TYPE_MIMETYPE,
	AUTO_VALA_CONFIG_TYPE_EXTERNAL_PROGRAM,
	AUTO_VALA_CONFIG_TYPE_BUILD_EXTERNAL_PROGRAM,
	AUTO_VALA_CONFIG_TYPE_MESON
} AutoValaConfigType;

#define AUTO_VALA_TYPE_CONFIG_TYPE (auto_vala_config_type_get_type ())

#define AUTO_VALA_TYPE_GENERIC_ELEMENT (auto_vala_generic_element_get_type ())
#define AUTO_VALA_GENERIC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_GENERIC_ELEMENT, AutoValaGenericElement))
#define AUTO_VALA_GENERIC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_GENERIC_ELEMENT, AutoValaGenericElementClass))
#define AUTO_VALA_IS_GENERIC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_GENERIC_ELEMENT))
#define AUTO_VALA_IS_GENERIC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_GENERIC_ELEMENT))
#define AUTO_VALA_GENERIC_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_GENERIC_ELEMENT, AutoValaGenericElementClass))

typedef struct _AutoValaGenericElement AutoValaGenericElement;
typedef struct _AutoValaGenericElementClass AutoValaGenericElementClass;

#define AUTO_VALA_TYPE_SOURCE_ELEMENT (auto_vala_source_element_get_type ())
#define AUTO_VALA_SOURCE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_SOURCE_ELEMENT, AutoValaSourceElement))
#define AUTO_VALA_SOURCE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_SOURCE_ELEMENT, AutoValaSourceElementClass))
#define AUTO_VALA_IS_SOURCE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_SOURCE_ELEMENT))
#define AUTO_VALA_IS_SOURCE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_SOURCE_ELEMENT))
#define AUTO_VALA_SOURCE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_SOURCE_ELEMENT, AutoValaSourceElementClass))

typedef struct _AutoValaSourceElement AutoValaSourceElement;
typedef struct _AutoValaSourceElementClass AutoValaSourceElementClass;

#define AUTO_VALA_TYPE_VAPI_ELEMENT (auto_vala_vapi_element_get_type ())
#define AUTO_VALA_VAPI_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_VAPI_ELEMENT, AutoValaVapiElement))
#define AUTO_VALA_VAPI_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_VAPI_ELEMENT, AutoValaVapiElementClass))
#define AUTO_VALA_IS_VAPI_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_VAPI_ELEMENT))
#define AUTO_VALA_IS_VAPI_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_VAPI_ELEMENT))
#define AUTO_VALA_VAPI_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_VAPI_ELEMENT, AutoValaVapiElementClass))

typedef struct _AutoValaVapiElement AutoValaVapiElement;
typedef struct _AutoValaVapiElementClass AutoValaVapiElementClass;

#define AUTO_VALA_TYPE_PACKAGE_ELEMENT (auto_vala_package_element_get_type ())
#define AUTO_VALA_PACKAGE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_PACKAGE_ELEMENT, AutoValaPackageElement))
#define AUTO_VALA_PACKAGE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_PACKAGE_ELEMENT, AutoValaPackageElementClass))
#define AUTO_VALA_IS_PACKAGE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_PACKAGE_ELEMENT))
#define AUTO_VALA_IS_PACKAGE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_PACKAGE_ELEMENT))
#define AUTO_VALA_PACKAGE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_PACKAGE_ELEMENT, AutoValaPackageElementClass))

typedef struct _AutoValaPackageElement AutoValaPackageElement;
typedef struct _AutoValaPackageElementClass AutoValaPackageElementClass;
typedef enum  {
	AUTO_VALA_CONDITIONAL_TYPE_AUTOVALA,
	AUTO_VALA_CONDITIONAL_TYPE_MESON
} AutoValaConditionalType;

#define AUTO_VALA_TYPE_CONDITIONAL_TYPE (auto_vala_conditional_type_get_type ())
typedef enum  {
	AUTO_VALA_TRANSLATION_TYPE_C,
	AUTO_VALA_TRANSLATION_TYPE_VALA,
	AUTO_VALA_TRANSLATION_TYPE_GLADE,
	AUTO_VALA_TRANSLATION_TYPE_GENIE
} AutoValaTranslationType;

#define AUTO_VALA_TYPE_TRANSLATION_TYPE (auto_vala_translation_type_get_type ())
typedef enum  {
	AUTO_VALA_PACKAGE_TYPE_NO_CHECK,
	AUTO_VALA_PACKAGE_TYPE_DO_CHECK,
	AUTO_VALA_PACKAGE_TYPE_C_DO_CHECK,
	AUTO_VALA_PACKAGE_TYPE_LOCAL
} AutoValapackageType;

#define AUTO_VALA_TYPE_PACKAGE_TYPE (auto_vala_package_type_get_type ())
typedef struct _AutoValaGenericElementPrivate AutoValaGenericElementPrivate;

#define AUTO_VALA_TYPE_ALIAS_ELEMENT (auto_vala_alias_element_get_type ())
#define AUTO_VALA_ALIAS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_ALIAS_ELEMENT, AutoValaAliasElement))
#define AUTO_VALA_ALIAS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_ALIAS_ELEMENT, AutoValaAliasElementClass))
#define AUTO_VALA_IS_ALIAS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_ALIAS_ELEMENT))
#define AUTO_VALA_IS_ALIAS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_ALIAS_ELEMENT))
#define AUTO_VALA_ALIAS_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_ALIAS_ELEMENT, AutoValaAliasElementClass))

typedef struct _AutoValaAliasElement AutoValaAliasElement;
typedef struct _AutoValaAliasElementClass AutoValaAliasElementClass;
typedef struct _AutoValaAliasElementPrivate AutoValaAliasElementPrivate;

#define AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT (auto_vala_include_gir_element_get_type ())
#define AUTO_VALA_INCLUDE_GIR_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT, AutoValaIncludeGirElement))
#define AUTO_VALA_INCLUDE_GIR_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT, AutoValaIncludeGirElementClass))
#define AUTO_VALA_IS_INCLUDE_GIR_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT))
#define AUTO_VALA_IS_INCLUDE_GIR_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT))
#define AUTO_VALA_INCLUDE_GIR_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_INCLUDE_GIR_ELEMENT, AutoValaIncludeGirElementClass))

typedef struct _AutoValaIncludeGirElement AutoValaIncludeGirElement;
typedef struct _AutoValaIncludeGirElementClass AutoValaIncludeGirElementClass;
typedef struct _AutoValaIncludeGirElementPrivate AutoValaIncludeGirElementPrivate;
typedef struct _AutoValaPackageElementPrivate AutoValaPackageElementPrivate;
typedef struct _AutoValaSourceElementPrivate AutoValaSourceElementPrivate;
typedef struct _AutoValaVapiElementPrivate AutoValaVapiElementPrivate;

#define AUTO_VALA_TYPE_COMPILE_ELEMENT (auto_vala_compile_element_get_type ())
#define AUTO_VALA_COMPILE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_COMPILE_ELEMENT, AutoValaCompileElement))
#define AUTO_VALA_COMPILE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_COMPILE_ELEMENT, AutoValaCompileElementClass))
#define AUTO_VALA_IS_COMPILE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_COMPILE_ELEMENT))
#define AUTO_VALA_IS_COMPILE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_COMPILE_ELEMENT))
#define AUTO_VALA_COMPILE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_COMPILE_ELEMENT, AutoValaCompileElementClass))

typedef struct _AutoValaCompileElement AutoValaCompileElement;
typedef struct _AutoValaCompileElementClass AutoValaCompileElementClass;
typedef struct _AutoValaCompileElementPrivate AutoValaCompileElementPrivate;

#define AUTO_VALA_TYPE_LIBRARY_ELEMENT (auto_vala_library_element_get_type ())
#define AUTO_VALA_LIBRARY_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_LIBRARY_ELEMENT, AutoValaLibraryElement))
#define AUTO_VALA_LIBRARY_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_LIBRARY_ELEMENT, AutoValaLibraryElementClass))
#define AUTO_VALA_IS_LIBRARY_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_LIBRARY_ELEMENT))
#define AUTO_VALA_IS_LIBRARY_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_LIBRARY_ELEMENT))
#define AUTO_VALA_LIBRARY_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_LIBRARY_ELEMENT, AutoValaLibraryElementClass))

typedef struct _AutoValaLibraryElement AutoValaLibraryElement;
typedef struct _AutoValaLibraryElementClass AutoValaLibraryElementClass;
typedef struct _AutoValaLibraryElementPrivate AutoValaLibraryElementPrivate;

#define AUTO_VALA_TYPE_DESTINATION_ELEMENT (auto_vala_destination_element_get_type ())
#define AUTO_VALA_DESTINATION_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_DESTINATION_ELEMENT, AutoValaDestinationElement))
#define AUTO_VALA_DESTINATION_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_DESTINATION_ELEMENT, AutoValaDestinationElementClass))
#define AUTO_VALA_IS_DESTINATION_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_DESTINATION_ELEMENT))
#define AUTO_VALA_IS_DESTINATION_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_DESTINATION_ELEMENT))
#define AUTO_VALA_DESTINATION_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_DESTINATION_ELEMENT, AutoValaDestinationElementClass))

typedef struct _AutoValaDestinationElement AutoValaDestinationElement;
typedef struct _AutoValaDestinationElementClass AutoValaDestinationElementClass;
typedef struct _AutoValaDestinationElementPrivate AutoValaDestinationElementPrivate;

#define AUTO_VALA_TYPE_RESOURCE_ELEMENT (auto_vala_resource_element_get_type ())
#define AUTO_VALA_RESOURCE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_RESOURCE_ELEMENT, AutoValaResourceElement))
#define AUTO_VALA_RESOURCE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_RESOURCE_ELEMENT, AutoValaResourceElementClass))
#define AUTO_VALA_IS_RESOURCE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_RESOURCE_ELEMENT))
#define AUTO_VALA_IS_RESOURCE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_RESOURCE_ELEMENT))
#define AUTO_VALA_RESOURCE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_RESOURCE_ELEMENT, AutoValaResourceElementClass))

typedef struct _AutoValaResourceElement AutoValaResourceElement;
typedef struct _AutoValaResourceElementClass AutoValaResourceElementClass;
typedef struct _AutoValaResourceElementPrivate AutoValaResourceElementPrivate;

#define AUTO_VALA_TYPE_DBUS_ELEMENT (auto_vala_dbus_element_get_type ())
#define AUTO_VALA_DBUS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTO_VALA_TYPE_DBUS_ELEMENT, AutoValaDBusElement))
#define AUTO_VALA_DBUS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTO_VALA_TYPE_DBUS_ELEMENT, AutoValaDBusElementClass))
#define AUTO_VALA_IS_DBUS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTO_VALA_TYPE_DBUS_ELEMENT))
#define AUTO_VALA_IS_DBUS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTO_VALA_TYPE_DBUS_ELEMENT))
#define AUTO_VALA_DBUS_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTO_VALA_TYPE_DBUS_ELEMENT, AutoValaDBusElementClass))

typedef struct _AutoValaDBusElement AutoValaDBusElement;
typedef struct _AutoValaDBusElementClass AutoValaDBusElementClass;
typedef struct _AutoValaDBusElementPrivate AutoValaDBusElementPrivate;

struct _AutoValaManageProject {
	GObject parent_instance;
	AutoValaManageProjectPrivate * priv;
};

struct _AutoValaManageProjectClass {
	GObjectClass parent_class;
};

struct _AutoValaValaProject {
	GObject parent_instance;
	AutoValaValaProjectPrivate * priv;
	gchar* projectPath;
	gchar* projectName;
	gchar* projectFile;
	GeeList* binaries;
	GeeList* ui;
	GeeList* external;
};

struct _AutoValaValaProjectClass {
	GObjectClass parent_class;
};

struct _AutoValaPublicGlade {
	GObject parent_instance;
	AutoValaPublicGladePrivate * priv;
	gchar* fullPath;
};

struct _AutoValaPublicGladeClass {
	GObjectClass parent_class;
};

struct _AutoValaPublicBinary {
	GObject parent_instance;
	AutoValaPublicBinaryPrivate * priv;
	AutoValaConfigType type;
	gchar* library_namespace;
	gchar* fullPath;
	gchar* name;
	gchar* vala_opts;
	gchar* c_opts;
	gchar* libraries;
	GeeList* sources;
	GeeList* c_sources;
	GeeList* vapis;
	GeeList* unitests;
	GeeList* packages;
	gint major;
	gint minor;
	gint revision;
};

struct _AutoValaPublicBinaryClass {
	GObjectClass parent_class;
};

struct _AutoValaGenericElement {
	GObject parent_instance;
	AutoValaGenericElementPrivate * priv;
	gchar* elementName;
	gchar* condition;
	gboolean invertCondition;
	gboolean automatic;
	gchar** comments;
	gint comments_length1;
};

struct _AutoValaGenericElementClass {
	GObjectClass parent_class;
};

struct _AutoValaAliasElement {
	AutoValaGenericElement parent_instance;
	AutoValaAliasElementPrivate * priv;
};

struct _AutoValaAliasElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaIncludeGirElement {
	AutoValaGenericElement parent_instance;
	AutoValaIncludeGirElementPrivate * priv;
};

struct _AutoValaIncludeGirElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaPackageElement {
	AutoValaGenericElement parent_instance;
	AutoValaPackageElementPrivate * priv;
	AutoValapackageType type;
};

struct _AutoValaPackageElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaSourceElement {
	AutoValaGenericElement parent_instance;
	AutoValaSourceElementPrivate * priv;
};

struct _AutoValaSourceElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaVapiElement {
	AutoValaGenericElement parent_instance;
	AutoValaVapiElementPrivate * priv;
};

struct _AutoValaVapiElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaCompileElement {
	AutoValaGenericElement parent_instance;
	AutoValaCompileElementPrivate * priv;
};

struct _AutoValaCompileElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaLibraryElement {
	AutoValaGenericElement parent_instance;
	AutoValaLibraryElementPrivate * priv;
};

struct _AutoValaLibraryElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaDestinationElement {
	AutoValaGenericElement parent_instance;
	AutoValaDestinationElementPrivate * priv;
};

struct _AutoValaDestinationElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaResourceElement {
	AutoValaGenericElement parent_instance;
	AutoValaResourceElementPrivate * priv;
};

struct _AutoValaResourceElementClass {
	AutoValaGenericElementClass parent_class;
};

struct _AutoValaDBusElement {
	AutoValaGenericElement parent_instance;
	AutoValaDBusElementPrivate * priv;
	gchar* obj;
	gboolean systemBus;
	gboolean GDBus;
};

struct _AutoValaDBusElementClass {
	AutoValaGenericElementClass parent_class;
};

VALA_EXTERN GType auto_vala_manage_project_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaManageProject, g_object_unref)
VALA_EXTERN gchar* auto_vala_manage_project_getProjectPath (AutoValaManageProject* self);
VALA_EXTERN void auto_vala_manage_project_showErrors (AutoValaManageProject* self);
VALA_EXTERN gchar** auto_vala_manage_project_getErrors (AutoValaManageProject* self,
                                            gint* result_length1);
VALA_EXTERN gboolean auto_vala_manage_project_delete_recursive (const gchar* fileFolder);
VALA_EXTERN gboolean auto_vala_manage_project_init (AutoValaManageProject* self,
                                        const gchar* projectName,
                                        gboolean isGenie,
                                        const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_meson (AutoValaManageProject* self,
                                         const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_refresh (AutoValaManageProject* self,
                                           const gchar* basePath);
VALA_EXTERN gchar** auto_vala_manage_project_get_files (AutoValaManageProject* self,
                                            const gchar* basePath,
                                            gint* result_length1);
VALA_EXTERN gboolean auto_vala_manage_project_gettext (AutoValaManageProject* self,
                                           const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_clear (AutoValaManageProject* self,
                                         const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_remove_binary (AutoValaManageProject* self,
                                                 const gchar* projectPath,
                                                 const gchar* binary_name);
VALA_EXTERN gchar* auto_vala_manage_project_process_binary (AutoValaManageProject* self,
                                                const gchar* original_name,
                                                const gchar* projectPath,
                                                const gchar* binary_name,
                                                gboolean is_library,
                                                const gchar* base_path,
                                                const gchar* vala_options,
                                                const gchar* c_options,
                                                const gchar* libraries);
VALA_EXTERN gboolean auto_vala_manage_project_create_deb (AutoValaManageProject* self,
                                              gboolean ask,
                                              const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_create_rpm (AutoValaManageProject* self,
                                              gboolean ask,
                                              const gchar* basePath);
VALA_EXTERN gboolean auto_vala_manage_project_create_pacman (AutoValaManageProject* self,
                                                 gboolean ask,
                                                 const gchar* basePath);
VALA_EXTERN GType auto_vala_vala_project_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaValaProject, g_object_unref)
VALA_EXTERN AutoValaValaProject* auto_vala_manage_project_get_binaries_list (AutoValaManageProject* self,
                                                                 const gchar* basePath,
                                                                 const gchar* owner);
VALA_EXTERN gboolean auto_vala_manage_project_set_external_data (AutoValaManageProject* self,
                                                     const gchar* owner,
                                                     GeeList* data,
                                                     const gchar* basePath);
VALA_EXTERN AutoValaManageProject* auto_vala_manage_project_new (void);
VALA_EXTERN AutoValaManageProject* auto_vala_manage_project_construct (GType object_type);
VALA_EXTERN GType auto_vala_public_binary_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaPublicBinary, g_object_unref)
VALA_EXTERN GType auto_vala_public_glade_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaPublicGlade, g_object_unref)
VALA_EXTERN AutoValaValaProject* auto_vala_vala_project_new (void);
VALA_EXTERN AutoValaValaProject* auto_vala_vala_project_construct (GType object_type);
VALA_EXTERN AutoValaPublicGlade* auto_vala_public_glade_new (const gchar* path);
VALA_EXTERN AutoValaPublicGlade* auto_vala_public_glade_construct (GType object_type,
                                                       const gchar* path);
VALA_EXTERN GType auto_vala_config_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType auto_vala_generic_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaGenericElement, g_object_unref)
VALA_EXTERN GType auto_vala_source_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaSourceElement, g_object_unref)
VALA_EXTERN GType auto_vala_vapi_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaVapiElement, g_object_unref)
VALA_EXTERN GType auto_vala_package_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaPackageElement, g_object_unref)
VALA_EXTERN AutoValaPublicBinary* auto_vala_public_binary_new (AutoValaConfigType type,
                                                   const gchar* fullPath,
                                                   const gchar* name,
                                                   const gchar* current_namespace);
VALA_EXTERN AutoValaPublicBinary* auto_vala_public_binary_construct (GType object_type,
                                                         AutoValaConfigType type,
                                                         const gchar* fullPath,
                                                         const gchar* name,
                                                         const gchar* current_namespace);
VALA_EXTERN void auto_vala_public_binary_set_binary_data (AutoValaPublicBinary* self,
                                              const gchar* vala_options,
                                              const gchar* c_options,
                                              const gchar* libraries);
VALA_EXTERN GType auto_vala_conditional_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType auto_vala_translation_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType auto_vala_package_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AutoValaGenericElement* auto_vala_generic_element_new (void);
VALA_EXTERN AutoValaGenericElement* auto_vala_generic_element_construct (GType object_type);
VALA_EXTERN GType auto_vala_alias_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaAliasElement, g_object_unref)
VALA_EXTERN AutoValaAliasElement* auto_vala_alias_element_new (const gchar* alias,
                                                   gboolean automatic,
                                                   const gchar* condition,
                                                   gboolean inverted);
VALA_EXTERN AutoValaAliasElement* auto_vala_alias_element_construct (GType object_type,
                                                         const gchar* alias,
                                                         gboolean automatic,
                                                         const gchar* condition,
                                                         gboolean inverted);
VALA_EXTERN GType auto_vala_include_gir_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaIncludeGirElement, g_object_unref)
VALA_EXTERN AutoValaIncludeGirElement* auto_vala_include_gir_element_new (const gchar* path,
                                                              gboolean automatic,
                                                              const gchar* condition,
                                                              gboolean inverted);
VALA_EXTERN AutoValaIncludeGirElement* auto_vala_include_gir_element_construct (GType object_type,
                                                                    const gchar* path,
                                                                    gboolean automatic,
                                                                    const gchar* condition,
                                                                    gboolean inverted);
VALA_EXTERN AutoValaPackageElement* auto_vala_package_element_new (const gchar* package,
                                                       AutoValapackageType type,
                                                       gboolean automatic,
                                                       const gchar* condition,
                                                       gboolean inverted);
VALA_EXTERN AutoValaPackageElement* auto_vala_package_element_construct (GType object_type,
                                                             const gchar* package,
                                                             AutoValapackageType type,
                                                             gboolean automatic,
                                                             const gchar* condition,
                                                             gboolean inverted);
VALA_EXTERN AutoValaSourceElement* auto_vala_source_element_new (const gchar* source,
                                                     gboolean automatic,
                                                     const gchar* condition,
                                                     gboolean inverted);
VALA_EXTERN AutoValaSourceElement* auto_vala_source_element_construct (GType object_type,
                                                           const gchar* source,
                                                           gboolean automatic,
                                                           const gchar* condition,
                                                           gboolean inverted);
VALA_EXTERN AutoValaVapiElement* auto_vala_vapi_element_new (const gchar* vapi,
                                                 gboolean automatic,
                                                 const gchar* condition,
                                                 gboolean inverted);
VALA_EXTERN AutoValaVapiElement* auto_vala_vapi_element_construct (GType object_type,
                                                       const gchar* vapi,
                                                       gboolean automatic,
                                                       const gchar* condition,
                                                       gboolean inverted);
VALA_EXTERN GType auto_vala_compile_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaCompileElement, g_object_unref)
VALA_EXTERN AutoValaCompileElement* auto_vala_compile_element_new (const gchar* options,
                                                       gboolean automatic,
                                                       const gchar* condition,
                                                       gboolean inverted);
VALA_EXTERN AutoValaCompileElement* auto_vala_compile_element_construct (GType object_type,
                                                             const gchar* options,
                                                             gboolean automatic,
                                                             const gchar* condition,
                                                             gboolean inverted);
VALA_EXTERN GType auto_vala_library_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaLibraryElement, g_object_unref)
VALA_EXTERN AutoValaLibraryElement* auto_vala_library_element_new (const gchar* libraries,
                                                       gboolean automatic,
                                                       const gchar* condition,
                                                       gboolean inverted);
VALA_EXTERN AutoValaLibraryElement* auto_vala_library_element_construct (GType object_type,
                                                             const gchar* libraries,
                                                             gboolean automatic,
                                                             const gchar* condition,
                                                             gboolean inverted);
VALA_EXTERN GType auto_vala_destination_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaDestinationElement, g_object_unref)
VALA_EXTERN AutoValaDestinationElement* auto_vala_destination_element_new (const gchar* destination,
                                                               gboolean automatic,
                                                               const gchar* condition,
                                                               gboolean inverted);
VALA_EXTERN AutoValaDestinationElement* auto_vala_destination_element_construct (GType object_type,
                                                                     const gchar* destination,
                                                                     gboolean automatic,
                                                                     const gchar* condition,
                                                                     gboolean inverted);
VALA_EXTERN GType auto_vala_resource_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaResourceElement, g_object_unref)
VALA_EXTERN AutoValaResourceElement* auto_vala_resource_element_new (const gchar* resource,
                                                         gboolean automatic,
                                                         const gchar* condition,
                                                         gboolean inverted);
VALA_EXTERN AutoValaResourceElement* auto_vala_resource_element_construct (GType object_type,
                                                               const gchar* resource,
                                                               gboolean automatic,
                                                               const gchar* condition,
                                                               gboolean inverted);
VALA_EXTERN GType auto_vala_dbus_element_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoValaDBusElement, g_object_unref)
VALA_EXTERN AutoValaDBusElement* auto_vala_dbus_element_new (const gchar* destination,
                                                 const gchar* obj,
                                                 gboolean systemBus,
                                                 gboolean GDBus,
                                                 gboolean automatic);
VALA_EXTERN AutoValaDBusElement* auto_vala_dbus_element_construct (GType object_type,
                                                       const gchar* destination,
                                                       const gchar* obj,
                                                       gboolean systemBus,
                                                       gboolean GDBus,
                                                       gboolean automatic);

G_END_DECLS

#endif
