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

/*
 * Copyright (C) 2010-2011 Simon Busch <morphis@gravedo.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 <stdlib.h>
#include <string.h>
#include <msmcomm-specs.h>
#include <fsogsm.h>
#include <gio/gio.h>
#include <freesmartphone.h>
#include <fsobasics.h>
#include <fsotransport.h>

#define _g_free0(var) (var = (g_free (var), NULL))

#define TYPE_MSM_SIM_CHANGE_AUTH_CODE (msm_sim_change_auth_code_get_type ())
#define MSM_SIM_CHANGE_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_CHANGE_AUTH_CODE, MsmSimChangeAuthCode))
#define MSM_SIM_CHANGE_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_CHANGE_AUTH_CODE, MsmSimChangeAuthCodeClass))
#define IS_MSM_SIM_CHANGE_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_CHANGE_AUTH_CODE))
#define IS_MSM_SIM_CHANGE_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_CHANGE_AUTH_CODE))
#define MSM_SIM_CHANGE_AUTH_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_CHANGE_AUTH_CODE, MsmSimChangeAuthCodeClass))

typedef struct _MsmSimChangeAuthCode MsmSimChangeAuthCode;
typedef struct _MsmSimChangeAuthCodeClass MsmSimChangeAuthCodeClass;
typedef struct _MsmSimChangeAuthCodePrivate MsmSimChangeAuthCodePrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _MsmSimChangeAuthCodeRunData MsmSimChangeAuthCodeRunData;

#define TYPE_MSM_SIM_GET_AUTH_STATUS (msm_sim_get_auth_status_get_type ())
#define MSM_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_AUTH_STATUS, MsmSimGetAuthStatus))
#define MSM_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_AUTH_STATUS, MsmSimGetAuthStatusClass))
#define IS_MSM_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_AUTH_STATUS))
#define IS_MSM_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_AUTH_STATUS))
#define MSM_SIM_GET_AUTH_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_AUTH_STATUS, MsmSimGetAuthStatusClass))

typedef struct _MsmSimGetAuthStatus MsmSimGetAuthStatus;
typedef struct _MsmSimGetAuthStatusClass MsmSimGetAuthStatusClass;
typedef struct _MsmSimGetAuthStatusPrivate MsmSimGetAuthStatusPrivate;
typedef struct _MsmSimGetAuthStatusRunData MsmSimGetAuthStatusRunData;

#define TYPE_MSM_SIM_GET_INFORMATION (msm_sim_get_information_get_type ())
#define MSM_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_INFORMATION, MsmSimGetInformation))
#define MSM_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_INFORMATION, MsmSimGetInformationClass))
#define IS_MSM_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_INFORMATION))
#define IS_MSM_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_INFORMATION))
#define MSM_SIM_GET_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_INFORMATION, MsmSimGetInformationClass))

typedef struct _MsmSimGetInformation MsmSimGetInformation;
typedef struct _MsmSimGetInformationClass MsmSimGetInformationClass;
typedef struct _MsmSimGetInformationPrivate MsmSimGetInformationPrivate;
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))

#define TYPE_MSM_CHANNEL (msm_channel_get_type ())
#define MSM_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_CHANNEL, MsmChannel))
#define MSM_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_CHANNEL, MsmChannelClass))
#define IS_MSM_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_CHANNEL))
#define IS_MSM_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_CHANNEL))
#define MSM_CHANNEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_CHANNEL, MsmChannelClass))

typedef struct _MsmChannel MsmChannel;
typedef struct _MsmChannelClass MsmChannelClass;
typedef struct _MsmChannelPrivate MsmChannelPrivate;

#define TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER (msm_unsolicited_response_handler_get_type ())
#define MSM_UNSOLICITED_RESPONSE_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER, MsmUnsolicitedResponseHandler))
#define MSM_UNSOLICITED_RESPONSE_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER, MsmUnsolicitedResponseHandlerClass))
#define IS_MSM_UNSOLICITED_RESPONSE_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER))
#define IS_MSM_UNSOLICITED_RESPONSE_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER))
#define MSM_UNSOLICITED_RESPONSE_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_UNSOLICITED_RESPONSE_HANDLER, MsmUnsolicitedResponseHandlerClass))

typedef struct _MsmUnsolicitedResponseHandler MsmUnsolicitedResponseHandler;
typedef struct _MsmUnsolicitedResponseHandlerClass MsmUnsolicitedResponseHandlerClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _MsmSimGetInformationRunData MsmSimGetInformationRunData;

#define TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED (msm_sim_get_auth_code_required_get_type ())
#define MSM_SIM_GET_AUTH_CODE_REQUIRED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED, MsmSimGetAuthCodeRequired))
#define MSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED, MsmSimGetAuthCodeRequiredClass))
#define IS_MSM_SIM_GET_AUTH_CODE_REQUIRED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED))
#define IS_MSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED))
#define MSM_SIM_GET_AUTH_CODE_REQUIRED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED, MsmSimGetAuthCodeRequiredClass))

typedef struct _MsmSimGetAuthCodeRequired MsmSimGetAuthCodeRequired;
typedef struct _MsmSimGetAuthCodeRequiredClass MsmSimGetAuthCodeRequiredClass;
typedef struct _MsmSimGetAuthCodeRequiredPrivate MsmSimGetAuthCodeRequiredPrivate;

#define TYPE_MSM_PIN_STATUS (msm_pin_status_get_type ())
typedef struct _MsmSimGetAuthCodeRequiredRunData MsmSimGetAuthCodeRequiredRunData;

#define TYPE_MSM_SIM_SEND_AUTH_CODE (msm_sim_send_auth_code_get_type ())
#define MSM_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_SEND_AUTH_CODE, MsmSimSendAuthCode))
#define MSM_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_SEND_AUTH_CODE, MsmSimSendAuthCodeClass))
#define IS_MSM_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_SEND_AUTH_CODE))
#define IS_MSM_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_SEND_AUTH_CODE))
#define MSM_SIM_SEND_AUTH_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_SEND_AUTH_CODE, MsmSimSendAuthCodeClass))

typedef struct _MsmSimSendAuthCode MsmSimSendAuthCode;
typedef struct _MsmSimSendAuthCodeClass MsmSimSendAuthCodeClass;
typedef struct _MsmSimSendAuthCodePrivate MsmSimSendAuthCodePrivate;

#define TYPE_MSM_URC_TYPE (msm_urc_type_get_type ())
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
typedef struct _MsmSimSendAuthCodeRunData MsmSimSendAuthCodeRunData;

#define TYPE_MSM_SIM_DELETE_ENTRY (msm_sim_delete_entry_get_type ())
#define MSM_SIM_DELETE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_DELETE_ENTRY, MsmSimDeleteEntry))
#define MSM_SIM_DELETE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_DELETE_ENTRY, MsmSimDeleteEntryClass))
#define IS_MSM_SIM_DELETE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_DELETE_ENTRY))
#define IS_MSM_SIM_DELETE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_DELETE_ENTRY))
#define MSM_SIM_DELETE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_DELETE_ENTRY, MsmSimDeleteEntryClass))

typedef struct _MsmSimDeleteEntry MsmSimDeleteEntry;
typedef struct _MsmSimDeleteEntryClass MsmSimDeleteEntryClass;
typedef struct _MsmSimDeleteEntryPrivate MsmSimDeleteEntryPrivate;

#define TYPE_MSM_PHONEBOOK_HANDLER (msm_phonebook_handler_get_type ())
#define MSM_PHONEBOOK_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_PHONEBOOK_HANDLER, MsmPhonebookHandler))
#define MSM_PHONEBOOK_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_PHONEBOOK_HANDLER, MsmPhonebookHandlerClass))
#define IS_MSM_PHONEBOOK_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_PHONEBOOK_HANDLER))
#define IS_MSM_PHONEBOOK_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_PHONEBOOK_HANDLER))
#define MSM_PHONEBOOK_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_PHONEBOOK_HANDLER, MsmPhonebookHandlerClass))

typedef struct _MsmPhonebookHandler MsmPhonebookHandler;
typedef struct _MsmPhonebookHandlerClass MsmPhonebookHandlerClass;
typedef struct _MsmSimDeleteEntryRunData MsmSimDeleteEntryRunData;

#define TYPE_MSM_SIM_GET_PHONEBOOK_INFO (msm_sim_get_phonebook_info_get_type ())
#define MSM_SIM_GET_PHONEBOOK_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_PHONEBOOK_INFO, MsmSimGetPhonebookInfo))
#define MSM_SIM_GET_PHONEBOOK_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_PHONEBOOK_INFO, MsmSimGetPhonebookInfoClass))
#define IS_MSM_SIM_GET_PHONEBOOK_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_PHONEBOOK_INFO))
#define IS_MSM_SIM_GET_PHONEBOOK_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_PHONEBOOK_INFO))
#define MSM_SIM_GET_PHONEBOOK_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_PHONEBOOK_INFO, MsmSimGetPhonebookInfoClass))

typedef struct _MsmSimGetPhonebookInfo MsmSimGetPhonebookInfo;
typedef struct _MsmSimGetPhonebookInfoClass MsmSimGetPhonebookInfoClass;
typedef struct _MsmSimGetPhonebookInfoPrivate MsmSimGetPhonebookInfoPrivate;
typedef struct _MsmSimGetPhonebookInfoRunData MsmSimGetPhonebookInfoRunData;

#define TYPE_MSM_SIM_RETRIEVE_PHONEBOOK (msm_sim_retrieve_phonebook_get_type ())
#define MSM_SIM_RETRIEVE_PHONEBOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_RETRIEVE_PHONEBOOK, MsmSimRetrievePhonebook))
#define MSM_SIM_RETRIEVE_PHONEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_RETRIEVE_PHONEBOOK, MsmSimRetrievePhonebookClass))
#define IS_MSM_SIM_RETRIEVE_PHONEBOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_RETRIEVE_PHONEBOOK))
#define IS_MSM_SIM_RETRIEVE_PHONEBOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_RETRIEVE_PHONEBOOK))
#define MSM_SIM_RETRIEVE_PHONEBOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_RETRIEVE_PHONEBOOK, MsmSimRetrievePhonebookClass))

typedef struct _MsmSimRetrievePhonebook MsmSimRetrievePhonebook;
typedef struct _MsmSimRetrievePhonebookClass MsmSimRetrievePhonebookClass;
typedef struct _MsmSimRetrievePhonebookPrivate MsmSimRetrievePhonebookPrivate;
typedef struct _MsmSimRetrievePhonebookRunData MsmSimRetrievePhonebookRunData;

#define TYPE_MSM_SIM_WRITE_ENTRY (msm_sim_write_entry_get_type ())
#define MSM_SIM_WRITE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_WRITE_ENTRY, MsmSimWriteEntry))
#define MSM_SIM_WRITE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_WRITE_ENTRY, MsmSimWriteEntryClass))
#define IS_MSM_SIM_WRITE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_WRITE_ENTRY))
#define IS_MSM_SIM_WRITE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_WRITE_ENTRY))
#define MSM_SIM_WRITE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_WRITE_ENTRY, MsmSimWriteEntryClass))

typedef struct _MsmSimWriteEntry MsmSimWriteEntry;
typedef struct _MsmSimWriteEntryClass MsmSimWriteEntryClass;
typedef struct _MsmSimWriteEntryPrivate MsmSimWriteEntryPrivate;
typedef struct _MsmSimWriteEntryRunData MsmSimWriteEntryRunData;

#define TYPE_MSM_SIM_DELETE_MESSAGE (msm_sim_delete_message_get_type ())
#define MSM_SIM_DELETE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_DELETE_MESSAGE, MsmSimDeleteMessage))
#define MSM_SIM_DELETE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_DELETE_MESSAGE, MsmSimDeleteMessageClass))
#define IS_MSM_SIM_DELETE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_DELETE_MESSAGE))
#define IS_MSM_SIM_DELETE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_DELETE_MESSAGE))
#define MSM_SIM_DELETE_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_DELETE_MESSAGE, MsmSimDeleteMessageClass))

typedef struct _MsmSimDeleteMessage MsmSimDeleteMessage;
typedef struct _MsmSimDeleteMessageClass MsmSimDeleteMessageClass;
typedef struct _MsmSimDeleteMessagePrivate MsmSimDeleteMessagePrivate;
typedef struct _MsmSimDeleteMessageRunData MsmSimDeleteMessageRunData;

#define TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER (msm_sim_get_service_center_number_get_type ())
#define MSM_SIM_GET_SERVICE_CENTER_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER, MsmSimGetServiceCenterNumber))
#define MSM_SIM_GET_SERVICE_CENTER_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER, MsmSimGetServiceCenterNumberClass))
#define IS_MSM_SIM_GET_SERVICE_CENTER_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER))
#define IS_MSM_SIM_GET_SERVICE_CENTER_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER))
#define MSM_SIM_GET_SERVICE_CENTER_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER, MsmSimGetServiceCenterNumberClass))

typedef struct _MsmSimGetServiceCenterNumber MsmSimGetServiceCenterNumber;
typedef struct _MsmSimGetServiceCenterNumberClass MsmSimGetServiceCenterNumberClass;
typedef struct _MsmSimGetServiceCenterNumberPrivate MsmSimGetServiceCenterNumberPrivate;
typedef struct _MsmSimGetServiceCenterNumberRunData MsmSimGetServiceCenterNumberRunData;

#define TYPE_MSM_SIM_GET_UNLOCK_COUNTERS (msm_sim_get_unlock_counters_get_type ())
#define MSM_SIM_GET_UNLOCK_COUNTERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_GET_UNLOCK_COUNTERS, MsmSimGetUnlockCounters))
#define MSM_SIM_GET_UNLOCK_COUNTERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_GET_UNLOCK_COUNTERS, MsmSimGetUnlockCountersClass))
#define IS_MSM_SIM_GET_UNLOCK_COUNTERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_GET_UNLOCK_COUNTERS))
#define IS_MSM_SIM_GET_UNLOCK_COUNTERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_GET_UNLOCK_COUNTERS))
#define MSM_SIM_GET_UNLOCK_COUNTERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_GET_UNLOCK_COUNTERS, MsmSimGetUnlockCountersClass))

typedef struct _MsmSimGetUnlockCounters MsmSimGetUnlockCounters;
typedef struct _MsmSimGetUnlockCountersClass MsmSimGetUnlockCountersClass;
typedef struct _MsmSimGetUnlockCountersPrivate MsmSimGetUnlockCountersPrivate;
typedef struct _MsmSimGetUnlockCountersRunData MsmSimGetUnlockCountersRunData;

#define TYPE_MSM_SIM_RETRIEVE_MESSAGE (msm_sim_retrieve_message_get_type ())
#define MSM_SIM_RETRIEVE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_RETRIEVE_MESSAGE, MsmSimRetrieveMessage))
#define MSM_SIM_RETRIEVE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_RETRIEVE_MESSAGE, MsmSimRetrieveMessageClass))
#define IS_MSM_SIM_RETRIEVE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_RETRIEVE_MESSAGE))
#define IS_MSM_SIM_RETRIEVE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_RETRIEVE_MESSAGE))
#define MSM_SIM_RETRIEVE_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_RETRIEVE_MESSAGE, MsmSimRetrieveMessageClass))

typedef struct _MsmSimRetrieveMessage MsmSimRetrieveMessage;
typedef struct _MsmSimRetrieveMessageClass MsmSimRetrieveMessageClass;
typedef struct _MsmSimRetrieveMessagePrivate MsmSimRetrieveMessagePrivate;
typedef struct _MsmSimRetrieveMessageRunData MsmSimRetrieveMessageRunData;

#define TYPE_MSM_SIM_SEND_STORED_MESSAGE (msm_sim_send_stored_message_get_type ())
#define MSM_SIM_SEND_STORED_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_SEND_STORED_MESSAGE, MsmSimSendStoredMessage))
#define MSM_SIM_SEND_STORED_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_SEND_STORED_MESSAGE, MsmSimSendStoredMessageClass))
#define IS_MSM_SIM_SEND_STORED_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_SEND_STORED_MESSAGE))
#define IS_MSM_SIM_SEND_STORED_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_SEND_STORED_MESSAGE))
#define MSM_SIM_SEND_STORED_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_SEND_STORED_MESSAGE, MsmSimSendStoredMessageClass))

typedef struct _MsmSimSendStoredMessage MsmSimSendStoredMessage;
typedef struct _MsmSimSendStoredMessageClass MsmSimSendStoredMessageClass;
typedef struct _MsmSimSendStoredMessagePrivate MsmSimSendStoredMessagePrivate;
typedef struct _MsmSimSendStoredMessageRunData MsmSimSendStoredMessageRunData;

#define TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER (msm_sim_set_service_center_number_get_type ())
#define MSM_SIM_SET_SERVICE_CENTER_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER, MsmSimSetServiceCenterNumber))
#define MSM_SIM_SET_SERVICE_CENTER_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER, MsmSimSetServiceCenterNumberClass))
#define IS_MSM_SIM_SET_SERVICE_CENTER_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER))
#define IS_MSM_SIM_SET_SERVICE_CENTER_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER))
#define MSM_SIM_SET_SERVICE_CENTER_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER, MsmSimSetServiceCenterNumberClass))

typedef struct _MsmSimSetServiceCenterNumber MsmSimSetServiceCenterNumber;
typedef struct _MsmSimSetServiceCenterNumberClass MsmSimSetServiceCenterNumberClass;
typedef struct _MsmSimSetServiceCenterNumberPrivate MsmSimSetServiceCenterNumberPrivate;
typedef struct _MsmSimSetServiceCenterNumberRunData MsmSimSetServiceCenterNumberRunData;

#define TYPE_MSM_SIM_STORE_MESSAGE (msm_sim_store_message_get_type ())
#define MSM_SIM_STORE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_STORE_MESSAGE, MsmSimStoreMessage))
#define MSM_SIM_STORE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_STORE_MESSAGE, MsmSimStoreMessageClass))
#define IS_MSM_SIM_STORE_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_STORE_MESSAGE))
#define IS_MSM_SIM_STORE_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_STORE_MESSAGE))
#define MSM_SIM_STORE_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_STORE_MESSAGE, MsmSimStoreMessageClass))

typedef struct _MsmSimStoreMessage MsmSimStoreMessage;
typedef struct _MsmSimStoreMessageClass MsmSimStoreMessageClass;
typedef struct _MsmSimStoreMessagePrivate MsmSimStoreMessagePrivate;
typedef struct _MsmSimStoreMessageRunData MsmSimStoreMessageRunData;

#define TYPE_MSM_SIM_UNLOCK (msm_sim_unlock_get_type ())
#define MSM_SIM_UNLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MSM_SIM_UNLOCK, MsmSimUnlock))
#define MSM_SIM_UNLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MSM_SIM_UNLOCK, MsmSimUnlockClass))
#define IS_MSM_SIM_UNLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MSM_SIM_UNLOCK))
#define IS_MSM_SIM_UNLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MSM_SIM_UNLOCK))
#define MSM_SIM_UNLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MSM_SIM_UNLOCK, MsmSimUnlockClass))

typedef struct _MsmSimUnlock MsmSimUnlock;
typedef struct _MsmSimUnlockClass MsmSimUnlockClass;
typedef struct _MsmSimUnlockPrivate MsmSimUnlockPrivate;
typedef struct _MsmSimUnlockRunData MsmSimUnlockRunData;

struct _MsmSimChangeAuthCode {
	FsoGsmSimChangeAuthCode parent_instance;
	MsmSimChangeAuthCodePrivate * priv;
};

struct _MsmSimChangeAuthCodeClass {
	FsoGsmSimChangeAuthCodeClass parent_class;
};

struct _MsmSimChangeAuthCodeRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimChangeAuthCode* self;
	gchar* oldpin;
	gchar* newpin;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimGetAuthStatus {
	FsoGsmSimGetAuthStatus parent_instance;
	MsmSimGetAuthStatusPrivate * priv;
};

struct _MsmSimGetAuthStatusClass {
	FsoGsmSimGetAuthStatusClass parent_class;
};

struct _MsmSimGetAuthStatusRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetAuthStatus* self;
	FsoGsmModem* _tmp0_;
	FsoGsmModemData* _tmp1_;
	FsoGsmModemData* data;
	FreeSmartphoneGSMSIMAuthStatus _tmp2_;
};

struct _MsmSimGetInformation {
	FsoGsmSimGetInformation parent_instance;
	MsmSimGetInformationPrivate * priv;
};

struct _MsmSimGetInformationClass {
	FsoGsmSimGetInformationClass parent_class;
};

struct _MsmChannel {
	FsoFrameworkAbstractObject parent_instance;
	MsmChannelPrivate * priv;
	gchar* name;
	MsmUnsolicitedResponseHandler* urc_handler;
	MsmcommManagement* management_service;
	MsmcommState* state_service;
	MsmcommMisc* misc_service;
	MsmcommCall* call_service;
	MsmcommSim* sim_service;
	MsmcommPhonebook* phonebook_service;
	MsmcommNetwork* network_service;
	MsmcommSound* sound_service;
	MsmcommSms* sms_service;
};

struct _MsmChannelClass {
	FsoFrameworkAbstractObjectClass parent_class;
};

struct _MsmSimGetInformationRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetInformation* self;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	GHashTable* _tmp3_;
	FsoGsmModem* _tmp4_;
	FsoGsmChannel* _tmp5_;
	MsmChannel* channel;
	MsmChannel* _tmp6_;
	MsmcommSim* _tmp7_;
	MsmcommSimFieldInfo _tmp8_;
	MsmcommSimFieldInfo fi;
	GHashTable* _tmp9_;
	GHashTable* _tmp10_;
	gchar* _tmp11_;
	MsmcommSimFieldInfo _tmp12_;
	const gchar* _tmp13_;
	GVariant* _tmp14_;
	MsmChannel* _tmp15_;
	MsmcommSim* _tmp16_;
	MsmcommSimFieldInfo _tmp17_;
	MsmcommSimFieldInfo _tmp18_;
	GHashTable* _tmp19_;
	GHashTable* _tmp20_;
	gchar* _tmp21_;
	MsmcommSimFieldInfo _tmp22_;
	const gchar* _tmp23_;
	GVariant* _tmp24_;
	GHashTable* _tmp25_;
	GHashTable* _tmp26_;
	gchar* _tmp27_;
	GVariant* _tmp28_;
	GError* err0;
	GError* err1;
	GError* _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	gchar* _tmp32_;
	gchar* msg;
	const gchar* _tmp33_;
	GError* _tmp34_;
	GError * _inner_error_;
};

struct _MsmSimGetAuthCodeRequired {
	FsoGsmSimGetAuthCodeRequired parent_instance;
	MsmSimGetAuthCodeRequiredPrivate * priv;
};

struct _MsmSimGetAuthCodeRequiredClass {
	FsoGsmSimGetAuthCodeRequiredClass parent_class;
};

typedef enum  {
	MSM_PIN_STATUS_DISABLED,
	MSM_PIN_STATUS_ENABLED,
	MSM_PIN_STATUS_BLOCKED,
	MSM_PIN_STATUS_PERM_BLOCKED
} MsmPinStatus;

struct _MsmSimGetAuthCodeRequiredRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetAuthCodeRequired* self;
	MsmPinStatus _tmp0_;
};

struct _MsmSimSendAuthCode {
	FsoGsmSimSendAuthCode parent_instance;
	MsmSimSendAuthCodePrivate * priv;
};

struct _MsmSimSendAuthCodeClass {
	FsoGsmSimSendAuthCodeClass parent_class;
};

typedef enum  {
	MSM_URC_TYPE_INVALID,
	MSM_URC_TYPE_RESET_RADIO_IND,
	MSM_URC_TYPE_CALL_ORIGINATION,
	MSM_URC_TYPE_EXTENDED_FILE_INFO,
	MSM_URC_TYPE_NETWORK_STATE_INFO,
	MSM_URC_TYPE_OPERATION_MODE,
	MSM_URC_TYPE_PIN1_VERIFIED
} MsmUrcType;

struct _MsmSimSendAuthCodeRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimSendAuthCode* self;
	gchar* pin;
	FsoGsmModem* _tmp0_;
	FsoGsmChannel* _tmp1_;
	MsmChannel* channel;
	gboolean _tmp2_;
	GError* _tmp3_;
	MsmPinStatus _tmp4_;
	MsmChannel* _tmp5_;
	MsmcommSim* _tmp6_;
	const gchar* _tmp7_;
	MsmChannel* _tmp8_;
	MsmUnsolicitedResponseHandler* _tmp9_;
	GVariant* _tmp10_;
	GVariant* _tmp11_;
	GError* _tmp12_;
	GError* err0;
	GError* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* msg;
	const gchar* _tmp17_;
	GError* _tmp18_;
	GError* err1;
	GError* _tmp19_;
	const gchar* _tmp20_;
	const gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	GError* _tmp24_;
	GError* _tmp25_;
	GError * _inner_error_;
};

struct _MsmSimDeleteEntry {
	FsoGsmSimDeleteEntry parent_instance;
	MsmSimDeleteEntryPrivate * priv;
};

struct _MsmSimDeleteEntryClass {
	FsoGsmSimDeleteEntryClass parent_class;
};

struct _MsmSimDeleteEntryRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimDeleteEntry* self;
	gchar* category;
	gint index;
	FsoGsmModem* _tmp0_;
	FsoGsmChannel* _tmp1_;
	MsmChannel* channel;
	const gchar* _tmp2_;
	MsmcommPhonebookBookType _tmp3_;
	MsmcommPhonebookBookType book_type;
	MsmChannel* _tmp4_;
	MsmcommPhonebook* _tmp5_;
	MsmcommPhonebookBookType _tmp6_;
	gint _tmp7_;
	FsoGsmModem* _tmp8_;
	FsoGsmPhonebookHandler* _tmp9_;
	FsoGsmPhonebookHandler* _tmp10_;
	MsmPhonebookHandler* _tmp11_;
	MsmPhonebookHandler* pbhandler;
	MsmPhonebookHandler* _tmp12_;
	MsmcommPhonebookBookType _tmp13_;
	GError* err0;
	GError* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* msg;
	const gchar* _tmp18_;
	GError* _tmp19_;
	GError* err1;
	GError * _inner_error_;
};

struct _MsmSimGetPhonebookInfo {
	FsoGsmSimGetPhonebookInfo parent_instance;
	MsmSimGetPhonebookInfoPrivate * priv;
};

struct _MsmSimGetPhonebookInfoClass {
	FsoGsmSimGetPhonebookInfoClass parent_class;
};

struct _MsmSimGetPhonebookInfoRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetPhonebookInfo* self;
	gchar* category;
	gint slots;
	gint numberlength;
	gint namelength;
	FsoGsmModem* _tmp0_;
	FsoGsmChannel* _tmp1_;
	MsmChannel* channel;
	const gchar* _tmp2_;
	MsmcommPhonebookBookType _tmp3_;
	MsmcommPhonebookBookType book_type;
	MsmChannel* _tmp4_;
	MsmcommPhonebook* _tmp5_;
	MsmcommPhonebookBookType _tmp6_;
	MsmcommPhonebookInfo _tmp7_;
	MsmcommPhonebookInfo info;
	MsmcommPhonebookInfo _tmp8_;
	guint _tmp9_;
	MsmcommPhonebookInfo _tmp10_;
	guint _tmp11_;
	MsmcommPhonebookInfo _tmp12_;
	guint _tmp13_;
	GError* err0;
	GError* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* msg;
	const gchar* _tmp18_;
	GError* _tmp19_;
	GError* err1;
	GError * _inner_error_;
};

struct _MsmSimRetrievePhonebook {
	FsoGsmSimRetrievePhonebook parent_instance;
	MsmSimRetrievePhonebookPrivate * priv;
};

struct _MsmSimRetrievePhonebookClass {
	FsoGsmSimRetrievePhonebookClass parent_class;
};

struct _MsmSimRetrievePhonebookRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimRetrievePhonebook* self;
	gchar* category;
	gint mindex;
	gint maxdex;
	FsoGsmModem* _tmp0_;
	FsoGsmPhonebookHandler* _tmp1_;
	FsoGsmPhonebookHandler* _tmp2_;
	FsoGsmPhonebookStorage* _tmp3_;
	FsoGsmPhonebookStorage* _tmp4_;
	const gchar* _tmp5_;
	gint _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	FreeSmartphoneGSMSIMEntry* _tmp9_;
	FreeSmartphoneGSMSIMEntry* _tmp10_;
	gint _tmp10__length1;
};

struct _MsmSimWriteEntry {
	FsoGsmSimWriteEntry parent_instance;
	MsmSimWriteEntryPrivate * priv;
};

struct _MsmSimWriteEntryClass {
	FsoGsmSimWriteEntryClass parent_class;
};

struct _MsmSimWriteEntryRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimWriteEntry* self;
	gchar* category;
	gint index;
	gchar* number;
	gchar* name;
	FsoGsmModem* _tmp0_;
	FsoGsmChannel* _tmp1_;
	MsmChannel* channel;
	const gchar* _tmp2_;
	MsmcommPhonebookBookType _tmp3_;
	MsmcommPhonebookBookType book_type;
	MsmChannel* _tmp4_;
	MsmcommPhonebook* _tmp5_;
	MsmcommPhonebookBookType _tmp6_;
	gint _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	FsoGsmModem* _tmp10_;
	FsoGsmPhonebookHandler* _tmp11_;
	FsoGsmPhonebookHandler* _tmp12_;
	MsmPhonebookHandler* _tmp13_;
	MsmPhonebookHandler* pbhandler;
	MsmPhonebookHandler* _tmp14_;
	MsmcommPhonebookBookType _tmp15_;
	GError* err0;
	GError* _tmp16_;
	const gchar* _tmp17_;
	const gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* msg;
	const gchar* _tmp20_;
	GError* _tmp21_;
	GError* err1;
	GError * _inner_error_;
};

struct _MsmSimDeleteMessage {
	FsoGsmSimDeleteMessage parent_instance;
	MsmSimDeleteMessagePrivate * priv;
};

struct _MsmSimDeleteMessageClass {
	FsoGsmSimDeleteMessageClass parent_class;
};

struct _MsmSimDeleteMessageRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimDeleteMessage* self;
	gint index;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimGetServiceCenterNumber {
	FsoGsmSimGetServiceCenterNumber parent_instance;
	MsmSimGetServiceCenterNumberPrivate * priv;
};

struct _MsmSimGetServiceCenterNumberClass {
	FsoGsmSimGetServiceCenterNumberClass parent_class;
};

struct _MsmSimGetServiceCenterNumberRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetServiceCenterNumber* self;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimGetUnlockCounters {
	FsoGsmSimGetUnlockCounters parent_instance;
	MsmSimGetUnlockCountersPrivate * priv;
};

struct _MsmSimGetUnlockCountersClass {
	FsoGsmSimGetUnlockCountersClass parent_class;
};

struct _MsmSimGetUnlockCountersRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimGetUnlockCounters* self;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimRetrieveMessage {
	FsoGsmSimRetrieveMessage parent_instance;
	MsmSimRetrieveMessagePrivate * priv;
};

struct _MsmSimRetrieveMessageClass {
	FsoGsmSimRetrieveMessageClass parent_class;
};

struct _MsmSimRetrieveMessageRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimRetrieveMessage* self;
	gint index;
	gchar* status;
	gchar* number;
	gchar* contents;
	GHashTable* properties;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimSendStoredMessage {
	FsoGsmSimSendStoredMessage parent_instance;
	MsmSimSendStoredMessagePrivate * priv;
};

struct _MsmSimSendStoredMessageClass {
	FsoGsmSimSendStoredMessageClass parent_class;
};

struct _MsmSimSendStoredMessageRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimSendStoredMessage* self;
	gint index;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimSetServiceCenterNumber {
	FsoGsmSimSetServiceCenterNumber parent_instance;
	MsmSimSetServiceCenterNumberPrivate * priv;
};

struct _MsmSimSetServiceCenterNumberClass {
	FsoGsmSimSetServiceCenterNumberClass parent_class;
};

struct _MsmSimSetServiceCenterNumberRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimSetServiceCenterNumber* self;
	gchar* number;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimStoreMessage {
	FsoGsmSimStoreMessage parent_instance;
	MsmSimStoreMessagePrivate * priv;
};

struct _MsmSimStoreMessageClass {
	FsoGsmSimStoreMessageClass parent_class;
};

struct _MsmSimStoreMessageRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimStoreMessage* self;
	gchar* recipient_number;
	gchar* contents;
	gboolean want_report;
	GError* _tmp0_;
	GError * _inner_error_;
};

struct _MsmSimUnlock {
	FsoGsmSimUnlock parent_instance;
	MsmSimUnlockPrivate * priv;
};

struct _MsmSimUnlockClass {
	FsoGsmSimUnlockClass parent_class;
};

struct _MsmSimUnlockRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MsmSimUnlock* self;
	gchar* puk;
	gchar* newpin;
	GError* _tmp0_;
	GError * _inner_error_;
};


static gpointer msm_sim_change_auth_code_parent_class = NULL;
static GType msm_sim_change_auth_code_type_id = 0;
static gpointer msm_sim_get_auth_status_parent_class = NULL;
static GType msm_sim_get_auth_status_type_id = 0;
static gpointer msm_sim_get_information_parent_class = NULL;
static GType msm_sim_get_information_type_id = 0;
static gpointer msm_sim_get_auth_code_required_parent_class = NULL;
extern MsmPinStatus msm_data_pin_status;
static GType msm_sim_get_auth_code_required_type_id = 0;
static gpointer msm_sim_send_auth_code_parent_class = NULL;
extern gboolean msm_data_sim_available;
static GType msm_sim_send_auth_code_type_id = 0;
static gpointer msm_sim_delete_entry_parent_class = NULL;
static GType msm_sim_delete_entry_type_id = 0;
static gpointer msm_sim_get_phonebook_info_parent_class = NULL;
static GType msm_sim_get_phonebook_info_type_id = 0;
static gpointer msm_sim_retrieve_phonebook_parent_class = NULL;
static GType msm_sim_retrieve_phonebook_type_id = 0;
static gpointer msm_sim_write_entry_parent_class = NULL;
static GType msm_sim_write_entry_type_id = 0;
static gpointer msm_sim_delete_message_parent_class = NULL;
static GType msm_sim_delete_message_type_id = 0;
static gpointer msm_sim_get_service_center_number_parent_class = NULL;
static GType msm_sim_get_service_center_number_type_id = 0;
static gpointer msm_sim_get_unlock_counters_parent_class = NULL;
static GType msm_sim_get_unlock_counters_type_id = 0;
static gpointer msm_sim_retrieve_message_parent_class = NULL;
static GType msm_sim_retrieve_message_type_id = 0;
static gpointer msm_sim_send_stored_message_parent_class = NULL;
static GType msm_sim_send_stored_message_type_id = 0;
static gpointer msm_sim_set_service_center_number_parent_class = NULL;
static GType msm_sim_set_service_center_number_type_id = 0;
static gpointer msm_sim_store_message_parent_class = NULL;
static GType msm_sim_store_message_type_id = 0;
static gpointer msm_sim_unlock_parent_class = NULL;
static GType msm_sim_unlock_type_id = 0;

MsmcommPhonebookBookType categoryToBookType (const gchar* category);
gchar* bookTypeToCategory (MsmcommPhonebookBookType book_type);
GType msm_sim_change_auth_code_get_type (void) G_GNUC_CONST;
GType msm_sim_change_auth_code_register_type (GTypeModule * module);
enum  {
	MSM_SIM_CHANGE_AUTH_CODE_DUMMY_PROPERTY
};
static void msm_sim_change_auth_code_real_run_data_free (gpointer _data);
static void msm_sim_change_auth_code_real_run (FsoGsmSimChangeAuthCode* base, const gchar* oldpin, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_change_auth_code_real_run_co (MsmSimChangeAuthCodeRunData* _data_);
MsmSimChangeAuthCode* msm_sim_change_auth_code_new (void);
MsmSimChangeAuthCode* msm_sim_change_auth_code_construct (GType object_type);
GType msm_sim_get_auth_status_get_type (void) G_GNUC_CONST;
GType msm_sim_get_auth_status_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_AUTH_STATUS_DUMMY_PROPERTY
};
static void msm_sim_get_auth_status_real_run_data_free (gpointer _data);
static void msm_sim_get_auth_status_real_run (FsoGsmSimGetAuthStatus* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_auth_status_real_run_co (MsmSimGetAuthStatusRunData* _data_);
MsmSimGetAuthStatus* msm_sim_get_auth_status_new (void);
MsmSimGetAuthStatus* msm_sim_get_auth_status_construct (GType object_type);
GType msm_sim_get_information_get_type (void) G_GNUC_CONST;
GType msm_sim_get_information_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_INFORMATION_DUMMY_PROPERTY
};
static void msm_sim_get_information_real_run_data_free (gpointer _data);
static void msm_sim_get_information_real_run (FsoGsmSimGetInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_information_real_run_co (MsmSimGetInformationRunData* _data_);
static void _g_free0_ (gpointer var);
static void _g_variant_unref0_ (gpointer var);
GType msm_channel_get_type (void) G_GNUC_CONST;
GType msm_channel_register_type (GTypeModule * module);
GType msm_unsolicited_response_handler_get_type (void) G_GNUC_CONST;
GType msm_unsolicited_response_handler_register_type (GTypeModule * module);
static void msm_sim_get_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static GVariant* _variant_new26 (const gchar* value);
static GVariant* _variant_new27 (const gchar* value);
static GVariant* _variant_new28 (const gchar* value);
MsmSimGetInformation* msm_sim_get_information_new (void);
MsmSimGetInformation* msm_sim_get_information_construct (GType object_type);
GType msm_sim_get_auth_code_required_get_type (void) G_GNUC_CONST;
GType msm_sim_get_auth_code_required_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_AUTH_CODE_REQUIRED_DUMMY_PROPERTY
};
static void msm_sim_get_auth_code_required_real_run_data_free (gpointer _data);
static void msm_sim_get_auth_code_required_real_run (FsoGsmSimGetAuthCodeRequired* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_auth_code_required_real_run_co (MsmSimGetAuthCodeRequiredRunData* _data_);
GType msm_pin_status_get_type (void) G_GNUC_CONST;
MsmSimGetAuthCodeRequired* msm_sim_get_auth_code_required_new (void);
MsmSimGetAuthCodeRequired* msm_sim_get_auth_code_required_construct (GType object_type);
GType msm_sim_send_auth_code_get_type (void) G_GNUC_CONST;
GType msm_sim_send_auth_code_register_type (GTypeModule * module);
enum  {
	MSM_SIM_SEND_AUTH_CODE_DUMMY_PROPERTY
};
static void msm_sim_send_auth_code_real_run_data_free (gpointer _data);
static void msm_sim_send_auth_code_real_run (FsoGsmSimSendAuthCode* base, const gchar* pin, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_send_auth_code_real_run_co (MsmSimSendAuthCodeRunData* _data_);
static void msm_sim_send_auth_code_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GType msm_urc_type_get_type (void) G_GNUC_CONST;
void msm_unsolicited_response_handler_waitForUnsolicitedResponse (MsmUnsolicitedResponseHandler* self, MsmUrcType type, gint timeout, GSourceFunc timeout_func, void* timeout_func_target, GAsyncReadyCallback _callback_, gpointer _user_data_);
GVariant* msm_unsolicited_response_handler_waitForUnsolicitedResponse_finish (MsmUnsolicitedResponseHandler* self, GAsyncResult* _res_);
void gatherSimStatusAndUpdate (GAsyncReadyCallback _callback_, gpointer _user_data_);
void gatherSimStatusAndUpdate_finish (GAsyncResult* _res_, GError** error);
MsmSimSendAuthCode* msm_sim_send_auth_code_new (void);
MsmSimSendAuthCode* msm_sim_send_auth_code_construct (GType object_type);
GType msm_sim_delete_entry_get_type (void) G_GNUC_CONST;
GType msm_sim_delete_entry_register_type (GTypeModule * module);
enum  {
	MSM_SIM_DELETE_ENTRY_DUMMY_PROPERTY
};
static void msm_sim_delete_entry_real_run_data_free (gpointer _data);
static void msm_sim_delete_entry_real_run (FsoGsmSimDeleteEntry* base, const gchar* category, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_delete_entry_real_run_co (MsmSimDeleteEntryRunData* _data_);
static void msm_sim_delete_entry_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GType msm_phonebook_handler_get_type (void) G_GNUC_CONST;
GType msm_phonebook_handler_register_type (GTypeModule * module);
void msm_phonebook_handler_syncPhonebook (MsmPhonebookHandler* self, MsmcommPhonebookBookType book_type, GAsyncReadyCallback _callback_, gpointer _user_data_);
void msm_phonebook_handler_syncPhonebook_finish (MsmPhonebookHandler* self, GAsyncResult* _res_, GError** error);
MsmSimDeleteEntry* msm_sim_delete_entry_new (void);
MsmSimDeleteEntry* msm_sim_delete_entry_construct (GType object_type);
GType msm_sim_get_phonebook_info_get_type (void) G_GNUC_CONST;
GType msm_sim_get_phonebook_info_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_PHONEBOOK_INFO_DUMMY_PROPERTY
};
static void msm_sim_get_phonebook_info_real_run_data_free (gpointer _data);
static void msm_sim_get_phonebook_info_real_run (FsoGsmSimGetPhonebookInfo* base, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_phonebook_info_real_run_co (MsmSimGetPhonebookInfoRunData* _data_);
static void msm_sim_get_phonebook_info_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
MsmSimGetPhonebookInfo* msm_sim_get_phonebook_info_new (void);
MsmSimGetPhonebookInfo* msm_sim_get_phonebook_info_construct (GType object_type);
GType msm_sim_retrieve_phonebook_get_type (void) G_GNUC_CONST;
GType msm_sim_retrieve_phonebook_register_type (GTypeModule * module);
enum  {
	MSM_SIM_RETRIEVE_PHONEBOOK_DUMMY_PROPERTY
};
static void msm_sim_retrieve_phonebook_real_run_data_free (gpointer _data);
static void msm_sim_retrieve_phonebook_real_run (FsoGsmSimRetrievePhonebook* base, const gchar* category, gint mindex, gint maxdex, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_retrieve_phonebook_real_run_co (MsmSimRetrievePhonebookRunData* _data_);
static void _vala_FreeSmartphoneGSMSIMEntry_array_free (FreeSmartphoneGSMSIMEntry* array, gint array_length);
MsmSimRetrievePhonebook* msm_sim_retrieve_phonebook_new (void);
MsmSimRetrievePhonebook* msm_sim_retrieve_phonebook_construct (GType object_type);
GType msm_sim_write_entry_get_type (void) G_GNUC_CONST;
GType msm_sim_write_entry_register_type (GTypeModule * module);
enum  {
	MSM_SIM_WRITE_ENTRY_DUMMY_PROPERTY
};
static void msm_sim_write_entry_real_run_data_free (gpointer _data);
static void msm_sim_write_entry_real_run (FsoGsmSimWriteEntry* base, const gchar* category, gint index, const gchar* number, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_write_entry_real_run_co (MsmSimWriteEntryRunData* _data_);
static void msm_sim_write_entry_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
MsmSimWriteEntry* msm_sim_write_entry_new (void);
MsmSimWriteEntry* msm_sim_write_entry_construct (GType object_type);
GType msm_sim_delete_message_get_type (void) G_GNUC_CONST;
GType msm_sim_delete_message_register_type (GTypeModule * module);
enum  {
	MSM_SIM_DELETE_MESSAGE_DUMMY_PROPERTY
};
static void msm_sim_delete_message_real_run_data_free (gpointer _data);
static void msm_sim_delete_message_real_run (FsoGsmSimDeleteMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_delete_message_real_run_co (MsmSimDeleteMessageRunData* _data_);
MsmSimDeleteMessage* msm_sim_delete_message_new (void);
MsmSimDeleteMessage* msm_sim_delete_message_construct (GType object_type);
GType msm_sim_get_service_center_number_get_type (void) G_GNUC_CONST;
GType msm_sim_get_service_center_number_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_SERVICE_CENTER_NUMBER_DUMMY_PROPERTY
};
static void msm_sim_get_service_center_number_real_run_data_free (gpointer _data);
static void msm_sim_get_service_center_number_real_run (FsoGsmSimGetServiceCenterNumber* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_service_center_number_real_run_co (MsmSimGetServiceCenterNumberRunData* _data_);
MsmSimGetServiceCenterNumber* msm_sim_get_service_center_number_new (void);
MsmSimGetServiceCenterNumber* msm_sim_get_service_center_number_construct (GType object_type);
GType msm_sim_get_unlock_counters_get_type (void) G_GNUC_CONST;
GType msm_sim_get_unlock_counters_register_type (GTypeModule * module);
enum  {
	MSM_SIM_GET_UNLOCK_COUNTERS_DUMMY_PROPERTY
};
static void msm_sim_get_unlock_counters_real_run_data_free (gpointer _data);
static void msm_sim_get_unlock_counters_real_run (FsoGsmSimGetUnlockCounters* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_get_unlock_counters_real_run_co (MsmSimGetUnlockCountersRunData* _data_);
MsmSimGetUnlockCounters* msm_sim_get_unlock_counters_new (void);
MsmSimGetUnlockCounters* msm_sim_get_unlock_counters_construct (GType object_type);
GType msm_sim_retrieve_message_get_type (void) G_GNUC_CONST;
GType msm_sim_retrieve_message_register_type (GTypeModule * module);
enum  {
	MSM_SIM_RETRIEVE_MESSAGE_DUMMY_PROPERTY
};
static void msm_sim_retrieve_message_real_run_data_free (gpointer _data);
static void msm_sim_retrieve_message_real_run (FsoGsmSimRetrieveMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_retrieve_message_real_run_co (MsmSimRetrieveMessageRunData* _data_);
MsmSimRetrieveMessage* msm_sim_retrieve_message_new (void);
MsmSimRetrieveMessage* msm_sim_retrieve_message_construct (GType object_type);
GType msm_sim_send_stored_message_get_type (void) G_GNUC_CONST;
GType msm_sim_send_stored_message_register_type (GTypeModule * module);
enum  {
	MSM_SIM_SEND_STORED_MESSAGE_DUMMY_PROPERTY
};
static void msm_sim_send_stored_message_real_run_data_free (gpointer _data);
static void msm_sim_send_stored_message_real_run (FsoGsmSimSendStoredMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_send_stored_message_real_run_co (MsmSimSendStoredMessageRunData* _data_);
MsmSimSendStoredMessage* msm_sim_send_stored_message_new (void);
MsmSimSendStoredMessage* msm_sim_send_stored_message_construct (GType object_type);
GType msm_sim_set_service_center_number_get_type (void) G_GNUC_CONST;
GType msm_sim_set_service_center_number_register_type (GTypeModule * module);
enum  {
	MSM_SIM_SET_SERVICE_CENTER_NUMBER_DUMMY_PROPERTY
};
static void msm_sim_set_service_center_number_real_run_data_free (gpointer _data);
static void msm_sim_set_service_center_number_real_run (FsoGsmSimSetServiceCenterNumber* base, const gchar* number, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_set_service_center_number_real_run_co (MsmSimSetServiceCenterNumberRunData* _data_);
MsmSimSetServiceCenterNumber* msm_sim_set_service_center_number_new (void);
MsmSimSetServiceCenterNumber* msm_sim_set_service_center_number_construct (GType object_type);
GType msm_sim_store_message_get_type (void) G_GNUC_CONST;
GType msm_sim_store_message_register_type (GTypeModule * module);
enum  {
	MSM_SIM_STORE_MESSAGE_DUMMY_PROPERTY
};
static void msm_sim_store_message_real_run_data_free (gpointer _data);
static void msm_sim_store_message_real_run (FsoGsmSimStoreMessage* base, const gchar* recipient_number, const gchar* contents, gboolean want_report, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_store_message_real_run_co (MsmSimStoreMessageRunData* _data_);
MsmSimStoreMessage* msm_sim_store_message_new (void);
MsmSimStoreMessage* msm_sim_store_message_construct (GType object_type);
GType msm_sim_unlock_get_type (void) G_GNUC_CONST;
GType msm_sim_unlock_register_type (GTypeModule * module);
enum  {
	MSM_SIM_UNLOCK_DUMMY_PROPERTY
};
static void msm_sim_unlock_real_run_data_free (gpointer _data);
static void msm_sim_unlock_real_run (FsoGsmSimUnlock* base, const gchar* puk, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean msm_sim_unlock_real_run_co (MsmSimUnlockRunData* _data_);
MsmSimUnlock* msm_sim_unlock_new (void);
MsmSimUnlock* msm_sim_unlock_construct (GType object_type);


MsmcommPhonebookBookType categoryToBookType (const gchar* category) {
	MsmcommPhonebookBookType result = 0;
	MsmcommPhonebookBookType _result_;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	static GQuark _tmp2_label1 = 0;
	g_return_val_if_fail (category != NULL, 0);
	_result_ = MSMCOMM_PHONEBOOK_BOOK_TYPE_ADN;
	_tmp0_ = category;
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("contacts")))) {
		switch (0) {
			default:
			{
				_result_ = MSMCOMM_PHONEBOOK_BOOK_TYPE_ADN;
				break;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("aux:fixed")))) {
		switch (0) {
			default:
			{
				_result_ = MSMCOMM_PHONEBOOK_BOOK_TYPE_FDN;
				break;
			}
		}
	}
	result = _result_;
	return result;
}


gchar* bookTypeToCategory (MsmcommPhonebookBookType book_type) {
	gchar* result = NULL;
	gchar* _tmp0_;
	gchar* _result_;
	MsmcommPhonebookBookType _tmp1_;
	_tmp0_ = g_strdup ("unknown");
	_result_ = _tmp0_;
	_tmp1_ = book_type;
	switch (_tmp1_) {
		case MSMCOMM_PHONEBOOK_BOOK_TYPE_ADN:
		{
			gchar* _tmp2_;
			_tmp2_ = g_strdup ("contacts");
			_g_free0 (_result_);
			_result_ = _tmp2_;
			break;
		}
		case MSMCOMM_PHONEBOOK_BOOK_TYPE_FDN:
		{
			gchar* _tmp3_;
			_tmp3_ = g_strdup ("aux:fixed");
			_g_free0 (_result_);
			_result_ = _tmp3_;
			break;
		}
		default:
		break;
	}
	result = _result_;
	return result;
}


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


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


static void msm_sim_change_auth_code_real_run (FsoGsmSimChangeAuthCode* base, const gchar* oldpin, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimChangeAuthCode * self;
	MsmSimChangeAuthCodeRunData* _data_;
	MsmSimChangeAuthCode* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	self = (MsmSimChangeAuthCode*) base;
	_data_ = g_slice_new0 (MsmSimChangeAuthCodeRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_change_auth_code_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_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_;
	msm_sim_change_auth_code_real_run_co (_data_);
}


static void msm_sim_change_auth_code_real_run_finish (FsoGsmSimChangeAuthCode* base, GAsyncResult* _res_, GError** error) {
	MsmSimChangeAuthCodeRunData* _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 gboolean msm_sim_change_auth_code_real_run_co (MsmSimChangeAuthCodeRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented!");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimChangeAuthCode* msm_sim_change_auth_code_construct (GType object_type) {
	MsmSimChangeAuthCode * self = NULL;
	self = (MsmSimChangeAuthCode*) fso_gsm_sim_change_auth_code_construct (object_type);
	return self;
}


MsmSimChangeAuthCode* msm_sim_change_auth_code_new (void) {
	return msm_sim_change_auth_code_construct (TYPE_MSM_SIM_CHANGE_AUTH_CODE);
}


static void msm_sim_change_auth_code_class_init (MsmSimChangeAuthCodeClass * klass) {
	msm_sim_change_auth_code_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_CHANGE_AUTH_CODE_CLASS (klass)->run = msm_sim_change_auth_code_real_run;
	FSO_GSM_SIM_CHANGE_AUTH_CODE_CLASS (klass)->run_finish = msm_sim_change_auth_code_real_run_finish;
}


static void msm_sim_change_auth_code_instance_init (MsmSimChangeAuthCode * self) {
}


GType msm_sim_change_auth_code_get_type (void) {
	return msm_sim_change_auth_code_type_id;
}


GType msm_sim_change_auth_code_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimChangeAuthCodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_change_auth_code_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimChangeAuthCode), 0, (GInstanceInitFunc) msm_sim_change_auth_code_instance_init, NULL };
	msm_sim_change_auth_code_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_CHANGE_AUTH_CODE, "MsmSimChangeAuthCode", &g_define_type_info, 0);
	return msm_sim_change_auth_code_type_id;
}


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


static void msm_sim_get_auth_status_real_run (FsoGsmSimGetAuthStatus* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetAuthStatus * self;
	MsmSimGetAuthStatusRunData* _data_;
	MsmSimGetAuthStatus* _tmp0_;
	self = (MsmSimGetAuthStatus*) base;
	_data_ = g_slice_new0 (MsmSimGetAuthStatusRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_auth_status_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_auth_status_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	msm_sim_get_auth_status_real_run_co (_data_);
}


static void msm_sim_get_auth_status_real_run_finish (FsoGsmSimGetAuthStatus* base, GAsyncResult* _res_, GError** error) {
	MsmSimGetAuthStatusRunData* _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 gboolean msm_sim_get_auth_status_real_run_co (MsmSimGetAuthStatusRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = fso_gsm_modem_data (_data_->_tmp0_);
	_data_->data = _data_->_tmp1_;
	_data_->_tmp2_ = _data_->data->simAuthStatus;
	((FsoGsmSimGetAuthStatus*) _data_->self)->status = _data_->_tmp2_;
	_g_object_unref0 (_data_->data);
	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;
}


MsmSimGetAuthStatus* msm_sim_get_auth_status_construct (GType object_type) {
	MsmSimGetAuthStatus * self = NULL;
	self = (MsmSimGetAuthStatus*) fso_gsm_sim_get_auth_status_construct (object_type);
	return self;
}


MsmSimGetAuthStatus* msm_sim_get_auth_status_new (void) {
	return msm_sim_get_auth_status_construct (TYPE_MSM_SIM_GET_AUTH_STATUS);
}


static void msm_sim_get_auth_status_class_init (MsmSimGetAuthStatusClass * klass) {
	msm_sim_get_auth_status_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_AUTH_STATUS_CLASS (klass)->run = msm_sim_get_auth_status_real_run;
	FSO_GSM_SIM_GET_AUTH_STATUS_CLASS (klass)->run_finish = msm_sim_get_auth_status_real_run_finish;
}


static void msm_sim_get_auth_status_instance_init (MsmSimGetAuthStatus * self) {
}


GType msm_sim_get_auth_status_get_type (void) {
	return msm_sim_get_auth_status_type_id;
}


GType msm_sim_get_auth_status_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetAuthStatusClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_auth_status_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetAuthStatus), 0, (GInstanceInitFunc) msm_sim_get_auth_status_instance_init, NULL };
	msm_sim_get_auth_status_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_AUTH_STATUS, "MsmSimGetAuthStatus", &g_define_type_info, 0);
	return msm_sim_get_auth_status_type_id;
}


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


static void msm_sim_get_information_real_run (FsoGsmSimGetInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetInformation * self;
	MsmSimGetInformationRunData* _data_;
	MsmSimGetInformation* _tmp0_;
	self = (MsmSimGetInformation*) base;
	_data_ = g_slice_new0 (MsmSimGetInformationRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_information_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_information_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	msm_sim_get_information_real_run_co (_data_);
}


static void msm_sim_get_information_real_run_finish (FsoGsmSimGetInformation* base, GAsyncResult* _res_, GError** error) {
	MsmSimGetInformationRunData* _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 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 void msm_sim_get_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MsmSimGetInformationRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	msm_sim_get_information_real_run_co (_data_);
}


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


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


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


static const gchar* string_to_string (const gchar* self) {
	const gchar* result = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	result = self;
	return result;
}


static gboolean msm_sim_get_information_real_run_co (MsmSimGetInformationRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_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_ = fso_gsm_theModem;
	_data_->_tmp5_ = NULL;
	_data_->_tmp5_ = fso_gsm_modem_channel (_data_->_tmp4_, "main");
	_data_->channel = IS_MSM_CHANNEL (_data_->_tmp5_) ? ((MsmChannel*) _data_->_tmp5_) : NULL;
	{
		_data_->_tmp6_ = _data_->channel;
		_data_->_tmp7_ = _data_->_tmp6_->sim_service;
		memset (&_data_->_tmp8_, 0, sizeof (MsmcommSimFieldInfo));
		_data_->_state_ = 1;
		msmcomm_sim_read_field (_data_->_tmp7_, MSMCOMM_SIM_FIELD_MSISDN, msm_sim_get_information_run_ready, _data_);
		return FALSE;
		_state_1:
		msmcomm_sim_read_field_finish (_data_->_tmp7_, _data_->_res_, &_data_->_tmp8_, &_data_->_inner_error_);
		_data_->fi = _data_->_tmp8_;
		if (_data_->_inner_error_ != NULL) {
			if (_data_->_inner_error_->domain == MSMCOMM_SIM_ERROR) {
				goto __catch24_msmcomm_sim_error;
			}
			goto __catch24_g_error;
		}
		_data_->_tmp9_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) _data_->self);
		_data_->_tmp10_ = _data_->_tmp9_;
		_data_->_tmp11_ = g_strdup ("msisdn");
		_data_->_tmp12_ = _data_->fi;
		_data_->_tmp13_ = _data_->_tmp12_.data;
		_data_->_tmp14_ = _variant_new26 (_data_->_tmp13_);
		g_hash_table_insert (_data_->_tmp10_, _data_->_tmp11_, _data_->_tmp14_);
		_data_->_tmp15_ = _data_->channel;
		_data_->_tmp16_ = _data_->_tmp15_->sim_service;
		memset (&_data_->_tmp17_, 0, sizeof (MsmcommSimFieldInfo));
		_data_->_state_ = 2;
		msmcomm_sim_read_field (_data_->_tmp16_, MSMCOMM_SIM_FIELD_IMSI, msm_sim_get_information_run_ready, _data_);
		return FALSE;
		_state_2:
		msmcomm_sim_read_field_finish (_data_->_tmp16_, _data_->_res_, &_data_->_tmp17_, &_data_->_inner_error_);
		_data_->_tmp18_ = _data_->_tmp17_;
		if (_data_->_inner_error_ != NULL) {
			msmcomm_sim_field_info_destroy (&_data_->fi);
			if (_data_->_inner_error_->domain == MSMCOMM_SIM_ERROR) {
				goto __catch24_msmcomm_sim_error;
			}
			goto __catch24_g_error;
		}
		msmcomm_sim_field_info_destroy (&_data_->fi);
		_data_->fi = _data_->_tmp18_;
		_data_->_tmp19_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) _data_->self);
		_data_->_tmp20_ = _data_->_tmp19_;
		_data_->_tmp21_ = g_strdup ("imsi");
		_data_->_tmp22_ = _data_->fi;
		_data_->_tmp23_ = _data_->_tmp22_.data;
		_data_->_tmp24_ = _variant_new27 (_data_->_tmp23_);
		g_hash_table_insert (_data_->_tmp20_, _data_->_tmp21_, _data_->_tmp24_);
		_data_->_tmp25_ = fso_gsm_sim_get_information_get_info ((FsoGsmSimGetInformation*) _data_->self);
		_data_->_tmp26_ = _data_->_tmp25_;
		_data_->_tmp27_ = g_strdup ("phonebooks");
		_data_->_tmp28_ = _variant_new28 ("contacts emergency aux:fixed");
		g_hash_table_insert (_data_->_tmp26_, _data_->_tmp27_, _data_->_tmp28_);
		msmcomm_sim_field_info_destroy (&_data_->fi);
	}
	goto __finally24;
	__catch24_msmcomm_sim_error:
	{
		_data_->err0 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_g_error_free0 (_data_->err0);
	}
	goto __finally24;
	__catch24_g_error:
	{
		_data_->err1 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp29_ = _data_->err1;
		_data_->_tmp30_ = _data_->_tmp29_->message;
		_data_->_tmp31_ = NULL;
		_data_->_tmp31_ = string_to_string (_data_->_tmp30_);
		_data_->_tmp32_ = NULL;
		_data_->_tmp32_ = g_strconcat ("Could not process SIM read_field command, got: ", _data_->_tmp31_, NULL);
		_data_->msg = _data_->_tmp32_;
		_data_->_tmp33_ = _data_->msg;
		_data_->_tmp34_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_INTERNAL_ERROR, _data_->_tmp33_);
		_data_->_inner_error_ = _data_->_tmp34_;
		_g_free0 (_data_->msg);
		_g_error_free0 (_data_->err1);
		goto __finally24;
	}
	__finally24:
	if (_data_->_inner_error_ != NULL) {
		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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	_g_object_unref0 (_data_->channel);
	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;
}


MsmSimGetInformation* msm_sim_get_information_construct (GType object_type) {
	MsmSimGetInformation * self = NULL;
	self = (MsmSimGetInformation*) fso_gsm_sim_get_information_construct (object_type);
	return self;
}


MsmSimGetInformation* msm_sim_get_information_new (void) {
	return msm_sim_get_information_construct (TYPE_MSM_SIM_GET_INFORMATION);
}


static void msm_sim_get_information_class_init (MsmSimGetInformationClass * klass) {
	msm_sim_get_information_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_INFORMATION_CLASS (klass)->run = msm_sim_get_information_real_run;
	FSO_GSM_SIM_GET_INFORMATION_CLASS (klass)->run_finish = msm_sim_get_information_real_run_finish;
}


static void msm_sim_get_information_instance_init (MsmSimGetInformation * self) {
}


GType msm_sim_get_information_get_type (void) {
	return msm_sim_get_information_type_id;
}


GType msm_sim_get_information_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetInformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_information_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetInformation), 0, (GInstanceInitFunc) msm_sim_get_information_instance_init, NULL };
	msm_sim_get_information_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_INFORMATION, "MsmSimGetInformation", &g_define_type_info, 0);
	return msm_sim_get_information_type_id;
}


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


static void msm_sim_get_auth_code_required_real_run (FsoGsmSimGetAuthCodeRequired* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetAuthCodeRequired * self;
	MsmSimGetAuthCodeRequiredRunData* _data_;
	MsmSimGetAuthCodeRequired* _tmp0_;
	self = (MsmSimGetAuthCodeRequired*) base;
	_data_ = g_slice_new0 (MsmSimGetAuthCodeRequiredRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_auth_code_required_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_auth_code_required_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	msm_sim_get_auth_code_required_real_run_co (_data_);
}


static void msm_sim_get_auth_code_required_real_run_finish (FsoGsmSimGetAuthCodeRequired* base, GAsyncResult* _res_, GError** error) {
	MsmSimGetAuthCodeRequiredRunData* _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 gboolean msm_sim_get_auth_code_required_real_run_co (MsmSimGetAuthCodeRequiredRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	((FsoGsmSimGetAuthCodeRequired*) _data_->self)->required = TRUE;
	_data_->_tmp0_ = msm_data_pin_status;
	if (_data_->_tmp0_ == MSM_PIN_STATUS_DISABLED) {
		((FsoGsmSimGetAuthCodeRequired*) _data_->self)->required = FALSE;
	}
	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;
}


MsmSimGetAuthCodeRequired* msm_sim_get_auth_code_required_construct (GType object_type) {
	MsmSimGetAuthCodeRequired * self = NULL;
	self = (MsmSimGetAuthCodeRequired*) fso_gsm_sim_get_auth_code_required_construct (object_type);
	return self;
}


MsmSimGetAuthCodeRequired* msm_sim_get_auth_code_required_new (void) {
	return msm_sim_get_auth_code_required_construct (TYPE_MSM_SIM_GET_AUTH_CODE_REQUIRED);
}


static void msm_sim_get_auth_code_required_class_init (MsmSimGetAuthCodeRequiredClass * klass) {
	msm_sim_get_auth_code_required_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS (klass)->run = msm_sim_get_auth_code_required_real_run;
	FSO_GSM_SIM_GET_AUTH_CODE_REQUIRED_CLASS (klass)->run_finish = msm_sim_get_auth_code_required_real_run_finish;
}


static void msm_sim_get_auth_code_required_instance_init (MsmSimGetAuthCodeRequired * self) {
}


GType msm_sim_get_auth_code_required_get_type (void) {
	return msm_sim_get_auth_code_required_type_id;
}


GType msm_sim_get_auth_code_required_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetAuthCodeRequiredClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_auth_code_required_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetAuthCodeRequired), 0, (GInstanceInitFunc) msm_sim_get_auth_code_required_instance_init, NULL };
	msm_sim_get_auth_code_required_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_AUTH_CODE_REQUIRED, "MsmSimGetAuthCodeRequired", &g_define_type_info, 0);
	return msm_sim_get_auth_code_required_type_id;
}


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


static void msm_sim_send_auth_code_real_run (FsoGsmSimSendAuthCode* base, const gchar* pin, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimSendAuthCode * self;
	MsmSimSendAuthCodeRunData* _data_;
	MsmSimSendAuthCode* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	self = (MsmSimSendAuthCode*) base;
	_data_ = g_slice_new0 (MsmSimSendAuthCodeRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_send_auth_code_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_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_;
	msm_sim_send_auth_code_real_run_co (_data_);
}


static void msm_sim_send_auth_code_real_run_finish (FsoGsmSimSendAuthCode* base, GAsyncResult* _res_, GError** error) {
	MsmSimSendAuthCodeRunData* _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 void msm_sim_send_auth_code_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MsmSimSendAuthCodeRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	msm_sim_send_auth_code_real_run_co (_data_);
}


static gboolean msm_sim_send_auth_code_real_run_co (MsmSimSendAuthCodeRunData* _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_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = fso_gsm_modem_channel (_data_->_tmp0_, "main");
	_data_->channel = IS_MSM_CHANNEL (_data_->_tmp1_) ? ((MsmChannel*) _data_->_tmp1_) : NULL;
	_data_->_tmp2_ = msm_data_sim_available;
	if (!_data_->_tmp2_) {
		_data_->_tmp3_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_NOT_PRESENT, "SIM card is not present; cannot send auth code!");
		_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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	{
		_data_->_tmp4_ = msm_data_pin_status;
		if (_data_->_tmp4_ == MSM_PIN_STATUS_ENABLED) {
			_data_->_tmp5_ = _data_->channel;
			_data_->_tmp6_ = _data_->_tmp5_->sim_service;
			_data_->_tmp7_ = _data_->pin;
			_data_->_state_ = 1;
			msmcomm_sim_verify_pin (_data_->_tmp6_, MSMCOMM_SIM_PIN_TYPE_PIN1, _data_->_tmp7_, msm_sim_send_auth_code_run_ready, _data_);
			return FALSE;
			_state_1:
			msmcomm_sim_verify_pin_finish (_data_->_tmp6_, _data_->_res_, &_data_->_inner_error_);
			if (_data_->_inner_error_ != NULL) {
				if (_data_->_inner_error_->domain == MSMCOMM_SIM_ERROR) {
					goto __catch25_msmcomm_sim_error;
				}
				goto __catch25_g_error;
			}
			_data_->_tmp8_ = _data_->channel;
			_data_->_tmp9_ = _data_->_tmp8_->urc_handler;
			_data_->_state_ = 2;
			msm_unsolicited_response_handler_waitForUnsolicitedResponse (_data_->_tmp9_, MSM_URC_TYPE_PIN1_VERIFIED, 0, NULL, NULL, msm_sim_send_auth_code_run_ready, _data_);
			return FALSE;
			_state_2:
			_data_->_tmp10_ = NULL;
			_data_->_tmp10_ = msm_unsolicited_response_handler_waitForUnsolicitedResponse_finish (_data_->_tmp9_, _data_->_res_);
			_data_->_tmp11_ = _data_->_tmp10_;
			_g_variant_unref0 (_data_->_tmp11_);
			_data_->_state_ = 3;
			gatherSimStatusAndUpdate (msm_sim_send_auth_code_run_ready, _data_);
			return FALSE;
			_state_3:
			gatherSimStatusAndUpdate_finish (_data_->_res_, &_data_->_inner_error_);
			if (_data_->_inner_error_ != NULL) {
				if (_data_->_inner_error_->domain == MSMCOMM_SIM_ERROR) {
					goto __catch25_msmcomm_sim_error;
				}
				goto __catch25_g_error;
			}
		} else {
			_data_->_tmp12_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_AUTH_FAILED, "Could not send auth code as auth code is disabled");
			_data_->_inner_error_ = _data_->_tmp12_;
			if (_data_->_inner_error_->domain == MSMCOMM_SIM_ERROR) {
				goto __catch25_msmcomm_sim_error;
			}
			goto __catch25_g_error;
		}
	}
	goto __finally25;
	__catch25_msmcomm_sim_error:
	{
		_data_->err0 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp13_ = _data_->err0;
		_data_->_tmp14_ = _data_->_tmp13_->message;
		_data_->_tmp15_ = NULL;
		_data_->_tmp15_ = string_to_string (_data_->_tmp14_);
		_data_->_tmp16_ = NULL;
		_data_->_tmp16_ = g_strconcat ("SIM pin authentication failed: ", _data_->_tmp15_, NULL);
		_data_->msg = _data_->_tmp16_;
		_data_->_tmp17_ = _data_->msg;
		_data_->_tmp18_ = g_error_new_literal (FREE_SMARTPHONE_GSM_ERROR, FREE_SMARTPHONE_GSM_ERROR_SIM_AUTH_FAILED, _data_->_tmp17_);
		_data_->_inner_error_ = _data_->_tmp18_;
		_g_free0 (_data_->msg);
		_g_error_free0 (_data_->err0);
		goto __finally25;
	}
	goto __finally25;
	__catch25_g_error:
	{
		_data_->err1 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp19_ = _data_->err1;
		_data_->_tmp20_ = _data_->_tmp19_->message;
		_data_->_tmp21_ = NULL;
		_data_->_tmp21_ = string_to_string (_data_->_tmp20_);
		_data_->_tmp22_ = NULL;
		_data_->_tmp22_ = g_strconcat ("Could not process verify_pin command: ", _data_->_tmp21_, NULL);
		_data_->_tmp23_ = _data_->_tmp22_;
		_data_->_tmp24_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_INTERNAL_ERROR, _data_->_tmp23_);
		_data_->_tmp25_ = _data_->_tmp24_;
		_g_free0 (_data_->_tmp23_);
		_data_->_inner_error_ = _data_->_tmp25_;
		_g_error_free0 (_data_->err1);
		goto __finally25;
	}
	__finally25:
	if (_data_->_inner_error_ != NULL) {
		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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	_g_object_unref0 (_data_->channel);
	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;
}


MsmSimSendAuthCode* msm_sim_send_auth_code_construct (GType object_type) {
	MsmSimSendAuthCode * self = NULL;
	self = (MsmSimSendAuthCode*) fso_gsm_sim_send_auth_code_construct (object_type);
	return self;
}


MsmSimSendAuthCode* msm_sim_send_auth_code_new (void) {
	return msm_sim_send_auth_code_construct (TYPE_MSM_SIM_SEND_AUTH_CODE);
}


static void msm_sim_send_auth_code_class_init (MsmSimSendAuthCodeClass * klass) {
	msm_sim_send_auth_code_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_SEND_AUTH_CODE_CLASS (klass)->run = msm_sim_send_auth_code_real_run;
	FSO_GSM_SIM_SEND_AUTH_CODE_CLASS (klass)->run_finish = msm_sim_send_auth_code_real_run_finish;
}


static void msm_sim_send_auth_code_instance_init (MsmSimSendAuthCode * self) {
}


GType msm_sim_send_auth_code_get_type (void) {
	return msm_sim_send_auth_code_type_id;
}


GType msm_sim_send_auth_code_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimSendAuthCodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_send_auth_code_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimSendAuthCode), 0, (GInstanceInitFunc) msm_sim_send_auth_code_instance_init, NULL };
	msm_sim_send_auth_code_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_SEND_AUTH_CODE, "MsmSimSendAuthCode", &g_define_type_info, 0);
	return msm_sim_send_auth_code_type_id;
}


static void msm_sim_delete_entry_real_run_data_free (gpointer _data) {
	MsmSimDeleteEntryRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->category);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimDeleteEntryRunData, _data_);
}


static void msm_sim_delete_entry_real_run (FsoGsmSimDeleteEntry* base, const gchar* category, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimDeleteEntry * self;
	MsmSimDeleteEntryRunData* _data_;
	MsmSimDeleteEntry* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gint _tmp3_;
	self = (MsmSimDeleteEntry*) base;
	_data_ = g_slice_new0 (MsmSimDeleteEntryRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_delete_entry_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_delete_entry_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = category;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->category = _tmp2_;
	_tmp3_ = index;
	_data_->index = _tmp3_;
	msm_sim_delete_entry_real_run_co (_data_);
}


static void msm_sim_delete_entry_real_run_finish (FsoGsmSimDeleteEntry* base, GAsyncResult* _res_, GError** error) {
	MsmSimDeleteEntryRunData* _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 void msm_sim_delete_entry_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MsmSimDeleteEntryRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	msm_sim_delete_entry_real_run_co (_data_);
}


static gboolean msm_sim_delete_entry_real_run_co (MsmSimDeleteEntryRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = fso_gsm_modem_channel (_data_->_tmp0_, "main");
	_data_->channel = IS_MSM_CHANNEL (_data_->_tmp1_) ? ((MsmChannel*) _data_->_tmp1_) : NULL;
	{
		_data_->_tmp2_ = _data_->category;
		_data_->_tmp3_ = 0;
		_data_->_tmp3_ = categoryToBookType (_data_->_tmp2_);
		_data_->book_type = _data_->_tmp3_;
		_data_->_tmp4_ = _data_->channel;
		_data_->_tmp5_ = _data_->_tmp4_->phonebook_service;
		_data_->_tmp6_ = _data_->book_type;
		_data_->_tmp7_ = _data_->index;
		_data_->_state_ = 1;
		msmcomm_phonebook_write_record (_data_->_tmp5_, _data_->_tmp6_, (guint) _data_->_tmp7_, "", "", msm_sim_delete_entry_run_ready, _data_);
		return FALSE;
		_state_1:
		msmcomm_phonebook_write_record_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error_);
		if (_data_->_inner_error_ != NULL) {
			if (_data_->_inner_error_->domain == MSMCOMM_ERROR) {
				goto __catch26_msmcomm_error;
			}
			goto __catch26_g_error;
		}
		_data_->_tmp8_ = fso_gsm_theModem;
		_data_->_tmp9_ = fso_gsm_modem_get_pbhandler (_data_->_tmp8_);
		_data_->_tmp10_ = _data_->_tmp9_;
		_data_->_tmp11_ = _g_object_ref0 (IS_MSM_PHONEBOOK_HANDLER (_data_->_tmp10_) ? ((MsmPhonebookHandler*) _data_->_tmp10_) : NULL);
		_data_->pbhandler = _data_->_tmp11_;
		_data_->_tmp12_ = _data_->pbhandler;
		_data_->_tmp13_ = _data_->book_type;
		msm_phonebook_handler_syncPhonebook (_data_->_tmp12_, _data_->_tmp13_, NULL, NULL);
		_g_object_unref0 (_data_->pbhandler);
	}
	goto __finally26;
	__catch26_msmcomm_error:
	{
		_data_->err0 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp14_ = _data_->err0;
		_data_->_tmp15_ = _data_->_tmp14_->message;
		_data_->_tmp16_ = NULL;
		_data_->_tmp16_ = string_to_string (_data_->_tmp15_);
		_data_->_tmp17_ = NULL;
		_data_->_tmp17_ = g_strconcat ("Could not process the write_record command, got: ", _data_->_tmp16_, NULL);
		_data_->msg = _data_->_tmp17_;
		_data_->_tmp18_ = _data_->msg;
		_data_->_tmp19_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_INTERNAL_ERROR, _data_->_tmp18_);
		_data_->_inner_error_ = _data_->_tmp19_;
		_g_free0 (_data_->msg);
		_g_error_free0 (_data_->err0);
		goto __finally26;
	}
	goto __finally26;
	__catch26_g_error:
	{
		_data_->err1 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_g_error_free0 (_data_->err1);
	}
	__finally26:
	if (_data_->_inner_error_ != NULL) {
		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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	_g_object_unref0 (_data_->channel);
	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;
}


MsmSimDeleteEntry* msm_sim_delete_entry_construct (GType object_type) {
	MsmSimDeleteEntry * self = NULL;
	self = (MsmSimDeleteEntry*) fso_gsm_sim_delete_entry_construct (object_type);
	return self;
}


MsmSimDeleteEntry* msm_sim_delete_entry_new (void) {
	return msm_sim_delete_entry_construct (TYPE_MSM_SIM_DELETE_ENTRY);
}


static void msm_sim_delete_entry_class_init (MsmSimDeleteEntryClass * klass) {
	msm_sim_delete_entry_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_DELETE_ENTRY_CLASS (klass)->run = msm_sim_delete_entry_real_run;
	FSO_GSM_SIM_DELETE_ENTRY_CLASS (klass)->run_finish = msm_sim_delete_entry_real_run_finish;
}


static void msm_sim_delete_entry_instance_init (MsmSimDeleteEntry * self) {
}


GType msm_sim_delete_entry_get_type (void) {
	return msm_sim_delete_entry_type_id;
}


GType msm_sim_delete_entry_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimDeleteEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_delete_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimDeleteEntry), 0, (GInstanceInitFunc) msm_sim_delete_entry_instance_init, NULL };
	msm_sim_delete_entry_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_DELETE_ENTRY, "MsmSimDeleteEntry", &g_define_type_info, 0);
	return msm_sim_delete_entry_type_id;
}


static void msm_sim_get_phonebook_info_real_run_data_free (gpointer _data) {
	MsmSimGetPhonebookInfoRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->category);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimGetPhonebookInfoRunData, _data_);
}


static void msm_sim_get_phonebook_info_real_run (FsoGsmSimGetPhonebookInfo* base, const gchar* category, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetPhonebookInfo * self;
	MsmSimGetPhonebookInfoRunData* _data_;
	MsmSimGetPhonebookInfo* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	self = (MsmSimGetPhonebookInfo*) base;
	_data_ = g_slice_new0 (MsmSimGetPhonebookInfoRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_phonebook_info_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_phonebook_info_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = category;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->category = _tmp2_;
	msm_sim_get_phonebook_info_real_run_co (_data_);
}


static void msm_sim_get_phonebook_info_real_run_finish (FsoGsmSimGetPhonebookInfo* base, GAsyncResult* _res_, gint* slots, gint* numberlength, gint* namelength, GError** error) {
	MsmSimGetPhonebookInfoRunData* _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_));
	if (slots) {
		*slots = _data_->slots;
	}
	if (numberlength) {
		*numberlength = _data_->numberlength;
	}
	if (namelength) {
		*namelength = _data_->namelength;
	}
}


static void msm_sim_get_phonebook_info_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MsmSimGetPhonebookInfoRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	msm_sim_get_phonebook_info_real_run_co (_data_);
}


static gboolean msm_sim_get_phonebook_info_real_run_co (MsmSimGetPhonebookInfoRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = fso_gsm_modem_channel (_data_->_tmp0_, "main");
	_data_->channel = IS_MSM_CHANNEL (_data_->_tmp1_) ? ((MsmChannel*) _data_->_tmp1_) : NULL;
	{
		_data_->_tmp2_ = _data_->category;
		_data_->_tmp3_ = 0;
		_data_->_tmp3_ = categoryToBookType (_data_->_tmp2_);
		_data_->book_type = _data_->_tmp3_;
		_data_->_tmp4_ = _data_->channel;
		_data_->_tmp5_ = _data_->_tmp4_->phonebook_service;
		_data_->_tmp6_ = _data_->book_type;
		memset (&_data_->_tmp7_, 0, sizeof (MsmcommPhonebookInfo));
		_data_->_state_ = 1;
		msmcomm_phonebook_get_extended_file_info (_data_->_tmp5_, _data_->_tmp6_, msm_sim_get_phonebook_info_run_ready, _data_);
		return FALSE;
		_state_1:
		msmcomm_phonebook_get_extended_file_info_finish (_data_->_tmp5_, _data_->_res_, &_data_->_tmp7_, &_data_->_inner_error_);
		_data_->info = _data_->_tmp7_;
		if (_data_->_inner_error_ != NULL) {
			if (_data_->_inner_error_->domain == MSMCOMM_ERROR) {
				goto __catch27_msmcomm_error;
			}
			goto __catch27_g_error;
		}
		_data_->_tmp8_ = _data_->info;
		_data_->_tmp9_ = _data_->_tmp8_.slot_count;
		_data_->slots = (gint) _data_->_tmp9_;
		_data_->_tmp10_ = _data_->info;
		_data_->_tmp11_ = _data_->_tmp10_.max_chars_per_number;
		_data_->numberlength = (gint) _data_->_tmp11_;
		_data_->_tmp12_ = _data_->info;
		_data_->_tmp13_ = _data_->_tmp12_.max_chars_per_title;
		_data_->namelength = (gint) _data_->_tmp13_;
	}
	goto __finally27;
	__catch27_msmcomm_error:
	{
		_data_->err0 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp14_ = _data_->err0;
		_data_->_tmp15_ = _data_->_tmp14_->message;
		_data_->_tmp16_ = NULL;
		_data_->_tmp16_ = string_to_string (_data_->_tmp15_);
		_data_->_tmp17_ = NULL;
		_data_->_tmp17_ = g_strconcat ("Could not process get_phonebook_properties command, got: ", _data_->_tmp16_, NULL);
		_data_->msg = _data_->_tmp17_;
		_data_->_tmp18_ = _data_->msg;
		_data_->_tmp19_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_INTERNAL_ERROR, _data_->_tmp18_);
		_data_->_inner_error_ = _data_->_tmp19_;
		_g_free0 (_data_->msg);
		_g_error_free0 (_data_->err0);
		goto __finally27;
	}
	goto __finally27;
	__catch27_g_error:
	{
		_data_->err1 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_g_error_free0 (_data_->err1);
	}
	__finally27:
	if (_data_->_inner_error_ != NULL) {
		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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	_g_object_unref0 (_data_->channel);
	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;
}


MsmSimGetPhonebookInfo* msm_sim_get_phonebook_info_construct (GType object_type) {
	MsmSimGetPhonebookInfo * self = NULL;
	self = (MsmSimGetPhonebookInfo*) fso_gsm_sim_get_phonebook_info_construct (object_type);
	return self;
}


MsmSimGetPhonebookInfo* msm_sim_get_phonebook_info_new (void) {
	return msm_sim_get_phonebook_info_construct (TYPE_MSM_SIM_GET_PHONEBOOK_INFO);
}


static void msm_sim_get_phonebook_info_class_init (MsmSimGetPhonebookInfoClass * klass) {
	msm_sim_get_phonebook_info_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_PHONEBOOK_INFO_CLASS (klass)->run = msm_sim_get_phonebook_info_real_run;
	FSO_GSM_SIM_GET_PHONEBOOK_INFO_CLASS (klass)->run_finish = msm_sim_get_phonebook_info_real_run_finish;
}


static void msm_sim_get_phonebook_info_instance_init (MsmSimGetPhonebookInfo * self) {
}


GType msm_sim_get_phonebook_info_get_type (void) {
	return msm_sim_get_phonebook_info_type_id;
}


GType msm_sim_get_phonebook_info_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetPhonebookInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_phonebook_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetPhonebookInfo), 0, (GInstanceInitFunc) msm_sim_get_phonebook_info_instance_init, NULL };
	msm_sim_get_phonebook_info_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_PHONEBOOK_INFO, "MsmSimGetPhonebookInfo", &g_define_type_info, 0);
	return msm_sim_get_phonebook_info_type_id;
}


static void msm_sim_retrieve_phonebook_real_run_data_free (gpointer _data) {
	MsmSimRetrievePhonebookRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->category);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimRetrievePhonebookRunData, _data_);
}


static void msm_sim_retrieve_phonebook_real_run (FsoGsmSimRetrievePhonebook* base, const gchar* category, gint mindex, gint maxdex, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimRetrievePhonebook * self;
	MsmSimRetrievePhonebookRunData* _data_;
	MsmSimRetrievePhonebook* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
	self = (MsmSimRetrievePhonebook*) base;
	_data_ = g_slice_new0 (MsmSimRetrievePhonebookRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_retrieve_phonebook_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_retrieve_phonebook_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = category;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->category = _tmp2_;
	_tmp3_ = mindex;
	_data_->mindex = _tmp3_;
	_tmp4_ = maxdex;
	_data_->maxdex = _tmp4_;
	msm_sim_retrieve_phonebook_real_run_co (_data_);
}


static void msm_sim_retrieve_phonebook_real_run_finish (FsoGsmSimRetrievePhonebook* base, GAsyncResult* _res_, GError** error) {
	MsmSimRetrievePhonebookRunData* _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 void _vala_FreeSmartphoneGSMSIMEntry_array_free (FreeSmartphoneGSMSIMEntry* array, gint array_length) {
	if (array != NULL) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			free_smartphone_gsm_sim_entry_destroy (&array[i]);
		}
	}
	g_free (array);
}


static gboolean msm_sim_retrieve_phonebook_real_run_co (MsmSimRetrievePhonebookRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = fso_gsm_modem_get_pbhandler (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_tmp3_ = fso_gsm_phonebook_handler_get_storage (_data_->_tmp2_);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = _data_->category;
	_data_->_tmp6_ = _data_->mindex;
	_data_->_tmp7_ = _data_->maxdex;
	_data_->_tmp8_ = 0;
	_data_->_tmp9_ = NULL;
	_data_->_tmp9_ = fso_gsm_phonebook_storage_phonebook (_data_->_tmp4_, _data_->_tmp5_, _data_->_tmp6_, _data_->_tmp7_, &_data_->_tmp8_);
	_data_->_tmp10_ = _data_->_tmp9_;
	_data_->_tmp10__length1 = _data_->_tmp8_;
	fso_gsm_sim_retrieve_phonebook_set_phonebook ((FsoGsmSimRetrievePhonebook*) _data_->self, _data_->_tmp10_, _data_->_tmp8_);
	_data_->_tmp10_ = (_vala_FreeSmartphoneGSMSIMEntry_array_free (_data_->_tmp10_, _data_->_tmp10__length1), 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;
}


MsmSimRetrievePhonebook* msm_sim_retrieve_phonebook_construct (GType object_type) {
	MsmSimRetrievePhonebook * self = NULL;
	self = (MsmSimRetrievePhonebook*) fso_gsm_sim_retrieve_phonebook_construct (object_type);
	return self;
}


MsmSimRetrievePhonebook* msm_sim_retrieve_phonebook_new (void) {
	return msm_sim_retrieve_phonebook_construct (TYPE_MSM_SIM_RETRIEVE_PHONEBOOK);
}


static void msm_sim_retrieve_phonebook_class_init (MsmSimRetrievePhonebookClass * klass) {
	msm_sim_retrieve_phonebook_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_RETRIEVE_PHONEBOOK_CLASS (klass)->run = msm_sim_retrieve_phonebook_real_run;
	FSO_GSM_SIM_RETRIEVE_PHONEBOOK_CLASS (klass)->run_finish = msm_sim_retrieve_phonebook_real_run_finish;
}


static void msm_sim_retrieve_phonebook_instance_init (MsmSimRetrievePhonebook * self) {
}


GType msm_sim_retrieve_phonebook_get_type (void) {
	return msm_sim_retrieve_phonebook_type_id;
}


GType msm_sim_retrieve_phonebook_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimRetrievePhonebookClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_retrieve_phonebook_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimRetrievePhonebook), 0, (GInstanceInitFunc) msm_sim_retrieve_phonebook_instance_init, NULL };
	msm_sim_retrieve_phonebook_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_RETRIEVE_PHONEBOOK, "MsmSimRetrievePhonebook", &g_define_type_info, 0);
	return msm_sim_retrieve_phonebook_type_id;
}


static void msm_sim_write_entry_real_run_data_free (gpointer _data) {
	MsmSimWriteEntryRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->category);
	_g_free0 (_data_->number);
	_g_free0 (_data_->name);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimWriteEntryRunData, _data_);
}


static void msm_sim_write_entry_real_run (FsoGsmSimWriteEntry* base, const gchar* category, gint index, const gchar* number, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimWriteEntry * self;
	MsmSimWriteEntryRunData* _data_;
	MsmSimWriteEntry* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gint _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	self = (MsmSimWriteEntry*) base;
	_data_ = g_slice_new0 (MsmSimWriteEntryRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_write_entry_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_write_entry_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = category;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->category = _tmp2_;
	_tmp3_ = index;
	_data_->index = _tmp3_;
	_tmp4_ = number;
	_tmp5_ = g_strdup (_tmp4_);
	_data_->number = _tmp5_;
	_tmp6_ = name;
	_tmp7_ = g_strdup (_tmp6_);
	_data_->name = _tmp7_;
	msm_sim_write_entry_real_run_co (_data_);
}


static void msm_sim_write_entry_real_run_finish (FsoGsmSimWriteEntry* base, GAsyncResult* _res_, GError** error) {
	MsmSimWriteEntryRunData* _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 void msm_sim_write_entry_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MsmSimWriteEntryRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	msm_sim_write_entry_real_run_co (_data_);
}


static gboolean msm_sim_write_entry_real_run_co (MsmSimWriteEntryRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = fso_gsm_theModem;
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = fso_gsm_modem_channel (_data_->_tmp0_, "main");
	_data_->channel = IS_MSM_CHANNEL (_data_->_tmp1_) ? ((MsmChannel*) _data_->_tmp1_) : NULL;
	{
		_data_->_tmp2_ = _data_->category;
		_data_->_tmp3_ = 0;
		_data_->_tmp3_ = categoryToBookType (_data_->_tmp2_);
		_data_->book_type = _data_->_tmp3_;
		_data_->_tmp4_ = _data_->channel;
		_data_->_tmp5_ = _data_->_tmp4_->phonebook_service;
		_data_->_tmp6_ = _data_->book_type;
		_data_->_tmp7_ = _data_->index;
		_data_->_tmp8_ = _data_->name;
		_data_->_tmp9_ = _data_->number;
		_data_->_state_ = 1;
		msmcomm_phonebook_write_record (_data_->_tmp5_, _data_->_tmp6_, (guint) _data_->_tmp7_, _data_->_tmp8_, _data_->_tmp9_, msm_sim_write_entry_run_ready, _data_);
		return FALSE;
		_state_1:
		msmcomm_phonebook_write_record_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error_);
		if (_data_->_inner_error_ != NULL) {
			if (_data_->_inner_error_->domain == MSMCOMM_ERROR) {
				goto __catch28_msmcomm_error;
			}
			goto __catch28_g_error;
		}
		_data_->_tmp10_ = fso_gsm_theModem;
		_data_->_tmp11_ = fso_gsm_modem_get_pbhandler (_data_->_tmp10_);
		_data_->_tmp12_ = _data_->_tmp11_;
		_data_->_tmp13_ = _g_object_ref0 (IS_MSM_PHONEBOOK_HANDLER (_data_->_tmp12_) ? ((MsmPhonebookHandler*) _data_->_tmp12_) : NULL);
		_data_->pbhandler = _data_->_tmp13_;
		_data_->_tmp14_ = _data_->pbhandler;
		_data_->_tmp15_ = _data_->book_type;
		msm_phonebook_handler_syncPhonebook (_data_->_tmp14_, _data_->_tmp15_, NULL, NULL);
		_g_object_unref0 (_data_->pbhandler);
	}
	goto __finally28;
	__catch28_msmcomm_error:
	{
		_data_->err0 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_data_->_tmp16_ = _data_->err0;
		_data_->_tmp17_ = _data_->_tmp16_->message;
		_data_->_tmp18_ = NULL;
		_data_->_tmp18_ = string_to_string (_data_->_tmp17_);
		_data_->_tmp19_ = NULL;
		_data_->_tmp19_ = g_strconcat ("Could not process write_record command, got: ", _data_->_tmp18_, NULL);
		_data_->msg = _data_->_tmp19_;
		_data_->_tmp20_ = _data_->msg;
		_data_->_tmp21_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_INTERNAL_ERROR, _data_->_tmp20_);
		_data_->_inner_error_ = _data_->_tmp21_;
		_g_free0 (_data_->msg);
		_g_error_free0 (_data_->err0);
		goto __finally28;
	}
	goto __finally28;
	__catch28_g_error:
	{
		_data_->err1 = _data_->_inner_error_;
		_data_->_inner_error_ = NULL;
		_g_error_free0 (_data_->err1);
	}
	__finally28:
	if (_data_->_inner_error_ != NULL) {
		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_);
			_g_object_unref0 (_data_->channel);
			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 {
			_g_object_unref0 (_data_->channel);
			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;
		}
	}
	_g_object_unref0 (_data_->channel);
	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;
}


MsmSimWriteEntry* msm_sim_write_entry_construct (GType object_type) {
	MsmSimWriteEntry * self = NULL;
	self = (MsmSimWriteEntry*) fso_gsm_sim_write_entry_construct (object_type);
	return self;
}


MsmSimWriteEntry* msm_sim_write_entry_new (void) {
	return msm_sim_write_entry_construct (TYPE_MSM_SIM_WRITE_ENTRY);
}


static void msm_sim_write_entry_class_init (MsmSimWriteEntryClass * klass) {
	msm_sim_write_entry_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_WRITE_ENTRY_CLASS (klass)->run = msm_sim_write_entry_real_run;
	FSO_GSM_SIM_WRITE_ENTRY_CLASS (klass)->run_finish = msm_sim_write_entry_real_run_finish;
}


static void msm_sim_write_entry_instance_init (MsmSimWriteEntry * self) {
}


GType msm_sim_write_entry_get_type (void) {
	return msm_sim_write_entry_type_id;
}


GType msm_sim_write_entry_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimWriteEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_write_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimWriteEntry), 0, (GInstanceInitFunc) msm_sim_write_entry_instance_init, NULL };
	msm_sim_write_entry_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_WRITE_ENTRY, "MsmSimWriteEntry", &g_define_type_info, 0);
	return msm_sim_write_entry_type_id;
}


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


static void msm_sim_delete_message_real_run (FsoGsmSimDeleteMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimDeleteMessage * self;
	MsmSimDeleteMessageRunData* _data_;
	MsmSimDeleteMessage* _tmp0_;
	gint _tmp1_;
	self = (MsmSimDeleteMessage*) base;
	_data_ = g_slice_new0 (MsmSimDeleteMessageRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_delete_message_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_delete_message_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = index;
	_data_->index = _tmp1_;
	msm_sim_delete_message_real_run_co (_data_);
}


static void msm_sim_delete_message_real_run_finish (FsoGsmSimDeleteMessage* base, GAsyncResult* _res_, GError** error) {
	MsmSimDeleteMessageRunData* _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 gboolean msm_sim_delete_message_real_run_co (MsmSimDeleteMessageRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimDeleteMessage* msm_sim_delete_message_construct (GType object_type) {
	MsmSimDeleteMessage * self = NULL;
	self = (MsmSimDeleteMessage*) fso_gsm_sim_delete_message_construct (object_type);
	return self;
}


MsmSimDeleteMessage* msm_sim_delete_message_new (void) {
	return msm_sim_delete_message_construct (TYPE_MSM_SIM_DELETE_MESSAGE);
}


static void msm_sim_delete_message_class_init (MsmSimDeleteMessageClass * klass) {
	msm_sim_delete_message_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_DELETE_MESSAGE_CLASS (klass)->run = msm_sim_delete_message_real_run;
	FSO_GSM_SIM_DELETE_MESSAGE_CLASS (klass)->run_finish = msm_sim_delete_message_real_run_finish;
}


static void msm_sim_delete_message_instance_init (MsmSimDeleteMessage * self) {
}


GType msm_sim_delete_message_get_type (void) {
	return msm_sim_delete_message_type_id;
}


GType msm_sim_delete_message_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimDeleteMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_delete_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimDeleteMessage), 0, (GInstanceInitFunc) msm_sim_delete_message_instance_init, NULL };
	msm_sim_delete_message_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_DELETE_MESSAGE, "MsmSimDeleteMessage", &g_define_type_info, 0);
	return msm_sim_delete_message_type_id;
}


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


static void msm_sim_get_service_center_number_real_run (FsoGsmSimGetServiceCenterNumber* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetServiceCenterNumber * self;
	MsmSimGetServiceCenterNumberRunData* _data_;
	MsmSimGetServiceCenterNumber* _tmp0_;
	self = (MsmSimGetServiceCenterNumber*) base;
	_data_ = g_slice_new0 (MsmSimGetServiceCenterNumberRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_service_center_number_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_service_center_number_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	msm_sim_get_service_center_number_real_run_co (_data_);
}


static void msm_sim_get_service_center_number_real_run_finish (FsoGsmSimGetServiceCenterNumber* base, GAsyncResult* _res_, GError** error) {
	MsmSimGetServiceCenterNumberRunData* _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 gboolean msm_sim_get_service_center_number_real_run_co (MsmSimGetServiceCenterNumberRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimGetServiceCenterNumber* msm_sim_get_service_center_number_construct (GType object_type) {
	MsmSimGetServiceCenterNumber * self = NULL;
	self = (MsmSimGetServiceCenterNumber*) fso_gsm_sim_get_service_center_number_construct (object_type);
	return self;
}


MsmSimGetServiceCenterNumber* msm_sim_get_service_center_number_new (void) {
	return msm_sim_get_service_center_number_construct (TYPE_MSM_SIM_GET_SERVICE_CENTER_NUMBER);
}


static void msm_sim_get_service_center_number_class_init (MsmSimGetServiceCenterNumberClass * klass) {
	msm_sim_get_service_center_number_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_SERVICE_CENTER_NUMBER_CLASS (klass)->run = msm_sim_get_service_center_number_real_run;
	FSO_GSM_SIM_GET_SERVICE_CENTER_NUMBER_CLASS (klass)->run_finish = msm_sim_get_service_center_number_real_run_finish;
}


static void msm_sim_get_service_center_number_instance_init (MsmSimGetServiceCenterNumber * self) {
}


GType msm_sim_get_service_center_number_get_type (void) {
	return msm_sim_get_service_center_number_type_id;
}


GType msm_sim_get_service_center_number_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetServiceCenterNumberClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_service_center_number_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetServiceCenterNumber), 0, (GInstanceInitFunc) msm_sim_get_service_center_number_instance_init, NULL };
	msm_sim_get_service_center_number_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_SERVICE_CENTER_NUMBER, "MsmSimGetServiceCenterNumber", &g_define_type_info, 0);
	return msm_sim_get_service_center_number_type_id;
}


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


static void msm_sim_get_unlock_counters_real_run (FsoGsmSimGetUnlockCounters* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimGetUnlockCounters * self;
	MsmSimGetUnlockCountersRunData* _data_;
	MsmSimGetUnlockCounters* _tmp0_;
	self = (MsmSimGetUnlockCounters*) base;
	_data_ = g_slice_new0 (MsmSimGetUnlockCountersRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_get_unlock_counters_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_get_unlock_counters_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	msm_sim_get_unlock_counters_real_run_co (_data_);
}


static void msm_sim_get_unlock_counters_real_run_finish (FsoGsmSimGetUnlockCounters* base, GAsyncResult* _res_, GError** error) {
	MsmSimGetUnlockCountersRunData* _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 gboolean msm_sim_get_unlock_counters_real_run_co (MsmSimGetUnlockCountersRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimGetUnlockCounters* msm_sim_get_unlock_counters_construct (GType object_type) {
	MsmSimGetUnlockCounters * self = NULL;
	self = (MsmSimGetUnlockCounters*) fso_gsm_sim_get_unlock_counters_construct (object_type);
	return self;
}


MsmSimGetUnlockCounters* msm_sim_get_unlock_counters_new (void) {
	return msm_sim_get_unlock_counters_construct (TYPE_MSM_SIM_GET_UNLOCK_COUNTERS);
}


static void msm_sim_get_unlock_counters_class_init (MsmSimGetUnlockCountersClass * klass) {
	msm_sim_get_unlock_counters_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_UNLOCK_COUNTERS_CLASS (klass)->run = msm_sim_get_unlock_counters_real_run;
	FSO_GSM_SIM_GET_UNLOCK_COUNTERS_CLASS (klass)->run_finish = msm_sim_get_unlock_counters_real_run_finish;
}


static void msm_sim_get_unlock_counters_instance_init (MsmSimGetUnlockCounters * self) {
}


GType msm_sim_get_unlock_counters_get_type (void) {
	return msm_sim_get_unlock_counters_type_id;
}


GType msm_sim_get_unlock_counters_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimGetUnlockCountersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_get_unlock_counters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimGetUnlockCounters), 0, (GInstanceInitFunc) msm_sim_get_unlock_counters_instance_init, NULL };
	msm_sim_get_unlock_counters_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_UNLOCK_COUNTERS, "MsmSimGetUnlockCounters", &g_define_type_info, 0);
	return msm_sim_get_unlock_counters_type_id;
}


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


static void msm_sim_retrieve_message_real_run (FsoGsmSimRetrieveMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimRetrieveMessage * self;
	MsmSimRetrieveMessageRunData* _data_;
	MsmSimRetrieveMessage* _tmp0_;
	gint _tmp1_;
	self = (MsmSimRetrieveMessage*) base;
	_data_ = g_slice_new0 (MsmSimRetrieveMessageRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_retrieve_message_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_retrieve_message_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = index;
	_data_->index = _tmp1_;
	msm_sim_retrieve_message_real_run_co (_data_);
}


static void msm_sim_retrieve_message_real_run_finish (FsoGsmSimRetrieveMessage* base, GAsyncResult* _res_, gchar** status, gchar** number, gchar** contents, GHashTable** properties, GError** error) {
	MsmSimRetrieveMessageRunData* _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_));
	if (status) {
		*status = _data_->status;
	} else {
		_g_free0 (_data_->status);
	}
	_data_->status = NULL;
	if (number) {
		*number = _data_->number;
	} else {
		_g_free0 (_data_->number);
	}
	_data_->number = NULL;
	if (contents) {
		*contents = _data_->contents;
	} else {
		_g_free0 (_data_->contents);
	}
	_data_->contents = NULL;
	if (properties) {
		*properties = _data_->properties;
	} else {
		_g_hash_table_unref0 (_data_->properties);
	}
	_data_->properties = NULL;
}


static gboolean msm_sim_retrieve_message_real_run_co (MsmSimRetrieveMessageRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimRetrieveMessage* msm_sim_retrieve_message_construct (GType object_type) {
	MsmSimRetrieveMessage * self = NULL;
	self = (MsmSimRetrieveMessage*) fso_gsm_sim_retrieve_message_construct (object_type);
	return self;
}


MsmSimRetrieveMessage* msm_sim_retrieve_message_new (void) {
	return msm_sim_retrieve_message_construct (TYPE_MSM_SIM_RETRIEVE_MESSAGE);
}


static void msm_sim_retrieve_message_class_init (MsmSimRetrieveMessageClass * klass) {
	msm_sim_retrieve_message_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_RETRIEVE_MESSAGE_CLASS (klass)->run = msm_sim_retrieve_message_real_run;
	FSO_GSM_SIM_RETRIEVE_MESSAGE_CLASS (klass)->run_finish = msm_sim_retrieve_message_real_run_finish;
}


static void msm_sim_retrieve_message_instance_init (MsmSimRetrieveMessage * self) {
}


GType msm_sim_retrieve_message_get_type (void) {
	return msm_sim_retrieve_message_type_id;
}


GType msm_sim_retrieve_message_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimRetrieveMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_retrieve_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimRetrieveMessage), 0, (GInstanceInitFunc) msm_sim_retrieve_message_instance_init, NULL };
	msm_sim_retrieve_message_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_RETRIEVE_MESSAGE, "MsmSimRetrieveMessage", &g_define_type_info, 0);
	return msm_sim_retrieve_message_type_id;
}


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


static void msm_sim_send_stored_message_real_run (FsoGsmSimSendStoredMessage* base, gint index, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimSendStoredMessage * self;
	MsmSimSendStoredMessageRunData* _data_;
	MsmSimSendStoredMessage* _tmp0_;
	gint _tmp1_;
	self = (MsmSimSendStoredMessage*) base;
	_data_ = g_slice_new0 (MsmSimSendStoredMessageRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_send_stored_message_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_send_stored_message_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = index;
	_data_->index = _tmp1_;
	msm_sim_send_stored_message_real_run_co (_data_);
}


static void msm_sim_send_stored_message_real_run_finish (FsoGsmSimSendStoredMessage* base, GAsyncResult* _res_, GError** error) {
	MsmSimSendStoredMessageRunData* _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 gboolean msm_sim_send_stored_message_real_run_co (MsmSimSendStoredMessageRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimSendStoredMessage* msm_sim_send_stored_message_construct (GType object_type) {
	MsmSimSendStoredMessage * self = NULL;
	self = (MsmSimSendStoredMessage*) fso_gsm_sim_send_stored_message_construct (object_type);
	return self;
}


MsmSimSendStoredMessage* msm_sim_send_stored_message_new (void) {
	return msm_sim_send_stored_message_construct (TYPE_MSM_SIM_SEND_STORED_MESSAGE);
}


static void msm_sim_send_stored_message_class_init (MsmSimSendStoredMessageClass * klass) {
	msm_sim_send_stored_message_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_SEND_STORED_MESSAGE_CLASS (klass)->run = msm_sim_send_stored_message_real_run;
	FSO_GSM_SIM_SEND_STORED_MESSAGE_CLASS (klass)->run_finish = msm_sim_send_stored_message_real_run_finish;
}


static void msm_sim_send_stored_message_instance_init (MsmSimSendStoredMessage * self) {
}


GType msm_sim_send_stored_message_get_type (void) {
	return msm_sim_send_stored_message_type_id;
}


GType msm_sim_send_stored_message_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimSendStoredMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_send_stored_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimSendStoredMessage), 0, (GInstanceInitFunc) msm_sim_send_stored_message_instance_init, NULL };
	msm_sim_send_stored_message_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_SEND_STORED_MESSAGE, "MsmSimSendStoredMessage", &g_define_type_info, 0);
	return msm_sim_send_stored_message_type_id;
}


static void msm_sim_set_service_center_number_real_run_data_free (gpointer _data) {
	MsmSimSetServiceCenterNumberRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->number);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimSetServiceCenterNumberRunData, _data_);
}


static void msm_sim_set_service_center_number_real_run (FsoGsmSimSetServiceCenterNumber* base, const gchar* number, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimSetServiceCenterNumber * self;
	MsmSimSetServiceCenterNumberRunData* _data_;
	MsmSimSetServiceCenterNumber* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	self = (MsmSimSetServiceCenterNumber*) base;
	_data_ = g_slice_new0 (MsmSimSetServiceCenterNumberRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_set_service_center_number_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_set_service_center_number_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = number;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->number = _tmp2_;
	msm_sim_set_service_center_number_real_run_co (_data_);
}


static void msm_sim_set_service_center_number_real_run_finish (FsoGsmSimSetServiceCenterNumber* base, GAsyncResult* _res_, GError** error) {
	MsmSimSetServiceCenterNumberRunData* _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 gboolean msm_sim_set_service_center_number_real_run_co (MsmSimSetServiceCenterNumberRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimSetServiceCenterNumber* msm_sim_set_service_center_number_construct (GType object_type) {
	MsmSimSetServiceCenterNumber * self = NULL;
	self = (MsmSimSetServiceCenterNumber*) fso_gsm_sim_set_service_center_number_construct (object_type);
	return self;
}


MsmSimSetServiceCenterNumber* msm_sim_set_service_center_number_new (void) {
	return msm_sim_set_service_center_number_construct (TYPE_MSM_SIM_SET_SERVICE_CENTER_NUMBER);
}


static void msm_sim_set_service_center_number_class_init (MsmSimSetServiceCenterNumberClass * klass) {
	msm_sim_set_service_center_number_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_SET_SERVICE_CENTER_NUMBER_CLASS (klass)->run = msm_sim_set_service_center_number_real_run;
	FSO_GSM_SIM_SET_SERVICE_CENTER_NUMBER_CLASS (klass)->run_finish = msm_sim_set_service_center_number_real_run_finish;
}


static void msm_sim_set_service_center_number_instance_init (MsmSimSetServiceCenterNumber * self) {
}


GType msm_sim_set_service_center_number_get_type (void) {
	return msm_sim_set_service_center_number_type_id;
}


GType msm_sim_set_service_center_number_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimSetServiceCenterNumberClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_set_service_center_number_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimSetServiceCenterNumber), 0, (GInstanceInitFunc) msm_sim_set_service_center_number_instance_init, NULL };
	msm_sim_set_service_center_number_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_SET_SERVICE_CENTER_NUMBER, "MsmSimSetServiceCenterNumber", &g_define_type_info, 0);
	return msm_sim_set_service_center_number_type_id;
}


static void msm_sim_store_message_real_run_data_free (gpointer _data) {
	MsmSimStoreMessageRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->recipient_number);
	_g_free0 (_data_->contents);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimStoreMessageRunData, _data_);
}


static void msm_sim_store_message_real_run (FsoGsmSimStoreMessage* base, const gchar* recipient_number, const gchar* contents, gboolean want_report, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimStoreMessage * self;
	MsmSimStoreMessageRunData* _data_;
	MsmSimStoreMessage* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	self = (MsmSimStoreMessage*) base;
	_data_ = g_slice_new0 (MsmSimStoreMessageRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_store_message_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_store_message_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = recipient_number;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->recipient_number = _tmp2_;
	_tmp3_ = contents;
	_tmp4_ = g_strdup (_tmp3_);
	_data_->contents = _tmp4_;
	_tmp5_ = want_report;
	_data_->want_report = _tmp5_;
	msm_sim_store_message_real_run_co (_data_);
}


static void msm_sim_store_message_real_run_finish (FsoGsmSimStoreMessage* base, GAsyncResult* _res_, GError** error) {
	MsmSimStoreMessageRunData* _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 gboolean msm_sim_store_message_real_run_co (MsmSimStoreMessageRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimStoreMessage* msm_sim_store_message_construct (GType object_type) {
	MsmSimStoreMessage * self = NULL;
	self = (MsmSimStoreMessage*) fso_gsm_sim_store_message_construct (object_type);
	return self;
}


MsmSimStoreMessage* msm_sim_store_message_new (void) {
	return msm_sim_store_message_construct (TYPE_MSM_SIM_STORE_MESSAGE);
}


static void msm_sim_store_message_class_init (MsmSimStoreMessageClass * klass) {
	msm_sim_store_message_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_STORE_MESSAGE_CLASS (klass)->run = msm_sim_store_message_real_run;
	FSO_GSM_SIM_STORE_MESSAGE_CLASS (klass)->run_finish = msm_sim_store_message_real_run_finish;
}


static void msm_sim_store_message_instance_init (MsmSimStoreMessage * self) {
}


GType msm_sim_store_message_get_type (void) {
	return msm_sim_store_message_type_id;
}


GType msm_sim_store_message_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimStoreMessageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_store_message_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimStoreMessage), 0, (GInstanceInitFunc) msm_sim_store_message_instance_init, NULL };
	msm_sim_store_message_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_STORE_MESSAGE, "MsmSimStoreMessage", &g_define_type_info, 0);
	return msm_sim_store_message_type_id;
}


static void msm_sim_unlock_real_run_data_free (gpointer _data) {
	MsmSimUnlockRunData* _data_;
	_data_ = _data;
	_g_free0 (_data_->puk);
	_g_free0 (_data_->newpin);
	_g_object_unref0 (_data_->self);
	g_slice_free (MsmSimUnlockRunData, _data_);
}


static void msm_sim_unlock_real_run (FsoGsmSimUnlock* base, const gchar* puk, const gchar* newpin, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MsmSimUnlock * self;
	MsmSimUnlockRunData* _data_;
	MsmSimUnlock* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	self = (MsmSimUnlock*) base;
	_data_ = g_slice_new0 (MsmSimUnlockRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, msm_sim_unlock_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, msm_sim_unlock_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = puk;
	_tmp2_ = g_strdup (_tmp1_);
	_data_->puk = _tmp2_;
	_tmp3_ = newpin;
	_tmp4_ = g_strdup (_tmp3_);
	_data_->newpin = _tmp4_;
	msm_sim_unlock_real_run_co (_data_);
}


static void msm_sim_unlock_real_run_finish (FsoGsmSimUnlock* base, GAsyncResult* _res_, GError** error) {
	MsmSimUnlockRunData* _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 gboolean msm_sim_unlock_real_run_co (MsmSimUnlockRunData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_error_new_literal (FREE_SMARTPHONE_ERROR, FREE_SMARTPHONE_ERROR_UNSUPPORTED, "Not yet implemented");
	_data_->_inner_error_ = _data_->_tmp0_;
	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_);
		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 {
		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;
	}
	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;
}


MsmSimUnlock* msm_sim_unlock_construct (GType object_type) {
	MsmSimUnlock * self = NULL;
	self = (MsmSimUnlock*) fso_gsm_sim_unlock_construct (object_type);
	return self;
}


MsmSimUnlock* msm_sim_unlock_new (void) {
	return msm_sim_unlock_construct (TYPE_MSM_SIM_UNLOCK);
}


static void msm_sim_unlock_class_init (MsmSimUnlockClass * klass) {
	msm_sim_unlock_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_UNLOCK_CLASS (klass)->run = msm_sim_unlock_real_run;
	FSO_GSM_SIM_UNLOCK_CLASS (klass)->run_finish = msm_sim_unlock_real_run_finish;
}


static void msm_sim_unlock_instance_init (MsmSimUnlock * self) {
}


GType msm_sim_unlock_get_type (void) {
	return msm_sim_unlock_type_id;
}


GType msm_sim_unlock_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (MsmSimUnlockClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) msm_sim_unlock_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MsmSimUnlock), 0, (GInstanceInitFunc) msm_sim_unlock_instance_init, NULL };
	msm_sim_unlock_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_UNLOCK, "MsmSimUnlock", &g_define_type_info, 0);
	return msm_sim_unlock_type_id;
}



