/* isisimmediators.c generated by valac 0.14.2, the Vala compiler
 * generated from isisimmediators.vala, do not modify */

/*
 * Copyright (C) 2010-2011 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
 *               2011 Klaus 'mrmoku' Kurzmann <mok@fluxnetz.de>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
 *
 */

#include <glib.h>
#include <glib-object.h>
#include <fsogsm.h>
#include <gio/gio.h>
#include <freesmartphone.h>
#include <gisicomm.h>
#include <stdlib.h>
#include <string.h>
#include <simauth.h>
#include <fsobasics.h>


#define NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS (nokia_isi_isi_sim_get_auth_status_get_type ())
#define NOKIA_ISI_ISI_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS, NokiaIsiIsiSimGetAuthStatus))
#define NOKIA_ISI_ISI_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS, NokiaIsiIsiSimGetAuthStatusClass))
#define NOKIA_ISI_IS_ISI_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS))
#define NOKIA_ISI_IS_ISI_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS))
#define NOKIA_ISI_ISI_SIM_GET_AUTH_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS, NokiaIsiIsiSimGetAuthStatusClass))

typedef struct _NokiaIsiIsiSimGetAuthStatus NokiaIsiIsiSimGetAuthStatus;
typedef struct _NokiaIsiIsiSimGetAuthStatusClass NokiaIsiIsiSimGetAuthStatusClass;
typedef struct _NokiaIsiIsiSimGetAuthStatusPrivate NokiaIsiIsiSimGetAuthStatusPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block13Data Block13Data;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _NokiaIsiIsiSimGetAuthStatusRunData NokiaIsiIsiSimGetAuthStatusRunData;

#define NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION (nokia_isi_isi_sim_get_information_get_type ())
#define NOKIA_ISI_ISI_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION, NokiaIsiIsiSimGetInformation))
#define NOKIA_ISI_ISI_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION, NokiaIsiIsiSimGetInformationClass))
#define NOKIA_ISI_IS_ISI_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION))
#define NOKIA_ISI_IS_ISI_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION))
#define NOKIA_ISI_ISI_SIM_GET_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION, NokiaIsiIsiSimGetInformationClass))

typedef struct _NokiaIsiIsiSimGetInformation NokiaIsiIsiSimGetInformation;
typedef struct _NokiaIsiIsiSimGetInformationClass NokiaIsiIsiSimGetInformationClass;
typedef struct _NokiaIsiIsiSimGetInformationPrivate NokiaIsiIsiSimGetInformationPrivate;
typedef struct _Block14Data Block14Data;
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
typedef struct _NokiaIsiIsiSimGetInformationRunData NokiaIsiIsiSimGetInformationRunData;

#define NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE (nokia_isi_isi_sim_send_auth_code_get_type ())
#define NOKIA_ISI_ISI_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE, NokiaIsiIsiSimSendAuthCode))
#define NOKIA_ISI_ISI_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE, NokiaIsiIsiSimSendAuthCodeClass))
#define NOKIA_ISI_IS_ISI_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE))
#define NOKIA_ISI_IS_ISI_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE))
#define NOKIA_ISI_ISI_SIM_SEND_AUTH_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE, NokiaIsiIsiSimSendAuthCodeClass))

typedef struct _NokiaIsiIsiSimSendAuthCode NokiaIsiIsiSimSendAuthCode;
typedef struct _NokiaIsiIsiSimSendAuthCodeClass NokiaIsiIsiSimSendAuthCodeClass;
typedef struct _NokiaIsiIsiSimSendAuthCodePrivate NokiaIsiIsiSimSendAuthCodePrivate;
typedef struct _Block15Data Block15Data;
typedef struct _NokiaIsiIsiSimSendAuthCodeRunData NokiaIsiIsiSimSendAuthCodeRunData;

#define NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED (nokia_isi_isi_sim_get_auth_code_required_get_type ())
#define NOKIA_ISI_ISI_SIM_GET_AUTH_CODE_REQUIRED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED, NokiaIsiIsiSimGetAuthCodeRequired))
#define NOKIA_ISI_ISI_SIM_GET_AUTH_CODE_REQUIRED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED, NokiaIsiIsiSimGetAuthCodeRequiredClass))
#define NOKIA_ISI_IS_ISI_SIM_GET_AUTH_CODE_REQUIRED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED))
#define NOKIA_ISI_IS_ISI_SIM_GET_AUTH_CODE_REQUIRED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED))
#define NOKIA_ISI_ISI_SIM_GET_AUTH_CODE_REQUIRED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED, NokiaIsiIsiSimGetAuthCodeRequiredClass))

typedef struct _NokiaIsiIsiSimGetAuthCodeRequired NokiaIsiIsiSimGetAuthCodeRequired;
typedef struct _NokiaIsiIsiSimGetAuthCodeRequiredClass NokiaIsiIsiSimGetAuthCodeRequiredClass;
typedef struct _NokiaIsiIsiSimGetAuthCodeRequiredPrivate NokiaIsiIsiSimGetAuthCodeRequiredPrivate;
typedef struct _Block16Data Block16Data;
typedef struct _NokiaIsiIsiSimGetAuthCodeRequiredRunData NokiaIsiIsiSimGetAuthCodeRequiredRunData;

#define NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE (nokia_isi_isi_sim_change_auth_code_get_type ())
#define NOKIA_ISI_ISI_SIM_CHANGE_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE, NokiaIsiIsiSimChangeAuthCode))
#define NOKIA_ISI_ISI_SIM_CHANGE_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE, NokiaIsiIsiSimChangeAuthCodeClass))
#define NOKIA_ISI_IS_ISI_SIM_CHANGE_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE))
#define NOKIA_ISI_IS_ISI_SIM_CHANGE_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE))
#define NOKIA_ISI_ISI_SIM_CHANGE_AUTH_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE, NokiaIsiIsiSimChangeAuthCodeClass))

typedef struct _NokiaIsiIsiSimChangeAuthCode NokiaIsiIsiSimChangeAuthCode;
typedef struct _NokiaIsiIsiSimChangeAuthCodeClass NokiaIsiIsiSimChangeAuthCodeClass;
typedef struct _NokiaIsiIsiSimChangeAuthCodePrivate NokiaIsiIsiSimChangeAuthCodePrivate;
typedef struct _Block17Data Block17Data;
typedef struct _NokiaIsiIsiSimChangeAuthCodeRunData NokiaIsiIsiSimChangeAuthCodeRunData;

struct _NokiaIsiIsiSimGetAuthStatus {
	FsoGsmSimGetAuthStatus parent_instance;
	NokiaIsiIsiSimGetAuthStatusPrivate * priv;
};

struct _NokiaIsiIsiSimGetAuthStatusClass {
	FsoGsmSimGetAuthStatusClass parent_class;
};

struct _Block13Data {
	int _ref_count_;
	NokiaIsiIsiSimGetAuthStatus * self;
	gint isicode;
	gpointer _async_data_;
};

struct _NokiaIsiIsiSimGetAuthStatusRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	NokiaIsiIsiSimGetAuthStatus* self;
	Block13Data* _data13_;
	GIsiCommModemAccess* _tmp0_;
	GIsiCommSIMAuth* _tmp1_;
	gint _tmp2_;
	GError* _tmp3_;
	FsoGsmModem* _tmp4_;
	FsoFrameworkLogger* _tmp5_;
	gint _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	GError * _inner_error_;
};

struct _NokiaIsiIsiSimGetInformation {
	FsoGsmSimGetInformation parent_instance;
	NokiaIsiIsiSimGetInformationPrivate * priv;
};

struct _NokiaIsiIsiSimGetInformationClass {
	FsoGsmSimGetInformationClass parent_class;
};

struct _Block14Data {
	int _ref_count_;
	NokiaIsiIsiSimGetInformation * self;
	gpointer _async_data_;
};

struct _NokiaIsiIsiSimGetInformationRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	NokiaIsiIsiSimGetInformation* self;
	Block14Data* _data14_;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	GHashTable* _tmp3_;
	GIsiCommModemAccess* _tmp4_;
	GIsiCommSIM* _tmp5_;
	GIsiCommModemAccess* _tmp6_;
	GIsiCommSIM* _tmp7_;
	GIsiCommModemAccess* _tmp8_;
	GIsiCommSIM* _tmp9_;
};

struct _NokiaIsiIsiSimSendAuthCode {
	FsoGsmSimSendAuthCode parent_instance;
	NokiaIsiIsiSimSendAuthCodePrivate * priv;
};

struct _NokiaIsiIsiSimSendAuthCodeClass {
	FsoGsmSimSendAuthCodeClass parent_class;
};

struct _Block15Data {
	int _ref_count_;
	NokiaIsiIsiSimSendAuthCode * self;
	gint isicode;
	gpointer _async_data_;
};

struct _NokiaIsiIsiSimSendAuthCodeRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	NokiaIsiIsiSimSendAuthCode* self;
	gchar* pin;
	Block15Data* _data15_;
	GIsiCommModemAccess* _tmp0_;
	GIsiCommSIMAuth* _tmp1_;
	const gchar* _tmp2_;
	gint _tmp3_;
	FsoGsmModem* _tmp4_;
	gint _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	GError* _tmp10_;
	GError* _tmp11_;
	gint _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	GError* _tmp17_;
	GError* _tmp18_;
	GError * _inner_error_;
};

struct _NokiaIsiIsiSimGetAuthCodeRequired {
	FsoGsmSimGetAuthCodeRequired parent_instance;
	NokiaIsiIsiSimGetAuthCodeRequiredPrivate * priv;
};

struct _NokiaIsiIsiSimGetAuthCodeRequiredClass {
	FsoGsmSimGetAuthCodeRequiredClass parent_class;
};

struct _Block16Data {
	int _ref_count_;
	NokiaIsiIsiSimGetAuthCodeRequired * self;
	gboolean required;
	gboolean ok;
	gpointer _async_data_;
};

struct _NokiaIsiIsiSimGetAuthCodeRequiredRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	NokiaIsiIsiSimGetAuthCodeRequired* self;
	Block16Data* _data16_;
	GIsiCommModemAccess* _tmp0_;
	GIsiCommSIMAuth* _tmp1_;
	gboolean _tmp2_;
	GError* _tmp3_;
	GError * _inner_error_;
};

struct _NokiaIsiIsiSimChangeAuthCode {
	FsoGsmSimChangeAuthCode parent_instance;
	NokiaIsiIsiSimChangeAuthCodePrivate * priv;
};

struct _NokiaIsiIsiSimChangeAuthCodeClass {
	FsoGsmSimChangeAuthCodeClass parent_class;
};

struct _Block17Data {
	int _ref_count_;
	NokiaIsiIsiSimChangeAuthCode * self;
	gboolean ok;
	gpointer _async_data_;
};

struct _NokiaIsiIsiSimChangeAuthCodeRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	NokiaIsiIsiSimChangeAuthCode* self;
	gchar* oldpin;
	gchar* newpin;
	Block17Data* _data17_;
	GIsiCommModemAccess* _tmp0_;
	GIsiCommSIMAuth* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gboolean _tmp4_;
	GError* _tmp5_;
	GError * _inner_error_;
};


static gpointer nokia_isi_isi_sim_get_auth_status_parent_class = NULL;
extern GIsiCommModemAccess* nokia_isi_isimodem;
static GType nokia_isi_isi_sim_get_auth_status_type_id = 0;
static gpointer nokia_isi_isi_sim_get_information_parent_class = NULL;
static GType nokia_isi_isi_sim_get_information_type_id = 0;
static gpointer nokia_isi_isi_sim_send_auth_code_parent_class = NULL;
static GType nokia_isi_isi_sim_send_auth_code_type_id = 0;
static gpointer nokia_isi_isi_sim_get_auth_code_required_parent_class = NULL;
static GType nokia_isi_isi_sim_get_auth_code_required_type_id = 0;
static gpointer nokia_isi_isi_sim_change_auth_code_parent_class = NULL;
static GType nokia_isi_isi_sim_change_auth_code_type_id = 0;

GType nokia_isi_isi_sim_get_auth_status_get_type (void) G_GNUC_CONST;
GType nokia_isi_isi_sim_get_auth_status_register_type (GTypeModule * module);
enum  {
	NOKIA_ISI_ISI_SIM_GET_AUTH_STATUS_DUMMY_PROPERTY
};
static void nokia_isi_isi_sim_get_auth_status_real_run_data_free (gpointer _data);
static void nokia_isi_isi_sim_get_auth_status_real_run (FsoGsmSimGetAuthStatus* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean nokia_isi_isi_sim_get_auth_status_real_run_co (NokiaIsiIsiSimGetAuthStatusRunData* _data_);
static Block13Data* block13_data_ref (Block13Data* _data13_);
static void block13_data_unref (Block13Data* _data13_);
static void __lambda3_ (Block13Data* _data13_, GIsiCommErrorCode _error_, gint code);
const gchar* gisi_comm_error_code_to_string (GIsiCommErrorCode self);
static void ___lambda3__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self);
NokiaIsiIsiSimGetAuthStatus* nokia_isi_isi_sim_get_auth_status_new (void);
NokiaIsiIsiSimGetAuthStatus* nokia_isi_isi_sim_get_auth_status_construct (GType object_type);
GType nokia_isi_isi_sim_get_information_get_type (void) G_GNUC_CONST;
GType nokia_isi_isi_sim_get_information_register_type (GTypeModule * module);
enum  {
	NOKIA_ISI_ISI_SIM_GET_INFORMATION_DUMMY_PROPERTY
};
static void nokia_isi_isi_sim_get_information_real_run_data_free (gpointer _data);
static void nokia_isi_isi_sim_get_information_real_run (FsoGsmSimGetInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean nokia_isi_isi_sim_get_information_real_run_co (NokiaIsiIsiSimGetInformationRunData* _data_);
static Block14Data* block14_data_ref (Block14Data* _data14_);
static void block14_data_unref (Block14Data* _data14_);
static void _g_free0_ (gpointer var);
static void _g_variant_unref0_ (gpointer var);
static void __lambda10_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg);
static GVariant* _variant_new20 (const gchar* value);
static void ___lambda10__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self);
static void __lambda11_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg);
static GVariant* _variant_new21 (const gchar* value);
static void ___lambda11__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self);
static void __lambda12_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg);
static GVariant* _variant_new22 (const gchar* value);
static void ___lambda12__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self);
NokiaIsiIsiSimGetInformation* nokia_isi_isi_sim_get_information_new (void);
NokiaIsiIsiSimGetInformation* nokia_isi_isi_sim_get_information_construct (GType object_type);
GType nokia_isi_isi_sim_send_auth_code_get_type (void) G_GNUC_CONST;
GType nokia_isi_isi_sim_send_auth_code_register_type (GTypeModule * module);
enum  {
	NOKIA_ISI_ISI_SIM_SEND_AUTH_CODE_DUMMY_PROPERTY
};
static void nokia_isi_isi_sim_send_auth_code_real_run_data_free (gpointer _data);
static void nokia_isi_isi_sim_send_auth_code_real_run (FsoGsmSimSendAuthCode* base, const gchar* pin, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean nokia_isi_isi_sim_send_auth_code_real_run_co (NokiaIsiIsiSimSendAuthCodeRunData* _data_);
static Block15Data* block15_data_ref (Block15Data* _data15_);
static void block15_data_unref (Block15Data* _data15_);
static void __lambda13_ (Block15Data* _data15_, GIsiCommErrorCode _error_, gint code);
static void ___lambda13__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self);
NokiaIsiIsiSimSendAuthCode* nokia_isi_isi_sim_send_auth_code_new (void);
NokiaIsiIsiSimSendAuthCode* nokia_isi_isi_sim_send_auth_code_construct (GType object_type);
GType nokia_isi_isi_sim_get_auth_code_required_get_type (void) G_GNUC_CONST;
GType nokia_isi_isi_sim_get_auth_code_required_register_type (GTypeModule * module);
enum  {
	NOKIA_ISI_ISI_SIM_GET_AUTH_CODE_REQUIRED_DUMMY_PROPERTY
};
static void nokia_isi_isi_sim_get_auth_code_required_real_run_data_free (gpointer _data);
static void nokia_isi_isi_sim_get_auth_code_required_real_run (FsoGsmSimGetAuthCodeRequired* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean nokia_isi_isi_sim_get_auth_code_required_real_run_co (NokiaIsiIsiSimGetAuthCodeRequiredRunData* _data_);
static Block16Data* block16_data_ref (Block16Data* _data16_);
static void block16_data_unref (Block16Data* _data16_);
static void __lambda14_ (Block16Data* _data16_, GIsiCommErrorCode err, gint code);
static void ___lambda14__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self);
NokiaIsiIsiSimGetAuthCodeRequired* nokia_isi_isi_sim_get_auth_code_required_new (void);
NokiaIsiIsiSimGetAuthCodeRequired* nokia_isi_isi_sim_get_auth_code_required_construct (GType object_type);
GType nokia_isi_isi_sim_change_auth_code_get_type (void) G_GNUC_CONST;
GType nokia_isi_isi_sim_change_auth_code_register_type (GTypeModule * module);
enum  {
	NOKIA_ISI_ISI_SIM_CHANGE_AUTH_CODE_DUMMY_PROPERTY
};
static void nokia_isi_isi_sim_change_auth_code_real_run_data_free (gpointer _data);
static void nokia_isi_isi_sim_change_auth_code_real_run (FsoGsmSimChangeAuthCode* base, const gchar* oldpin, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean nokia_isi_isi_sim_change_auth_code_real_run_co (NokiaIsiIsiSimChangeAuthCodeRunData* _data_);
static Block17Data* block17_data_ref (Block17Data* _data17_);
static void block17_data_unref (Block17Data* _data17_);
static void __lambda15_ (Block17Data* _data17_, GIsiCommErrorCode err);
static void ___lambda15__gisi_comm_void_result_func (GIsiCommErrorCode _error_, gpointer self);
NokiaIsiIsiSimChangeAuthCode* nokia_isi_isi_sim_change_auth_code_new (void);
NokiaIsiIsiSimChangeAuthCode* nokia_isi_isi_sim_change_auth_code_construct (GType object_type);


static void nokia_isi_isi_sim_get_auth_status_real_run_data_free (gpointer _data) {
	NokiaIsiIsiSimGetAuthStatusRunData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (NokiaIsiIsiSimGetAuthStatusRunData, _data_);
}


static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


static void nokia_isi_isi_sim_get_auth_status_real_run (FsoGsmSimGetAuthStatus* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	NokiaIsiIsiSimGetAuthStatus * self;
	NokiaIsiIsiSimGetAuthStatusRunData* _data_;
	NokiaIsiIsiSimGetAuthStatus* _tmp0_;
	self = (NokiaIsiIsiSimGetAuthStatus*) base;
	_data_ = g_slice_new0 (NokiaIsiIsiSimGetAuthStatusRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, nokia_isi_isi_sim_get_auth_status_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, nokia_isi_isi_sim_get_auth_status_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	nokia_isi_isi_sim_get_auth_status_real_run_co (_data_);
}


static void nokia_isi_isi_sim_get_auth_status_real_run_finish (FsoGsmSimGetAuthStatus* base, GAsyncResult* _res_, GError** error) {
	NokiaIsiIsiSimGetAuthStatusRunData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block13Data* block13_data_ref (Block13Data* _data13_) {
	g_atomic_int_inc (&_data13_->_ref_count_);
	return _data13_;
}


static void block13_data_unref (Block13Data* _data13_) {
	if (g_atomic_int_dec_and_test (&_data13_->_ref_count_)) {
		_g_object_unref0 (_data13_->self);
		g_slice_free (Block13Data, _data13_);
	}
}


static void __lambda3_ (Block13Data* _data13_, GIsiCommErrorCode _error_, gint code) {
	NokiaIsiIsiSimGetAuthStatus * self;
	GIsiCommErrorCode _tmp0_;
	gint _tmp4_;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_;
	gchar* _tmp7_ = NULL;
	gchar* _tmp8_;
	gint _tmp9_;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_;
	gint _tmp12_;
	GError * _inner_error_ = NULL;
	self = _data13_->self;
	_tmp0_ = _error_;
	if (_tmp0_ != GISI_COMM_ERROR_CODE_OK) {
		GIsiCommErrorCode _tmp1_;
		GEnumValue* _tmp2_;
		GError* _tmp3_;
		_tmp1_ = _error_;
		_tmp2_ = g_enum_get_value (g_type_class_ref (GISI_COMM_TYPE_ERROR_CODE), _tmp1_);
		_tmp3_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_DEVICE_FAILED, (_tmp2_ != NULL) ? _tmp2_->value_name : NULL);
		_inner_error_ = _tmp3_;
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
	_tmp4_ = code;
	_tmp5_ = g_strdup_printf ("%i", _tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = g_strconcat ("code = %d, ", _tmp6_, NULL);
	_tmp8_ = _tmp7_;
	_tmp9_ = code;
	_tmp10_ = g_strdup_printf (_tmp8_, _tmp9_);
	_tmp11_ = _tmp10_;
	g_debug ("isisimmediators.vala:42: %s", _tmp11_);
	_g_free0 (_tmp11_);
	_g_free0 (_tmp8_);
	_g_free0 (_tmp6_);
	_tmp12_ = code;
	_data13_->isicode = _tmp12_;
	nokia_isi_isi_sim_get_auth_status_real_run_co (_data13_->_async_data_);
}


static void ___lambda3__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self) {
	__lambda3_ (self, _error_, _result_);
}


static gboolean nokia_isi_isi_sim_get_auth_status_real_run_co (NokiaIsiIsiSimGetAuthStatusRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data13_ = g_slice_new0 (Block13Data);
	_data_->_data13_->_ref_count_ = 1;
	_data_->_data13_->self = g_object_ref (_data_->self);
	_data_->_data13_->_async_data_ = _data_;
	_data_->_data13_->isicode = 0;
	_data_->_tmp0_ = nokia_isi_isimodem;
	_data_->_tmp1_ = _data_->_tmp0_->simauth;
	gisi_comm_sim_auth_queryStatus (_data_->_tmp1_, ___lambda3__gisi_comm_int_result_func, block13_data_ref (_data_->_data13_), block13_data_unref);
	_data_->_state_ = 1;
	return FALSE;
	_state_1:
	;
	_data_->_tmp2_ = _data_->_data13_->isicode;
	switch (_data_->_tmp2_) {
		case SIM_AUTH_STATUS_RESP_RUNNING_NO_SIM:
		{
			_data_->_tmp3_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_NOT_PRESENT, "No SIM");
			_data_->_inner_error_ = _data_->_tmp3_;
			if ((_data_->_inner_error_->domain == FREE_SMARTPHONE_GSM_ERROR) || (_data_->_inner_error_->domain == FREE_SMARTPHONE_ERROR)) {
				g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
				g_error_free (_data_->_inner_error_);
				block13_data_unref (_data_->_data13_);
				_data_->_data13_ = NULL;
				if (_data_->_state_ == 0) {
					g_simple_async_result_complete_in_idle (_data_->_async_result);
				} else {
					g_simple_async_result_complete (_data_->_async_result);
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			} else {
				block13_data_unref (_data_->_data13_);
				_data_->_data13_ = NULL;
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
				g_clear_error (&_data_->_inner_error_);
				return FALSE;
			}
			break;
		}
		case SIM_AUTH_STATUS_RESP_RUNNING_UNPROTECTED:
		case SIM_AUTH_STATUS_RESP_RUNNING_AUTHORIZED:
		{
			((FsoGsmSimGetAuthStatus*) _data_->self)->status = FREE_SMARTPHONE_GSM_SIM_AUTH_STATUS_READY;
			break;
		}
		case SIM_AUTH_STATUS_RESP_NEED_PIN:
		{
			((FsoGsmSimGetAuthStatus*) _data_->self)->status = FREE_SMARTPHONE_GSM_SIM_AUTH_STATUS_PIN_REQUIRED;
			break;
		}
		case SIM_AUTH_STATUS_RESP_NEED_PUK:
		{
			((FsoGsmSimGetAuthStatus*) _data_->self)->status = FREE_SMARTPHONE_GSM_SIM_AUTH_STATUS_PUK_REQUIRED;
			break;
		}
		case SIM_AUTH_STATUS_RESP_INIT:
		{
			((FsoGsmSimGetAuthStatus*) _data_->self)->status = FREE_SMARTPHONE_GSM_SIM_AUTH_STATUS_READY;
			g_debug ("isisimmediators.vala:66: warning, SIMAuth Status = INIT...");
			break;
		}
		default:
		{
			_data_->_tmp4_ = fso_gsm_theModem;
			_data_->_tmp5_ = ((FsoFrameworkAbstractObject*) _data_->_tmp4_)->logger;
			_data_->_tmp6_ = _data_->_data13_->isicode;
			_data_->_tmp7_ = NULL;
			_data_->_tmp7_ = g_strdup_printf ("%i", _data_->_tmp6_);
			_data_->_tmp8_ = _data_->_tmp7_;
			_data_->_tmp9_ = NULL;
			_data_->_tmp9_ = g_strconcat ("Unhandled ISI SIMAuth.Status ", _data_->_tmp8_, NULL);
			_data_->_tmp10_ = _data_->_tmp9_;
			fso_framework_logger_warning (_data_->_tmp5_, _data_->_tmp10_);
			_g_free0 (_data_->_tmp10_);
			_g_free0 (_data_->_tmp8_);
			((FsoGsmSimGetAuthStatus*) _data_->self)->status = FREE_SMARTPHONE_GSM_SIM_AUTH_STATUS_UNKNOWN;
			break;
		}
	}
	block13_data_unref (_data_->_data13_);
	_data_->_data13_ = NULL;
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


NokiaIsiIsiSimGetAuthStatus* nokia_isi_isi_sim_get_auth_status_construct (GType object_type) {
	NokiaIsiIsiSimGetAuthStatus * self = NULL;
	self = (NokiaIsiIsiSimGetAuthStatus*) fso_gsm_sim_get_auth_status_construct (object_type);
	return self;
}


NokiaIsiIsiSimGetAuthStatus* nokia_isi_isi_sim_get_auth_status_new (void) {
	return nokia_isi_isi_sim_get_auth_status_construct (NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_STATUS);
}


static void nokia_isi_isi_sim_get_auth_status_class_init (NokiaIsiIsiSimGetAuthStatusClass * klass) {
	nokia_isi_isi_sim_get_auth_status_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_AUTH_STATUS_CLASS (klass)->run = nokia_isi_isi_sim_get_auth_status_real_run;
	FSO_GSM_SIM_GET_AUTH_STATUS_CLASS (klass)->run_finish = nokia_isi_isi_sim_get_auth_status_real_run_finish;
}


static void nokia_isi_isi_sim_get_auth_status_instance_init (NokiaIsiIsiSimGetAuthStatus * self) {
}


GType nokia_isi_isi_sim_get_auth_status_get_type (void) {
	return nokia_isi_isi_sim_get_auth_status_type_id;
}


GType nokia_isi_isi_sim_get_auth_status_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (NokiaIsiIsiSimGetAuthStatusClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) nokia_isi_isi_sim_get_auth_status_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NokiaIsiIsiSimGetAuthStatus), 0, (GInstanceInitFunc) nokia_isi_isi_sim_get_auth_status_instance_init, NULL };
	nokia_isi_isi_sim_get_auth_status_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_AUTH_STATUS, "NokiaIsiIsiSimGetAuthStatus", &g_define_type_info, 0);
	return nokia_isi_isi_sim_get_auth_status_type_id;
}


static void nokia_isi_isi_sim_get_information_real_run_data_free (gpointer _data) {
	NokiaIsiIsiSimGetInformationRunData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (NokiaIsiIsiSimGetInformationRunData, _data_);
}


static void nokia_isi_isi_sim_get_information_real_run (FsoGsmSimGetInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	NokiaIsiIsiSimGetInformation * self;
	NokiaIsiIsiSimGetInformationRunData* _data_;
	NokiaIsiIsiSimGetInformation* _tmp0_;
	self = (NokiaIsiIsiSimGetInformation*) base;
	_data_ = g_slice_new0 (NokiaIsiIsiSimGetInformationRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, nokia_isi_isi_sim_get_information_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, nokia_isi_isi_sim_get_information_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	nokia_isi_isi_sim_get_information_real_run_co (_data_);
}


static void nokia_isi_isi_sim_get_information_real_run_finish (FsoGsmSimGetInformation* base, GAsyncResult* _res_, GError** error) {
	NokiaIsiIsiSimGetInformationRunData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block14Data* block14_data_ref (Block14Data* _data14_) {
	g_atomic_int_inc (&_data14_->_ref_count_);
	return _data14_;
}


static void block14_data_unref (Block14Data* _data14_) {
	if (g_atomic_int_dec_and_test (&_data14_->_ref_count_)) {
		_g_object_unref0 (_data14_->self);
		g_slice_free (Block14Data, _data14_);
	}
}


static void _g_free0_ (gpointer var) {
	var = (g_free (var), NULL);
}


static void _g_variant_unref0_ (gpointer var) {
	(var == NULL) ? NULL : (var = (g_variant_unref (var), NULL));
}


static GVariant* _variant_new20 (const gchar* value) {
	return g_variant_ref_sink (g_variant_new_string (value));
}


static void __lambda10_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg) {
	NokiaIsiIsiSimGetInformation * self;
	const gchar* _tmp0_ = NULL;
	GIsiCommErrorCode _tmp1_;
	GHashTable* _tmp3_;
	GHashTable* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	GVariant* _tmp7_;
	self = _data14_->self;
	_tmp1_ = _error_;
	if (_tmp1_ != GISI_COMM_ERROR_CODE_OK) {
		_tmp0_ = "<unknown>";
	} else {
		const gchar* _tmp2_;
		_tmp2_ = msg;
		_tmp0_ = _tmp2_;
	}
	_tmp3_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup ("imsi");
	_tmp6_ = _tmp0_;
	_tmp7_ = _variant_new20 (_tmp6_);
	g_hash_table_insert (_tmp4_, _tmp5_, _tmp7_);
	nokia_isi_isi_sim_get_information_real_run_co (_data14_->_async_data_);
}


static void ___lambda10__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self) {
	__lambda10_ (self, _error_, _result_);
}


static GVariant* _variant_new21 (const gchar* value) {
	return g_variant_ref_sink (g_variant_new_string (value));
}


static void __lambda11_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg) {
	NokiaIsiIsiSimGetInformation * self;
	const gchar* _tmp0_ = NULL;
	GIsiCommErrorCode _tmp1_;
	GHashTable* _tmp3_;
	GHashTable* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	GVariant* _tmp7_;
	self = _data14_->self;
	_tmp1_ = _error_;
	if (_tmp1_ != GISI_COMM_ERROR_CODE_OK) {
		_tmp0_ = "<unknown>";
	} else {
		const gchar* _tmp2_;
		_tmp2_ = msg;
		_tmp0_ = _tmp2_;
	}
	_tmp3_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup ("issuer");
	_tmp6_ = _tmp0_;
	_tmp7_ = _variant_new21 (_tmp6_);
	g_hash_table_insert (_tmp4_, _tmp5_, _tmp7_);
	nokia_isi_isi_sim_get_information_real_run_co (_data14_->_async_data_);
}


static void ___lambda11__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self) {
	__lambda11_ (self, _error_, _result_);
}


static GVariant* _variant_new22 (const gchar* value) {
	return g_variant_ref_sink (g_variant_new_string (value));
}


static void __lambda12_ (Block14Data* _data14_, GIsiCommErrorCode _error_, const gchar* msg) {
	NokiaIsiIsiSimGetInformation * self;
	const gchar* _tmp0_ = NULL;
	GIsiCommErrorCode _tmp1_;
	GHashTable* _tmp3_;
	GHashTable* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	GVariant* _tmp7_;
	self = _data14_->self;
	_tmp1_ = _error_;
	if (_tmp1_ != GISI_COMM_ERROR_CODE_OK) {
		_tmp0_ = "<unknown>";
	} else {
		const gchar* _tmp2_;
		_tmp2_ = msg;
		_tmp0_ = _tmp2_;
	}
	_tmp3_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = g_strdup ("hplmn");
	_tmp6_ = _tmp0_;
	_tmp7_ = _variant_new22 (_tmp6_);
	g_hash_table_insert (_tmp4_, _tmp5_, _tmp7_);
	nokia_isi_isi_sim_get_information_real_run_co (_data14_->_async_data_);
}


static void ___lambda12__gisi_comm_string_result_func (GIsiCommErrorCode _error_, const gchar* _result_, gpointer self) {
	__lambda12_ (self, _error_, _result_);
}


static gboolean nokia_isi_isi_sim_get_information_real_run_co (NokiaIsiIsiSimGetInformationRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data14_ = g_slice_new0 (Block14Data);
	_data_->_data14_->_ref_count_ = 1;
	_data_->_data14_->self = g_object_ref (_data_->self);
	_data_->_data14_->_async_data_ = _data_;
	_data_->_tmp0_ = g_str_hash;
	_data_->_tmp1_ = g_str_equal;
	_data_->_tmp2_ = g_hash_table_new_full (_data_->_tmp0_, _data_->_tmp1_, _g_free0_, _g_variant_unref0_);
	_data_->_tmp3_ = _data_->_tmp2_;
	fso_gsm_sim_get_information_set_info ((FsoGsmSimGetInformation*) _data_->self, _data_->_tmp3_);
	_g_hash_table_unref0 (_data_->_tmp3_);
	_data_->_tmp4_ = nokia_isi_isimodem;
	_data_->_tmp5_ = _data_->_tmp4_->sim;
	gisi_comm_sim_readIMSI (_data_->_tmp5_, ___lambda10__gisi_comm_string_result_func, block14_data_ref (_data_->_data14_), block14_data_unref);
	_data_->_state_ = 1;
	return FALSE;
	_state_1:
	;
	_data_->_tmp6_ = nokia_isi_isimodem;
	_data_->_tmp7_ = _data_->_tmp6_->sim;
	gisi_comm_sim_readSPN (_data_->_tmp7_, ___lambda11__gisi_comm_string_result_func, block14_data_ref (_data_->_data14_), block14_data_unref);
	_data_->_state_ = 2;
	return FALSE;
	_state_2:
	;
	_data_->_tmp8_ = nokia_isi_isimodem;
	_data_->_tmp9_ = _data_->_tmp8_->sim;
	gisi_comm_sim_readHPLMN (_data_->_tmp9_, ___lambda12__gisi_comm_string_result_func, block14_data_ref (_data_->_data14_), block14_data_unref);
	_data_->_state_ = 3;
	return FALSE;
	_state_3:
	;
	block14_data_unref (_data_->_data14_);
	_data_->_data14_ = NULL;
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


NokiaIsiIsiSimGetInformation* nokia_isi_isi_sim_get_information_construct (GType object_type) {
	NokiaIsiIsiSimGetInformation * self = NULL;
	self = (NokiaIsiIsiSimGetInformation*) fso_gsm_sim_get_information_construct (object_type);
	return self;
}


NokiaIsiIsiSimGetInformation* nokia_isi_isi_sim_get_information_new (void) {
	return nokia_isi_isi_sim_get_information_construct (NOKIA_ISI_TYPE_ISI_SIM_GET_INFORMATION);
}


static void nokia_isi_isi_sim_get_information_class_init (NokiaIsiIsiSimGetInformationClass * klass) {
	nokia_isi_isi_sim_get_information_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_INFORMATION_CLASS (klass)->run = nokia_isi_isi_sim_get_information_real_run;
	FSO_GSM_SIM_GET_INFORMATION_CLASS (klass)->run_finish = nokia_isi_isi_sim_get_information_real_run_finish;
}


static void nokia_isi_isi_sim_get_information_instance_init (NokiaIsiIsiSimGetInformation * self) {
}


GType nokia_isi_isi_sim_get_information_get_type (void) {
	return nokia_isi_isi_sim_get_information_type_id;
}


GType nokia_isi_isi_sim_get_information_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (NokiaIsiIsiSimGetInformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) nokia_isi_isi_sim_get_information_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NokiaIsiIsiSimGetInformation), 0, (GInstanceInitFunc) nokia_isi_isi_sim_get_information_instance_init, NULL };
	nokia_isi_isi_sim_get_information_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_INFORMATION, "NokiaIsiIsiSimGetInformation", &g_define_type_info, 0);
	return nokia_isi_isi_sim_get_information_type_id;
}


static void nokia_isi_isi_sim_send_auth_code_real_run_data_free (gpointer _data) {
	NokiaIsiIsiSimSendAuthCodeRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pin);
	_g_object_unref0 (_data_->self);
	g_slice_free (NokiaIsiIsiSimSendAuthCodeRunData, _data_);
}


static void nokia_isi_isi_sim_send_auth_code_real_run (FsoGsmSimSendAuthCode* base, const gchar* pin, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	NokiaIsiIsiSimSendAuthCode * self;
	NokiaIsiIsiSimSendAuthCodeRunData* _data_;
	NokiaIsiIsiSimSendAuthCode* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	self = (NokiaIsiIsiSimSendAuthCode*) base;
	_data_ = g_slice_new0 (NokiaIsiIsiSimSendAuthCodeRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, nokia_isi_isi_sim_send_auth_code_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, nokia_isi_isi_sim_send_auth_code_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = pin;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->pin = _tmp2_;
	nokia_isi_isi_sim_send_auth_code_real_run_co (_data_);
}


static void nokia_isi_isi_sim_send_auth_code_real_run_finish (FsoGsmSimSendAuthCode* base, GAsyncResult* _res_, GError** error) {
	NokiaIsiIsiSimSendAuthCodeRunData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block15Data* block15_data_ref (Block15Data* _data15_) {
	g_atomic_int_inc (&_data15_->_ref_count_);
	return _data15_;
}


static void block15_data_unref (Block15Data* _data15_) {
	if (g_atomic_int_dec_and_test (&_data15_->_ref_count_)) {
		_g_object_unref0 (_data15_->self);
		g_slice_free (Block15Data, _data15_);
	}
}


static void __lambda13_ (Block15Data* _data15_, GIsiCommErrorCode _error_, gint code) {
	NokiaIsiIsiSimSendAuthCode * self;
	GIsiCommErrorCode _tmp0_;
	gint _tmp4_;
	GError * _inner_error_ = NULL;
	self = _data15_->self;
	_tmp0_ = _error_;
	if (_tmp0_ != GISI_COMM_ERROR_CODE_OK) {
		GIsiCommErrorCode _tmp1_;
		GEnumValue* _tmp2_;
		GError* _tmp3_;
		_tmp1_ = _error_;
		_tmp2_ = g_enum_get_value (g_type_class_ref (GISI_COMM_TYPE_ERROR_CODE), _tmp1_);
		_tmp3_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_DEVICE_FAILED, (_tmp2_ != NULL) ? _tmp2_->value_name : NULL);
		_inner_error_ = _tmp3_;
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
	_tmp4_ = code;
	_data15_->isicode = _tmp4_;
	nokia_isi_isi_sim_send_auth_code_real_run_co (_data15_->_async_data_);
}


static void ___lambda13__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self) {
	__lambda13_ (self, _error_, _result_);
}


static gboolean nokia_isi_isi_sim_send_auth_code_real_run_co (NokiaIsiIsiSimSendAuthCodeRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data15_ = g_slice_new0 (Block15Data);
	_data_->_data15_->_ref_count_ = 1;
	_data_->_data15_->self = g_object_ref (_data_->self);
	_data_->_data15_->_async_data_ = _data_;
	_data_->_data15_->isicode = 0;
	_data_->_tmp0_ = nokia_isi_isimodem;
	_data_->_tmp1_ = _data_->_tmp0_->simauth;
	_data_->_tmp2_ = _data_->pin;
	gisi_comm_sim_auth_sendPin (_data_->_tmp1_, _data_->_tmp2_, ___lambda13__gisi_comm_int_result_func, block15_data_ref (_data_->_data15_), block15_data_unref);
	_data_->_state_ = 1;
	return FALSE;
	_state_1:
	;
	_data_->_tmp3_ = _data_->_data15_->isicode;
	switch (_data_->_tmp3_) {
		case SIM_AUTH_IND_OK:
		{
			_data_->_tmp4_ = fso_gsm_theModem;
			fso_gsm_modem_advanceToState (_data_->_tmp4_, FSO_GSM_MODEM_STATUS_ALIVE_SIM_UNLOCKED, FALSE);
			break;
		}
		case SIM_AUTH_IND_PUK:
		{
			_data_->_tmp5_ = _data_->_data15_->isicode;
			_data_->_tmp6_ = NULL;
			_data_->_tmp6_ = g_strdup_printf ("%i", _data_->_tmp5_);
			_data_->_tmp7_ = _data_->_tmp6_;
			_data_->_tmp8_ = NULL;
			_data_->_tmp8_ = g_strconcat ("ISI Code = ", _data_->_tmp7_, NULL);
			_data_->_tmp9_ = _data_->_tmp8_;
			_data_->_tmp10_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_BLOCKED, _data_->_tmp9_);
			_data_->_tmp11_ = _data_->_tmp10_;
			_g_free0 (_data_->_tmp9_);
			_g_free0 (_data_->_tmp7_);
			_data_->_inner_error_ = _data_->_tmp11_;
			if ((_data_->_inner_error_->domain == FREE_SMARTPHONE_GSM_ERROR) || (_data_->_inner_error_->domain == FREE_SMARTPHONE_ERROR)) {
				g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
				g_error_free (_data_->_inner_error_);
				block15_data_unref (_data_->_data15_);
				_data_->_data15_ = NULL;
				if (_data_->_state_ == 0) {
					g_simple_async_result_complete_in_idle (_data_->_async_result);
				} else {
					g_simple_async_result_complete (_data_->_async_result);
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			} else {
				block15_data_unref (_data_->_data15_);
				_data_->_data15_ = NULL;
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
				g_clear_error (&_data_->_inner_error_);
				return FALSE;
			}
			break;
		}
		default:
		{
			_data_->_tmp12_ = _data_->_data15_->isicode;
			_data_->_tmp13_ = NULL;
			_data_->_tmp13_ = g_strdup_printf ("%i", _data_->_tmp12_);
			_data_->_tmp14_ = _data_->_tmp13_;
			_data_->_tmp15_ = NULL;
			_data_->_tmp15_ = g_strconcat ("ISI Code = ", _data_->_tmp14_, NULL);
			_data_->_tmp16_ = _data_->_tmp15_;
			_data_->_tmp17_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_AUTH_FAILED, _data_->_tmp16_);
			_data_->_tmp18_ = _data_->_tmp17_;
			_g_free0 (_data_->_tmp16_);
			_g_free0 (_data_->_tmp14_);
			_data_->_inner_error_ = _data_->_tmp18_;
			if ((_data_->_inner_error_->domain == FREE_SMARTPHONE_GSM_ERROR) || (_data_->_inner_error_->domain == FREE_SMARTPHONE_ERROR)) {
				g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
				g_error_free (_data_->_inner_error_);
				block15_data_unref (_data_->_data15_);
				_data_->_data15_ = NULL;
				if (_data_->_state_ == 0) {
					g_simple_async_result_complete_in_idle (_data_->_async_result);
				} else {
					g_simple_async_result_complete (_data_->_async_result);
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			} else {
				block15_data_unref (_data_->_data15_);
				_data_->_data15_ = NULL;
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
				g_clear_error (&_data_->_inner_error_);
				return FALSE;
			}
			break;
		}
	}
	block15_data_unref (_data_->_data15_);
	_data_->_data15_ = NULL;
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


NokiaIsiIsiSimSendAuthCode* nokia_isi_isi_sim_send_auth_code_construct (GType object_type) {
	NokiaIsiIsiSimSendAuthCode * self = NULL;
	self = (NokiaIsiIsiSimSendAuthCode*) fso_gsm_sim_send_auth_code_construct (object_type);
	return self;
}


NokiaIsiIsiSimSendAuthCode* nokia_isi_isi_sim_send_auth_code_new (void) {
	return nokia_isi_isi_sim_send_auth_code_construct (NOKIA_ISI_TYPE_ISI_SIM_SEND_AUTH_CODE);
}


static void nokia_isi_isi_sim_send_auth_code_class_init (NokiaIsiIsiSimSendAuthCodeClass * klass) {
	nokia_isi_isi_sim_send_auth_code_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_SEND_AUTH_CODE_CLASS (klass)->run = nokia_isi_isi_sim_send_auth_code_real_run;
	FSO_GSM_SIM_SEND_AUTH_CODE_CLASS (klass)->run_finish = nokia_isi_isi_sim_send_auth_code_real_run_finish;
}


static void nokia_isi_isi_sim_send_auth_code_instance_init (NokiaIsiIsiSimSendAuthCode * self) {
}


GType nokia_isi_isi_sim_send_auth_code_get_type (void) {
	return nokia_isi_isi_sim_send_auth_code_type_id;
}


GType nokia_isi_isi_sim_send_auth_code_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (NokiaIsiIsiSimSendAuthCodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) nokia_isi_isi_sim_send_auth_code_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NokiaIsiIsiSimSendAuthCode), 0, (GInstanceInitFunc) nokia_isi_isi_sim_send_auth_code_instance_init, NULL };
	nokia_isi_isi_sim_send_auth_code_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_SEND_AUTH_CODE, "NokiaIsiIsiSimSendAuthCode", &g_define_type_info, 0);
	return nokia_isi_isi_sim_send_auth_code_type_id;
}


static void nokia_isi_isi_sim_get_auth_code_required_real_run_data_free (gpointer _data) {
	NokiaIsiIsiSimGetAuthCodeRequiredRunData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (NokiaIsiIsiSimGetAuthCodeRequiredRunData, _data_);
}


static void nokia_isi_isi_sim_get_auth_code_required_real_run (FsoGsmSimGetAuthCodeRequired* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	NokiaIsiIsiSimGetAuthCodeRequired * self;
	NokiaIsiIsiSimGetAuthCodeRequiredRunData* _data_;
	NokiaIsiIsiSimGetAuthCodeRequired* _tmp0_;
	self = (NokiaIsiIsiSimGetAuthCodeRequired*) base;
	_data_ = g_slice_new0 (NokiaIsiIsiSimGetAuthCodeRequiredRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, nokia_isi_isi_sim_get_auth_code_required_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, nokia_isi_isi_sim_get_auth_code_required_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	nokia_isi_isi_sim_get_auth_code_required_real_run_co (_data_);
}


static void nokia_isi_isi_sim_get_auth_code_required_real_run_finish (FsoGsmSimGetAuthCodeRequired* base, GAsyncResult* _res_, GError** error) {
	NokiaIsiIsiSimGetAuthCodeRequiredRunData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block16Data* block16_data_ref (Block16Data* _data16_) {
	g_atomic_int_inc (&_data16_->_ref_count_);
	return _data16_;
}


static void block16_data_unref (Block16Data* _data16_) {
	if (g_atomic_int_dec_and_test (&_data16_->_ref_count_)) {
		_g_object_unref0 (_data16_->self);
		g_slice_free (Block16Data, _data16_);
	}
}


static void __lambda14_ (Block16Data* _data16_, GIsiCommErrorCode err, gint code) {
	NokiaIsiIsiSimGetAuthCodeRequired * self;
	GIsiCommErrorCode _tmp0_;
	self = _data16_->self;
	_tmp0_ = err;
	if (_tmp0_ == GISI_COMM_ERROR_CODE_OK) {
		gint _tmp1_;
		_tmp1_ = code;
		if (_tmp1_ == ((gint) SIM_AUTH_STATUS_RESP_RUNNING_UNPROTECTED)) {
			_data16_->required = FALSE;
		}
		_data16_->ok = TRUE;
	}
	nokia_isi_isi_sim_get_auth_code_required_real_run_co (_data16_->_async_data_);
}


static void ___lambda14__gisi_comm_int_result_func (GIsiCommErrorCode _error_, gint _result_, gpointer self) {
	__lambda14_ (self, _error_, _result_);
}


static gboolean nokia_isi_isi_sim_get_auth_code_required_real_run_co (NokiaIsiIsiSimGetAuthCodeRequiredRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data16_ = g_slice_new0 (Block16Data);
	_data_->_data16_->_ref_count_ = 1;
	_data_->_data16_->self = g_object_ref (_data_->self);
	_data_->_data16_->_async_data_ = _data_;
	_data_->_data16_->required = TRUE;
	_data_->_data16_->ok = FALSE;
	_data_->_tmp0_ = nokia_isi_isimodem;
	_data_->_tmp1_ = _data_->_tmp0_->simauth;
	gisi_comm_sim_auth_queryStatus (_data_->_tmp1_, ___lambda14__gisi_comm_int_result_func, block16_data_ref (_data_->_data16_), block16_data_unref);
	_data_->_state_ = 1;
	return FALSE;
	_state_1:
	;
	_data_->_tmp2_ = _data_->_data16_->ok;
	if (!_data_->_tmp2_) {
		_data_->_tmp3_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_DEVICE_FAILED, "Unkown ISI Error");
		_data_->_inner_error_ = _data_->_tmp3_;
		if ((_data_->_inner_error_->domain == FREE_SMARTPHONE_GSM_ERROR) || (_data_->_inner_error_->domain == FREE_SMARTPHONE_ERROR)) {
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
			g_error_free (_data_->_inner_error_);
			block16_data_unref (_data_->_data16_);
			_data_->_data16_ = NULL;
			if (_data_->_state_ == 0) {
				g_simple_async_result_complete_in_idle (_data_->_async_result);
			} else {
				g_simple_async_result_complete (_data_->_async_result);
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		} else {
			block16_data_unref (_data_->_data16_);
			_data_->_data16_ = NULL;
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
			g_clear_error (&_data_->_inner_error_);
			return FALSE;
		}
	}
	block16_data_unref (_data_->_data16_);
	_data_->_data16_ = NULL;
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


NokiaIsiIsiSimGetAuthCodeRequired* nokia_isi_isi_sim_get_auth_code_required_construct (GType object_type) {
	NokiaIsiIsiSimGetAuthCodeRequired * self = NULL;
	self = (NokiaIsiIsiSimGetAuthCodeRequired*) fso_gsm_sim_get_auth_code_required_construct (object_type);
	return self;
}


NokiaIsiIsiSimGetAuthCodeRequired* nokia_isi_isi_sim_get_auth_code_required_new (void) {
	return nokia_isi_isi_sim_get_auth_code_required_construct (NOKIA_ISI_TYPE_ISI_SIM_GET_AUTH_CODE_REQUIRED);
}


static void nokia_isi_isi_sim_get_auth_code_required_class_init (NokiaIsiIsiSimGetAuthCodeRequiredClass * klass) {
	nokia_isi_isi_sim_get_auth_code_required_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS (klass)->run = nokia_isi_isi_sim_get_auth_code_required_real_run;
	FSO_GSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS (klass)->run_finish = nokia_isi_isi_sim_get_auth_code_required_real_run_finish;
}


static void nokia_isi_isi_sim_get_auth_code_required_instance_init (NokiaIsiIsiSimGetAuthCodeRequired * self) {
}


GType nokia_isi_isi_sim_get_auth_code_required_get_type (void) {
	return nokia_isi_isi_sim_get_auth_code_required_type_id;
}


GType nokia_isi_isi_sim_get_auth_code_required_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (NokiaIsiIsiSimGetAuthCodeRequiredClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) nokia_isi_isi_sim_get_auth_code_required_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NokiaIsiIsiSimGetAuthCodeRequired), 0, (GInstanceInitFunc) nokia_isi_isi_sim_get_auth_code_required_instance_init, NULL };
	nokia_isi_isi_sim_get_auth_code_required_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_AUTH_CODE_REQUIRED, "NokiaIsiIsiSimGetAuthCodeRequired", &g_define_type_info, 0);
	return nokia_isi_isi_sim_get_auth_code_required_type_id;
}


static void nokia_isi_isi_sim_change_auth_code_real_run_data_free (gpointer _data) {
	NokiaIsiIsiSimChangeAuthCodeRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->oldpin);
	_g_free0 (_data_->newpin);
	_g_object_unref0 (_data_->self);
	g_slice_free (NokiaIsiIsiSimChangeAuthCodeRunData, _data_);
}


static void nokia_isi_isi_sim_change_auth_code_real_run (FsoGsmSimChangeAuthCode* base, const gchar* oldpin, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	NokiaIsiIsiSimChangeAuthCode * self;
	NokiaIsiIsiSimChangeAuthCodeRunData* _data_;
	NokiaIsiIsiSimChangeAuthCode* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	self = (NokiaIsiIsiSimChangeAuthCode*) base;
	_data_ = g_slice_new0 (NokiaIsiIsiSimChangeAuthCodeRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, nokia_isi_isi_sim_change_auth_code_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, nokia_isi_isi_sim_change_auth_code_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = oldpin;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->oldpin = _tmp2_;
	_tmp3_ = newpin;
	_tmp4_ = g_strdup (_tmp3_);
	_data_->newpin = _tmp4_;
	nokia_isi_isi_sim_change_auth_code_real_run_co (_data_);
}


static void nokia_isi_isi_sim_change_auth_code_real_run_finish (FsoGsmSimChangeAuthCode* base, GAsyncResult* _res_, GError** error) {
	NokiaIsiIsiSimChangeAuthCodeRunData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block17Data* block17_data_ref (Block17Data* _data17_) {
	g_atomic_int_inc (&_data17_->_ref_count_);
	return _data17_;
}


static void block17_data_unref (Block17Data* _data17_) {
	if (g_atomic_int_dec_and_test (&_data17_->_ref_count_)) {
		_g_object_unref0 (_data17_->self);
		g_slice_free (Block17Data, _data17_);
	}
}


static void __lambda15_ (Block17Data* _data17_, GIsiCommErrorCode err) {
	NokiaIsiIsiSimChangeAuthCode * self;
	GIsiCommErrorCode _tmp0_;
	self = _data17_->self;
	_tmp0_ = err;
	if (_tmp0_ != GISI_COMM_ERROR_CODE_OK) {
		_data17_->ok = FALSE;
	}
	nokia_isi_isi_sim_change_auth_code_real_run_co (_data17_->_async_data_);
}


static void ___lambda15__gisi_comm_void_result_func (GIsiCommErrorCode _error_, gpointer self) {
	__lambda15_ (self, _error_);
}


static gboolean nokia_isi_isi_sim_change_auth_code_real_run_co (NokiaIsiIsiSimChangeAuthCodeRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data17_ = g_slice_new0 (Block17Data);
	_data_->_data17_->_ref_count_ = 1;
	_data_->_data17_->self = g_object_ref (_data_->self);
	_data_->_data17_->_async_data_ = _data_;
	_data_->_data17_->ok = TRUE;
	_data_->_tmp0_ = nokia_isi_isimodem;
	_data_->_tmp1_ = _data_->_tmp0_->simauth;
	_data_->_tmp2_ = _data_->oldpin;
	_data_->_tmp3_ = _data_->newpin;
	gisi_comm_sim_auth_changePin (_data_->_tmp1_, _data_->_tmp2_, _data_->_tmp3_, ___lambda15__gisi_comm_void_result_func, block17_data_ref (_data_->_data17_), block17_data_unref, NULL, NULL);
	_data_->_state_ = 1;
	return FALSE;
	_state_1:
	;
	_data_->_tmp4_ = _data_->_data17_->ok;
	if (!_data_->_tmp4_) {
		_data_->_tmp5_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_DEVICE_FAILED, "Unkown ISI Error");
		_data_->_inner_error_ = _data_->_tmp5_;
		if ((_data_->_inner_error_->domain == FREE_SMARTPHONE_GSM_ERROR) || (_data_->_inner_error_->domain == FREE_SMARTPHONE_ERROR)) {
			g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
			g_error_free (_data_->_inner_error_);
			block17_data_unref (_data_->_data17_);
			_data_->_data17_ = NULL;
			if (_data_->_state_ == 0) {
				g_simple_async_result_complete_in_idle (_data_->_async_result);
			} else {
				g_simple_async_result_complete (_data_->_async_result);
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		} else {
			block17_data_unref (_data_->_data17_);
			_data_->_data17_ = NULL;
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
			g_clear_error (&_data_->_inner_error_);
			return FALSE;
		}
	}
	block17_data_unref (_data_->_data17_);
	_data_->_data17_ = NULL;
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


NokiaIsiIsiSimChangeAuthCode* nokia_isi_isi_sim_change_auth_code_construct (GType object_type) {
	NokiaIsiIsiSimChangeAuthCode * self = NULL;
	self = (NokiaIsiIsiSimChangeAuthCode*) fso_gsm_sim_change_auth_code_construct (object_type);
	return self;
}


NokiaIsiIsiSimChangeAuthCode* nokia_isi_isi_sim_change_auth_code_new (void) {
	return nokia_isi_isi_sim_change_auth_code_construct (NOKIA_ISI_TYPE_ISI_SIM_CHANGE_AUTH_CODE);
}


static void nokia_isi_isi_sim_change_auth_code_class_init (NokiaIsiIsiSimChangeAuthCodeClass * klass) {
	nokia_isi_isi_sim_change_auth_code_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_CHANGE_AUTH_CODE_CLASS (klass)->run = nokia_isi_isi_sim_change_auth_code_real_run;
	FSO_GSM_SIM_CHANGE_AUTH_CODE_CLASS (klass)->run_finish = nokia_isi_isi_sim_change_auth_code_real_run_finish;
}


static void nokia_isi_isi_sim_change_auth_code_instance_init (NokiaIsiIsiSimChangeAuthCode * self) {
}


GType nokia_isi_isi_sim_change_auth_code_get_type (void) {
	return nokia_isi_isi_sim_change_auth_code_type_id;
}


GType nokia_isi_isi_sim_change_auth_code_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (NokiaIsiIsiSimChangeAuthCodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) nokia_isi_isi_sim_change_auth_code_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NokiaIsiIsiSimChangeAuthCode), 0, (GInstanceInitFunc) nokia_isi_isi_sim_change_auth_code_instance_init, NULL };
	nokia_isi_isi_sim_change_auth_code_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_CHANGE_AUTH_CODE, "NokiaIsiIsiSimChangeAuthCode", &g_define_type_info, 0);
	return nokia_isi_isi_sim_change_auth_code_type_id;
}



