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

#ifndef __ASTAL_GREET_H__
#define __ASTAL_GREET_H__

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

G_BEGIN_DECLS

#define ASTAL_GREET_MAJOR_VERSION 0
#define ASTAL_GREET_MINOR_VERSION 1
#define ASTAL_GREET_MICRO_VERSION 0
#define ASTAL_GREET_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_GREET_TYPE_REQUEST (astal_greet_request_get_type ())
#define ASTAL_GREET_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_REQUEST, AstalGreetRequest))
#define ASTAL_GREET_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_REQUEST, AstalGreetRequestClass))
#define ASTAL_GREET_IS_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_REQUEST))
#define ASTAL_GREET_IS_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_REQUEST))
#define ASTAL_GREET_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_REQUEST, AstalGreetRequestClass))

typedef struct _AstalGreetRequest AstalGreetRequest;
typedef struct _AstalGreetRequestClass AstalGreetRequestClass;
typedef struct _AstalGreetRequestPrivate AstalGreetRequestPrivate;

#define ASTAL_GREET_TYPE_RESPONSE (astal_greet_response_get_type ())
#define ASTAL_GREET_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_RESPONSE, AstalGreetResponse))
#define ASTAL_GREET_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_RESPONSE, AstalGreetResponseClass))
#define ASTAL_GREET_IS_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_RESPONSE))
#define ASTAL_GREET_IS_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_RESPONSE))
#define ASTAL_GREET_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_RESPONSE, AstalGreetResponseClass))

typedef struct _AstalGreetResponse AstalGreetResponse;
typedef struct _AstalGreetResponseClass AstalGreetResponseClass;

#define ASTAL_GREET_TYPE_CREATE_SESSION (astal_greet_create_session_get_type ())
#define ASTAL_GREET_CREATE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_CREATE_SESSION, AstalGreetCreateSession))
#define ASTAL_GREET_CREATE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_CREATE_SESSION, AstalGreetCreateSessionClass))
#define ASTAL_GREET_IS_CREATE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_CREATE_SESSION))
#define ASTAL_GREET_IS_CREATE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_CREATE_SESSION))
#define ASTAL_GREET_CREATE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_CREATE_SESSION, AstalGreetCreateSessionClass))

typedef struct _AstalGreetCreateSession AstalGreetCreateSession;
typedef struct _AstalGreetCreateSessionClass AstalGreetCreateSessionClass;
typedef struct _AstalGreetCreateSessionPrivate AstalGreetCreateSessionPrivate;

#define ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE (astal_greet_post_auth_messsage_get_type ())
#define ASTAL_GREET_POST_AUTH_MESSSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE, AstalGreetPostAuthMesssage))
#define ASTAL_GREET_POST_AUTH_MESSSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE, AstalGreetPostAuthMesssageClass))
#define ASTAL_GREET_IS_POST_AUTH_MESSSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE))
#define ASTAL_GREET_IS_POST_AUTH_MESSSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE))
#define ASTAL_GREET_POST_AUTH_MESSSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_POST_AUTH_MESSSAGE, AstalGreetPostAuthMesssageClass))

typedef struct _AstalGreetPostAuthMesssage AstalGreetPostAuthMesssage;
typedef struct _AstalGreetPostAuthMesssageClass AstalGreetPostAuthMesssageClass;
typedef struct _AstalGreetPostAuthMesssagePrivate AstalGreetPostAuthMesssagePrivate;

#define ASTAL_GREET_TYPE_START_SESSION (astal_greet_start_session_get_type ())
#define ASTAL_GREET_START_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_START_SESSION, AstalGreetStartSession))
#define ASTAL_GREET_START_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_START_SESSION, AstalGreetStartSessionClass))
#define ASTAL_GREET_IS_START_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_START_SESSION))
#define ASTAL_GREET_IS_START_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_START_SESSION))
#define ASTAL_GREET_START_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_START_SESSION, AstalGreetStartSessionClass))

typedef struct _AstalGreetStartSession AstalGreetStartSession;
typedef struct _AstalGreetStartSessionClass AstalGreetStartSessionClass;
typedef struct _AstalGreetStartSessionPrivate AstalGreetStartSessionPrivate;

#define ASTAL_GREET_TYPE_CANCEL_SESSION (astal_greet_cancel_session_get_type ())
#define ASTAL_GREET_CANCEL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_CANCEL_SESSION, AstalGreetCancelSession))
#define ASTAL_GREET_CANCEL_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_CANCEL_SESSION, AstalGreetCancelSessionClass))
#define ASTAL_GREET_IS_CANCEL_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_CANCEL_SESSION))
#define ASTAL_GREET_IS_CANCEL_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_CANCEL_SESSION))
#define ASTAL_GREET_CANCEL_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_CANCEL_SESSION, AstalGreetCancelSessionClass))

typedef struct _AstalGreetCancelSession AstalGreetCancelSession;
typedef struct _AstalGreetCancelSessionClass AstalGreetCancelSessionClass;
typedef struct _AstalGreetCancelSessionPrivate AstalGreetCancelSessionPrivate;
typedef struct _AstalGreetResponsePrivate AstalGreetResponsePrivate;

#define ASTAL_GREET_TYPE_SUCCESS (astal_greet_success_get_type ())
#define ASTAL_GREET_SUCCESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_SUCCESS, AstalGreetSuccess))
#define ASTAL_GREET_SUCCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_SUCCESS, AstalGreetSuccessClass))
#define ASTAL_GREET_IS_SUCCESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_SUCCESS))
#define ASTAL_GREET_IS_SUCCESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_SUCCESS))
#define ASTAL_GREET_SUCCESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_SUCCESS, AstalGreetSuccessClass))

typedef struct _AstalGreetSuccess AstalGreetSuccess;
typedef struct _AstalGreetSuccessClass AstalGreetSuccessClass;
typedef struct _AstalGreetSuccessPrivate AstalGreetSuccessPrivate;

#define ASTAL_GREET_TYPE_ERROR (astal_greet_error_get_type ())
#define ASTAL_GREET_ERROR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_ERROR, AstalGreetError))
#define ASTAL_GREET_ERROR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_ERROR, AstalGreetErrorClass))
#define ASTAL_GREET_IS_ERROR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_ERROR))
#define ASTAL_GREET_IS_ERROR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_ERROR))
#define ASTAL_GREET_ERROR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_ERROR, AstalGreetErrorClass))

typedef struct _AstalGreetError AstalGreetError;
typedef struct _AstalGreetErrorClass AstalGreetErrorClass;
typedef struct _AstalGreetErrorPrivate AstalGreetErrorPrivate;
typedef enum  {
	ASTAL_GREET_ERROR_TYPE_AUTH_ERROR,
	ASTAL_GREET_ERROR_TYPE_ERROR
} AstalGreetErrorType;

#define ASTAL_GREET_ERROR_TYPE_TYPE (astal_greet_error_type_get_type ())

#define ASTAL_GREET_TYPE_AUTH_MESSAGE (astal_greet_auth_message_get_type ())
#define ASTAL_GREET_AUTH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_GREET_TYPE_AUTH_MESSAGE, AstalGreetAuthMessage))
#define ASTAL_GREET_AUTH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_GREET_TYPE_AUTH_MESSAGE, AstalGreetAuthMessageClass))
#define ASTAL_GREET_IS_AUTH_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_GREET_TYPE_AUTH_MESSAGE))
#define ASTAL_GREET_IS_AUTH_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_GREET_TYPE_AUTH_MESSAGE))
#define ASTAL_GREET_AUTH_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_GREET_TYPE_AUTH_MESSAGE, AstalGreetAuthMessageClass))

typedef struct _AstalGreetAuthMessage AstalGreetAuthMessage;
typedef struct _AstalGreetAuthMessageClass AstalGreetAuthMessageClass;
typedef struct _AstalGreetAuthMessagePrivate AstalGreetAuthMessagePrivate;
typedef enum  {
	ASTAL_GREET_AUTH_MESSAGE_TYPE_VISIBLE,
	ASTAL_GREET_AUTH_MESSAGE_TYPE_SECRET,
	ASTAL_GREET_AUTH_MESSAGE_TYPE_INFO,
	ASTAL_GREET_AUTH_MESSAGE_TYPE_ERROR
} AstalGreetAuthMessageType;

#define ASTAL_GREET_AUTH_MESSAGE_TYPE_TYPE (astal_greet_auth_message_type_get_type ())

struct _AstalGreetRequest {
	GObject parent_instance;
	AstalGreetRequestPrivate * priv;
};

struct _AstalGreetRequestClass {
	GObjectClass parent_class;
	const gchar* (*get_type_name) (AstalGreetRequest* self);
};

struct _AstalGreetCreateSession {
	AstalGreetRequest parent_instance;
	AstalGreetCreateSessionPrivate * priv;
};

struct _AstalGreetCreateSessionClass {
	AstalGreetRequestClass parent_class;
};

struct _AstalGreetPostAuthMesssage {
	AstalGreetRequest parent_instance;
	AstalGreetPostAuthMesssagePrivate * priv;
};

struct _AstalGreetPostAuthMesssageClass {
	AstalGreetRequestClass parent_class;
};

struct _AstalGreetStartSession {
	AstalGreetRequest parent_instance;
	AstalGreetStartSessionPrivate * priv;
};

struct _AstalGreetStartSessionClass {
	AstalGreetRequestClass parent_class;
};

struct _AstalGreetCancelSession {
	AstalGreetRequest parent_instance;
	AstalGreetCancelSessionPrivate * priv;
};

struct _AstalGreetCancelSessionClass {
	AstalGreetRequestClass parent_class;
};

struct _AstalGreetResponse {
	GObject parent_instance;
	AstalGreetResponsePrivate * priv;
};

struct _AstalGreetResponseClass {
	GObjectClass parent_class;
};

struct _AstalGreetSuccess {
	AstalGreetResponse parent_instance;
	AstalGreetSuccessPrivate * priv;
};

struct _AstalGreetSuccessClass {
	AstalGreetResponseClass parent_class;
};

struct _AstalGreetError {
	AstalGreetResponse parent_instance;
	AstalGreetErrorPrivate * priv;
};

struct _AstalGreetErrorClass {
	AstalGreetResponseClass parent_class;
};

struct _AstalGreetAuthMessage {
	AstalGreetResponse parent_instance;
	AstalGreetAuthMessagePrivate * priv;
};

struct _AstalGreetAuthMessageClass {
	AstalGreetResponseClass parent_class;
};

VALA_EXTERN void astal_greet_login (const gchar* username,
                        const gchar* password,
                        const gchar* cmd,
                        GAsyncReadyCallback _callback_,
                        gpointer _user_data_);
VALA_EXTERN void astal_greet_login_finish (GAsyncResult* _res_,
                               GError** error);
VALA_EXTERN void astal_greet_login_with_env (const gchar* username,
                                 const gchar* password,
                                 const gchar* cmd,
                                 gchar** env,
                                 gint env_length1,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);
VALA_EXTERN void astal_greet_login_with_env_finish (GAsyncResult* _res_,
                                        GError** error);
VALA_EXTERN GType astal_greet_request_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetRequest, g_object_unref)
VALA_EXTERN void astal_greet_request_send (AstalGreetRequest* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN GType astal_greet_response_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetResponse, g_object_unref)
VALA_EXTERN AstalGreetResponse* astal_greet_request_send_finish (AstalGreetRequest* self,
                                                     GAsyncResult* _res_,
                                                     GError** error);
VALA_EXTERN AstalGreetRequest* astal_greet_request_construct (GType object_type);
VALA_EXTERN const gchar* astal_greet_request_get_type_name (AstalGreetRequest* self);
VALA_EXTERN GType astal_greet_create_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetCreateSession, g_object_unref)
VALA_EXTERN AstalGreetCreateSession* astal_greet_create_session_new (const gchar* username);
VALA_EXTERN AstalGreetCreateSession* astal_greet_create_session_construct (GType object_type,
                                                               const gchar* username);
VALA_EXTERN const gchar* astal_greet_create_session_get_username (AstalGreetCreateSession* self);
VALA_EXTERN void astal_greet_create_session_set_username (AstalGreetCreateSession* self,
                                              const gchar* value);
VALA_EXTERN GType astal_greet_post_auth_messsage_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetPostAuthMesssage, g_object_unref)
VALA_EXTERN AstalGreetPostAuthMesssage* astal_greet_post_auth_messsage_new (const gchar* response);
VALA_EXTERN AstalGreetPostAuthMesssage* astal_greet_post_auth_messsage_construct (GType object_type,
                                                                      const gchar* response);
VALA_EXTERN const gchar* astal_greet_post_auth_messsage_get_response (AstalGreetPostAuthMesssage* self);
VALA_EXTERN void astal_greet_post_auth_messsage_set_response (AstalGreetPostAuthMesssage* self,
                                                  const gchar* value);
VALA_EXTERN GType astal_greet_start_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetStartSession, g_object_unref)
VALA_EXTERN AstalGreetStartSession* astal_greet_start_session_new (gchar** cmd,
                                                       gint cmd_length1,
                                                       gchar** env,
                                                       gint env_length1);
VALA_EXTERN AstalGreetStartSession* astal_greet_start_session_construct (GType object_type,
                                                             gchar** cmd,
                                                             gint cmd_length1,
                                                             gchar** env,
                                                             gint env_length1);
VALA_EXTERN gchar** astal_greet_start_session_get_cmd (AstalGreetStartSession* self,
                                           gint* result_length1);
VALA_EXTERN void astal_greet_start_session_set_cmd (AstalGreetStartSession* self,
                                        gchar** value,
                                        gint value_length1);
VALA_EXTERN gchar** astal_greet_start_session_get_env (AstalGreetStartSession* self,
                                           gint* result_length1);
VALA_EXTERN void astal_greet_start_session_set_env (AstalGreetStartSession* self,
                                        gchar** value,
                                        gint value_length1);
VALA_EXTERN GType astal_greet_cancel_session_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetCancelSession, g_object_unref)
VALA_EXTERN AstalGreetCancelSession* astal_greet_cancel_session_new (void);
VALA_EXTERN AstalGreetCancelSession* astal_greet_cancel_session_construct (GType object_type);
VALA_EXTERN AstalGreetResponse* astal_greet_response_construct (GType object_type);
VALA_EXTERN GType astal_greet_success_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetSuccess, g_object_unref)
VALA_EXTERN GType astal_greet_error_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetError, g_object_unref)
VALA_EXTERN GType astal_greet_error_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalGreetErrorType astal_greet_error_get_error_type (AstalGreetError* self);
VALA_EXTERN const gchar* astal_greet_error_get_description (AstalGreetError* self);
VALA_EXTERN GType astal_greet_auth_message_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalGreetAuthMessage, g_object_unref)
VALA_EXTERN GType astal_greet_auth_message_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalGreetAuthMessageType astal_greet_auth_message_get_message_type (AstalGreetAuthMessage* self);
VALA_EXTERN const gchar* astal_greet_auth_message_get_message (AstalGreetAuthMessage* self);

G_END_DECLS

#endif
