/* liboctopi.h generated by valac 0.56.17, the Vala compiler, do not modify */

#ifndef __LIBOCTOPI_H__
#define __LIBOCTOPI_H__

#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include "alpm.h"
#include "alpm_list.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

typedef struct _AlpmUtils AlpmUtils;

struct _AlpmUtils {
	gchar* conf_file_path;
	alpm_handle_t* alpm_handle;
	alpm_list_t* holdpkgs;
	alpm_list_t* syncfirsts;
};

VALA_EXTERN void alpm_utils_free (AlpmUtils * self);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AlpmUtils, alpm_utils_free)
VALA_EXTERN AlpmUtils* alpm_utils_new (const gchar* conf_file_path);
VALA_EXTERN void alpm_utils_refresh_handle (AlpmUtils* self);
VALA_EXTERN alpm_pkg_t* alpm_utils_get_installed_pkg (AlpmUtils* self,
                                          const gchar* pkg_name);
VALA_EXTERN alpm_pkg_t* alpm_utils_get_sync_pkg (AlpmUtils* self,
                                     const gchar* pkg_name);
VALA_EXTERN alpm_list_t* alpm_utils_search_all_dbs (AlpmUtils* self,
                                        const gchar* search_string);
VALA_EXTERN alpm_list_t* alpm_utils_get_group_pkgs (AlpmUtils* self,
                                        const gchar* group_name);
VALA_EXTERN alpm_list_t* alpm_utils_get_installed_pkgs (AlpmUtils* self);
VALA_EXTERN alpm_list_t* alpm_utils_get_orphans (AlpmUtils* self);
VALA_EXTERN alpm_list_t* alpm_utils_get_unrequired (AlpmUtils* self);
VALA_EXTERN alpm_list_t* alpm_utils_get_foreign_pkgs (AlpmUtils* self);
VALA_EXTERN alpm_list_t* alpm_utils_get_repo_pkgs (AlpmUtils* self,
                                       const gchar* repo_name);
VALA_EXTERN alpm_list_t* alpm_utils_get_all_pkgs (AlpmUtils* self);
VALA_EXTERN alpm_list_t* alpm_utils_get_updates (AlpmUtils* self);

G_END_DECLS

#endif
