/* ofono.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __BACKENDS_OFONO_OFONO_H__
#define __BACKENDS_OFONO_OFONO_H__

#include "folks/folks.h"
#include <glib-object.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>
#include <glib.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 FOLKS_BACKENDS_OFONO_TYPE_BACKEND (folks_backends_ofono_backend_get_type ())
#define FOLKS_BACKENDS_OFONO_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLKS_BACKENDS_OFONO_TYPE_BACKEND, FolksBackendsOfonoBackend))
#define FOLKS_BACKENDS_OFONO_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLKS_BACKENDS_OFONO_TYPE_BACKEND, FolksBackendsOfonoBackendClass))
#define FOLKS_BACKENDS_OFONO_IS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLKS_BACKENDS_OFONO_TYPE_BACKEND))
#define FOLKS_BACKENDS_OFONO_IS_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLKS_BACKENDS_OFONO_TYPE_BACKEND))
#define FOLKS_BACKENDS_OFONO_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLKS_BACKENDS_OFONO_TYPE_BACKEND, FolksBackendsOfonoBackendClass))

typedef struct _FolksBackendsOfonoBackend FolksBackendsOfonoBackend;
typedef struct _FolksBackendsOfonoBackendClass FolksBackendsOfonoBackendClass;
typedef struct _FolksBackendsOfonoBackendPrivate FolksBackendsOfonoBackendPrivate;

#define FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE (folks_backends_ofono_persona_store_get_type ())
#define FOLKS_BACKENDS_OFONO_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE, FolksBackendsOfonoPersonaStore))
#define FOLKS_BACKENDS_OFONO_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE, FolksBackendsOfonoPersonaStoreClass))
#define FOLKS_BACKENDS_OFONO_IS_PERSONA_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE))
#define FOLKS_BACKENDS_OFONO_IS_PERSONA_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE))
#define FOLKS_BACKENDS_OFONO_PERSONA_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA_STORE, FolksBackendsOfonoPersonaStoreClass))

typedef struct _FolksBackendsOfonoPersonaStore FolksBackendsOfonoPersonaStore;
typedef struct _FolksBackendsOfonoPersonaStoreClass FolksBackendsOfonoPersonaStoreClass;
typedef struct _FolksBackendsOfonoPersonaStorePrivate FolksBackendsOfonoPersonaStorePrivate;

#define FOLKS_BACKENDS_OFONO_TYPE_PERSONA (folks_backends_ofono_persona_get_type ())
#define FOLKS_BACKENDS_OFONO_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA, FolksBackendsOfonoPersona))
#define FOLKS_BACKENDS_OFONO_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLKS_BACKENDS_OFONO_TYPE_PERSONA, FolksBackendsOfonoPersonaClass))
#define FOLKS_BACKENDS_OFONO_IS_PERSONA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA))
#define FOLKS_BACKENDS_OFONO_IS_PERSONA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLKS_BACKENDS_OFONO_TYPE_PERSONA))
#define FOLKS_BACKENDS_OFONO_PERSONA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLKS_BACKENDS_OFONO_TYPE_PERSONA, FolksBackendsOfonoPersonaClass))

typedef struct _FolksBackendsOfonoPersona FolksBackendsOfonoPersona;
typedef struct _FolksBackendsOfonoPersonaClass FolksBackendsOfonoPersonaClass;
typedef struct _FolksBackendsOfonoPersonaPrivate FolksBackendsOfonoPersonaPrivate;

#define ORG_OFONO_TYPE_MODEM_PROPERTIES (org_ofono_modem_properties_get_type ())
typedef struct _orgofonoModemProperties orgofonoModemProperties;

#define ORG_OFONO_TYPE_MANAGER (org_ofono_manager_get_type ())
#define ORG_OFONO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ORG_OFONO_TYPE_MANAGER, orgofonoManager))
#define ORG_OFONO_IS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ORG_OFONO_TYPE_MANAGER))
#define ORG_OFONO_MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ORG_OFONO_TYPE_MANAGER, orgofonoManagerIface))

typedef struct _orgofonoManager orgofonoManager;
typedef struct _orgofonoManagerIface orgofonoManagerIface;

#define ORG_OFONO_TYPE_MANAGER_PROXY (org_ofono_manager_proxy_get_type ())

#define ORG_OFONO_TYPE_PHONEBOOK (org_ofono_phonebook_get_type ())
#define ORG_OFONO_PHONEBOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ORG_OFONO_TYPE_PHONEBOOK, orgofonoPhonebook))
#define ORG_OFONO_IS_PHONEBOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ORG_OFONO_TYPE_PHONEBOOK))
#define ORG_OFONO_PHONEBOOK_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ORG_OFONO_TYPE_PHONEBOOK, orgofonoPhonebookIface))

typedef struct _orgofonoPhonebook orgofonoPhonebook;
typedef struct _orgofonoPhonebookIface orgofonoPhonebookIface;

#define ORG_OFONO_TYPE_PHONEBOOK_PROXY (org_ofono_phonebook_proxy_get_type ())

#define ORG_OFONO_TYPE_SIM_MANAGER (org_ofono_sim_manager_get_type ())
#define ORG_OFONO_SIM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ORG_OFONO_TYPE_SIM_MANAGER, orgofonoSimManager))
#define ORG_OFONO_IS_SIM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ORG_OFONO_TYPE_SIM_MANAGER))
#define ORG_OFONO_SIM_MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), ORG_OFONO_TYPE_SIM_MANAGER, orgofonoSimManagerIface))

typedef struct _orgofonoSimManager orgofonoSimManager;
typedef struct _orgofonoSimManagerIface orgofonoSimManagerIface;

#define ORG_OFONO_TYPE_SIM_MANAGER_PROXY (org_ofono_sim_manager_proxy_get_type ())

struct _FolksBackendsOfonoBackend {
	FolksBackend parent_instance;
	FolksBackendsOfonoBackendPrivate * priv;
};

struct _FolksBackendsOfonoBackendClass {
	FolksBackendClass parent_class;
};

struct _FolksBackendsOfonoPersonaStore {
	FolksPersonaStore parent_instance;
	FolksBackendsOfonoPersonaStorePrivate * priv;
};

struct _FolksBackendsOfonoPersonaStoreClass {
	FolksPersonaStoreClass parent_class;
};

struct _FolksBackendsOfonoPersona {
	FolksPersona parent_instance;
	FolksBackendsOfonoPersonaPrivate * priv;
};

struct _FolksBackendsOfonoPersonaClass {
	FolksPersonaClass parent_class;
};

struct _orgofonoModemProperties {
	char* path;
	GHashTable* properties;
};

struct _orgofonoManagerIface {
	GTypeInterface parent_iface;
	orgofonoModemProperties* (*GetModems) (orgofonoManager* self, gint* result_length1, GError** error);
};

struct _orgofonoPhonebookIface {
	GTypeInterface parent_iface;
	gchar* (*Import) (orgofonoPhonebook* self, GError** error);
};

struct _orgofonoSimManagerIface {
	GTypeInterface parent_iface;
	GHashTable* (*GetProperties) (orgofonoSimManager* self, GError** error);
};

VALA_EXTERN void module_init (FolksBackendStore* backend_store);
VALA_EXTERN void module_finalize (FolksBackendStore* backend_store);
VALA_EXTERN GType folks_backends_ofono_backend_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FolksBackendsOfonoBackend, g_object_unref)
VALA_EXTERN FolksBackendsOfonoBackend* folks_backends_ofono_backend_new (void);
VALA_EXTERN FolksBackendsOfonoBackend* folks_backends_ofono_backend_construct (GType object_type);
VALA_EXTERN GType folks_backends_ofono_persona_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FolksBackendsOfonoPersonaStore, g_object_unref)
VALA_EXTERN FolksBackendsOfonoPersonaStore* folks_backends_ofono_persona_store_new (const char* path,
                                                                        const gchar* alias);
VALA_EXTERN FolksBackendsOfonoPersonaStore* folks_backends_ofono_persona_store_construct (GType object_type,
                                                                              const char* path,
                                                                              const gchar* alias);
VALA_EXTERN GType folks_backends_ofono_persona_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FolksBackendsOfonoPersona, g_object_unref)
VALA_EXTERN FolksBackendsOfonoPersona* folks_backends_ofono_persona_new (const gchar* vcard,
                                                             FolksPersonaStore* store);
VALA_EXTERN FolksBackendsOfonoPersona* folks_backends_ofono_persona_construct (GType object_type,
                                                                   const gchar* vcard,
                                                                   FolksPersonaStore* store);
VALA_EXTERN GType org_ofono_modem_properties_get_type (void) G_GNUC_CONST ;
VALA_EXTERN orgofonoModemProperties* org_ofono_modem_properties_dup (const orgofonoModemProperties* self);
VALA_EXTERN void org_ofono_modem_properties_free (orgofonoModemProperties* self);
VALA_EXTERN void org_ofono_modem_properties_copy (const orgofonoModemProperties* self,
                                      orgofonoModemProperties* dest);
VALA_EXTERN void org_ofono_modem_properties_destroy (orgofonoModemProperties* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (orgofonoModemProperties, org_ofono_modem_properties_destroy)
VALA_EXTERN GType org_ofono_manager_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint org_ofono_manager_register_object (void* object,
                                         GDBusConnection* connection,
                                         const gchar* path,
                                         GError** error);
VALA_EXTERN GType org_ofono_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (orgofonoManager, g_object_unref)
VALA_EXTERN orgofonoModemProperties* org_ofono_manager_GetModems (orgofonoManager* self,
                                                      gint* result_length1,
                                                      GError** error);
VALA_EXTERN GType org_ofono_phonebook_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint org_ofono_phonebook_register_object (void* object,
                                           GDBusConnection* connection,
                                           const gchar* path,
                                           GError** error);
VALA_EXTERN GType org_ofono_phonebook_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (orgofonoPhonebook, g_object_unref)
VALA_EXTERN gchar* org_ofono_phonebook_Import (orgofonoPhonebook* self,
                                   GError** error);
VALA_EXTERN GType org_ofono_sim_manager_proxy_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint org_ofono_sim_manager_register_object (void* object,
                                             GDBusConnection* connection,
                                             const gchar* path,
                                             GError** error);
VALA_EXTERN GType org_ofono_sim_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (orgofonoSimManager, g_object_unref)
VALA_EXTERN GHashTable* org_ofono_sim_manager_GetProperties (orgofonoSimManager* self,
                                                 GError** error);

G_END_DECLS

#endif
