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

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

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

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

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


#define TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION (ti_calypso_at_monitor_get_serving_cell_information_get_type ())
#define TI_CALYPSO_AT_MONITOR_GET_SERVING_CELL_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION, TiCalypsoAtMonitorGetServingCellInformation))
#define TI_CALYPSO_AT_MONITOR_GET_SERVING_CELL_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION, TiCalypsoAtMonitorGetServingCellInformationClass))
#define TI_CALYPSO_IS_AT_MONITOR_GET_SERVING_CELL_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION))
#define TI_CALYPSO_IS_AT_MONITOR_GET_SERVING_CELL_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION))
#define TI_CALYPSO_AT_MONITOR_GET_SERVING_CELL_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION, TiCalypsoAtMonitorGetServingCellInformationClass))

typedef struct _TiCalypsoAtMonitorGetServingCellInformation TiCalypsoAtMonitorGetServingCellInformation;
typedef struct _TiCalypsoAtMonitorGetServingCellInformationClass TiCalypsoAtMonitorGetServingCellInformationClass;
typedef struct _TiCalypsoAtMonitorGetServingCellInformationPrivate TiCalypsoAtMonitorGetServingCellInformationPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TI_CALYPSO_TYPE_PERCENT_EM21 (ti_calypso_percent_em21_get_type ())
#define TI_CALYPSO_PERCENT_EM21(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_PERCENT_EM21, TiCalypsoPercentEM21))
#define TI_CALYPSO_PERCENT_EM21_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_PERCENT_EM21, TiCalypsoPercentEM21Class))
#define TI_CALYPSO_IS_PERCENT_EM21(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_PERCENT_EM21))
#define TI_CALYPSO_IS_PERCENT_EM21_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_PERCENT_EM21))
#define TI_CALYPSO_PERCENT_EM21_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_PERCENT_EM21, TiCalypsoPercentEM21Class))

typedef struct _TiCalypsoPercentEM21 TiCalypsoPercentEM21;
typedef struct _TiCalypsoPercentEM21Class TiCalypsoPercentEM21Class;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
typedef struct _TiCalypsoPercentEM21Private TiCalypsoPercentEM21Private;
typedef struct _TiCalypsoAtMonitorGetServingCellInformationRunData TiCalypsoAtMonitorGetServingCellInformationRunData;

#define TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION (ti_calypso_at_monitor_get_neighbour_cell_information_get_type ())
#define TI_CALYPSO_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION, TiCalypsoAtMonitorGetNeighbourCellInformation))
#define TI_CALYPSO_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION, TiCalypsoAtMonitorGetNeighbourCellInformationClass))
#define TI_CALYPSO_IS_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION))
#define TI_CALYPSO_IS_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION))
#define TI_CALYPSO_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION, TiCalypsoAtMonitorGetNeighbourCellInformationClass))

typedef struct _TiCalypsoAtMonitorGetNeighbourCellInformation TiCalypsoAtMonitorGetNeighbourCellInformation;
typedef struct _TiCalypsoAtMonitorGetNeighbourCellInformationClass TiCalypsoAtMonitorGetNeighbourCellInformationClass;
typedef struct _TiCalypsoAtMonitorGetNeighbourCellInformationPrivate TiCalypsoAtMonitorGetNeighbourCellInformationPrivate;

#define TI_CALYPSO_TYPE_PERCENT_EM23 (ti_calypso_percent_em23_get_type ())
#define TI_CALYPSO_PERCENT_EM23(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_PERCENT_EM23, TiCalypsoPercentEM23))
#define TI_CALYPSO_PERCENT_EM23_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_PERCENT_EM23, TiCalypsoPercentEM23Class))
#define TI_CALYPSO_IS_PERCENT_EM23(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_PERCENT_EM23))
#define TI_CALYPSO_IS_PERCENT_EM23_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_PERCENT_EM23))
#define TI_CALYPSO_PERCENT_EM23_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_PERCENT_EM23, TiCalypsoPercentEM23Class))

typedef struct _TiCalypsoPercentEM23 TiCalypsoPercentEM23;
typedef struct _TiCalypsoPercentEM23Class TiCalypsoPercentEM23Class;
typedef struct _TiCalypsoPercentEM23Private TiCalypsoPercentEM23Private;
typedef struct _TiCalypsoAtMonitorGetNeighbourCellInformationRunData TiCalypsoAtMonitorGetNeighbourCellInformationRunData;

#define TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS (ti_calypso_at_sim_get_unlock_counters_get_type ())
#define TI_CALYPSO_AT_SIM_GET_UNLOCK_COUNTERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS, TiCalypsoAtSimGetUnlockCounters))
#define TI_CALYPSO_AT_SIM_GET_UNLOCK_COUNTERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS, TiCalypsoAtSimGetUnlockCountersClass))
#define TI_CALYPSO_IS_AT_SIM_GET_UNLOCK_COUNTERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS))
#define TI_CALYPSO_IS_AT_SIM_GET_UNLOCK_COUNTERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS))
#define TI_CALYPSO_AT_SIM_GET_UNLOCK_COUNTERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS, TiCalypsoAtSimGetUnlockCountersClass))

typedef struct _TiCalypsoAtSimGetUnlockCounters TiCalypsoAtSimGetUnlockCounters;
typedef struct _TiCalypsoAtSimGetUnlockCountersClass TiCalypsoAtSimGetUnlockCountersClass;
typedef struct _TiCalypsoAtSimGetUnlockCountersPrivate TiCalypsoAtSimGetUnlockCountersPrivate;

#define TI_CALYPSO_TYPE_PERCENT_PVRF (ti_calypso_percent_pvrf_get_type ())
#define TI_CALYPSO_PERCENT_PVRF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_PERCENT_PVRF, TiCalypsoPercentPVRF))
#define TI_CALYPSO_PERCENT_PVRF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_PERCENT_PVRF, TiCalypsoPercentPVRFClass))
#define TI_CALYPSO_IS_PERCENT_PVRF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_PERCENT_PVRF))
#define TI_CALYPSO_IS_PERCENT_PVRF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_PERCENT_PVRF))
#define TI_CALYPSO_PERCENT_PVRF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_PERCENT_PVRF, TiCalypsoPercentPVRFClass))

typedef struct _TiCalypsoPercentPVRF TiCalypsoPercentPVRF;
typedef struct _TiCalypsoPercentPVRFClass TiCalypsoPercentPVRFClass;
typedef struct _TiCalypsoPercentPVRFPrivate TiCalypsoPercentPVRFPrivate;
typedef struct _TiCalypsoAtSimGetUnlockCountersRunData TiCalypsoAtSimGetUnlockCountersRunData;

#define TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER (ti_calypso_at_voice_mailbox_get_number_get_type ())
#define TI_CALYPSO_AT_VOICE_MAILBOX_GET_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER, TiCalypsoAtVoiceMailboxGetNumber))
#define TI_CALYPSO_AT_VOICE_MAILBOX_GET_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER, TiCalypsoAtVoiceMailboxGetNumberClass))
#define TI_CALYPSO_IS_AT_VOICE_MAILBOX_GET_NUMBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER))
#define TI_CALYPSO_IS_AT_VOICE_MAILBOX_GET_NUMBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER))
#define TI_CALYPSO_AT_VOICE_MAILBOX_GET_NUMBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER, TiCalypsoAtVoiceMailboxGetNumberClass))

typedef struct _TiCalypsoAtVoiceMailboxGetNumber TiCalypsoAtVoiceMailboxGetNumber;
typedef struct _TiCalypsoAtVoiceMailboxGetNumberClass TiCalypsoAtVoiceMailboxGetNumberClass;
typedef struct _TiCalypsoAtVoiceMailboxGetNumberPrivate TiCalypsoAtVoiceMailboxGetNumberPrivate;

#define TI_CALYPSO_TYPE_PERCENT_CPMB (ti_calypso_percent_cpmb_get_type ())
#define TI_CALYPSO_PERCENT_CPMB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TI_CALYPSO_TYPE_PERCENT_CPMB, TiCalypsoPercentCPMB))
#define TI_CALYPSO_PERCENT_CPMB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TI_CALYPSO_TYPE_PERCENT_CPMB, TiCalypsoPercentCPMBClass))
#define TI_CALYPSO_IS_PERCENT_CPMB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TI_CALYPSO_TYPE_PERCENT_CPMB))
#define TI_CALYPSO_IS_PERCENT_CPMB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TI_CALYPSO_TYPE_PERCENT_CPMB))
#define TI_CALYPSO_PERCENT_CPMB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TI_CALYPSO_TYPE_PERCENT_CPMB, TiCalypsoPercentCPMBClass))

typedef struct _TiCalypsoPercentCPMB TiCalypsoPercentCPMB;
typedef struct _TiCalypsoPercentCPMBClass TiCalypsoPercentCPMBClass;
typedef struct _TiCalypsoPercentCPMBPrivate TiCalypsoPercentCPMBPrivate;
typedef struct _TiCalypsoAtVoiceMailboxGetNumberRunData TiCalypsoAtVoiceMailboxGetNumberRunData;

struct _TiCalypsoAtMonitorGetServingCellInformation {
	FsoGsmMonitorGetServingCellInformation parent_instance;
	TiCalypsoAtMonitorGetServingCellInformationPrivate * priv;
};

struct _TiCalypsoAtMonitorGetServingCellInformationClass {
	FsoGsmMonitorGetServingCellInformationClass parent_class;
};

struct _TiCalypsoPercentEM21 {
	FsoGsmAbstractAtCommand parent_instance;
	TiCalypsoPercentEM21Private * priv;
	gint arfcn;
	gint c1;
	gint c2;
	gint rxlev;
	gint bsic;
	gint cid;
	gint dsc;
	gint txlev;
	gint tn;
	gint rlt;
	gint tav;
	gint rxlev_f;
	gint rxlev_s;
	gint rxqual_f;
	gint rxqual_s;
	gint lac;
	gint cba;
	gint cbq;
	gint ctype;
	gint vocoder;
};

struct _TiCalypsoPercentEM21Class {
	FsoGsmAbstractAtCommandClass parent_class;
};

struct _TiCalypsoAtMonitorGetServingCellInformationRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	TiCalypsoAtMonitorGetServingCellInformation* self;
	FsoGsmModem* _tmp0_;
	gpointer _tmp1_;
	TiCalypsoPercentEM21* cmd;
	FsoGsmModem* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gint _tmp5_;
	gchar** _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	gchar** response;
	gint response_length1;
	gint _response_size_;
	GHashFunc _tmp8_;
	GEqualFunc _tmp9_;
	GHashTable* _tmp10_;
	GHashTable* _tmp11_;
	GHashTable* _tmp12_;
	GHashTable* _tmp13_;
	gchar* _tmp14_;
	gint _tmp15_;
	GVariant* _tmp16_;
	GHashTable* _tmp17_;
	GHashTable* _tmp18_;
	gchar* _tmp19_;
	gint _tmp20_;
	GVariant* _tmp21_;
	GHashTable* _tmp22_;
	GHashTable* _tmp23_;
	gchar* _tmp24_;
	gint _tmp25_;
	GVariant* _tmp26_;
	GHashTable* _tmp27_;
	GHashTable* _tmp28_;
	gchar* _tmp29_;
	gint _tmp30_;
	GVariant* _tmp31_;
	GHashTable* _tmp32_;
	GHashTable* _tmp33_;
	gchar* _tmp34_;
	gint _tmp35_;
	GVariant* _tmp36_;
	GHashTable* _tmp37_;
	GHashTable* _tmp38_;
	gchar* _tmp39_;
	gint _tmp40_;
	GVariant* _tmp41_;
	GHashTable* _tmp42_;
	GHashTable* _tmp43_;
	gchar* _tmp44_;
	gint _tmp45_;
	GVariant* _tmp46_;
	GHashTable* _tmp47_;
	GHashTable* _tmp48_;
	gchar* _tmp49_;
	gint _tmp50_;
	GVariant* _tmp51_;
	GHashTable* _tmp52_;
	GHashTable* _tmp53_;
	gchar* _tmp54_;
	gint _tmp55_;
	GVariant* _tmp56_;
	GHashTable* _tmp57_;
	GHashTable* _tmp58_;
	gchar* _tmp59_;
	gint _tmp60_;
	GVariant* _tmp61_;
	GHashTable* _tmp62_;
	GHashTable* _tmp63_;
	gchar* _tmp64_;
	gint _tmp65_;
	GVariant* _tmp66_;
	GHashTable* _tmp67_;
	GHashTable* _tmp68_;
	gchar* _tmp69_;
	gint _tmp70_;
	GVariant* _tmp71_;
	GHashTable* _tmp72_;
	GHashTable* _tmp73_;
	gchar* _tmp74_;
	gint _tmp75_;
	GVariant* _tmp76_;
	GHashTable* _tmp77_;
	GHashTable* _tmp78_;
	gchar* _tmp79_;
	gint _tmp80_;
	GVariant* _tmp81_;
	GHashTable* _tmp82_;
	GHashTable* _tmp83_;
	gchar* _tmp84_;
	gint _tmp85_;
	GVariant* _tmp86_;
	GHashTable* _tmp87_;
	GHashTable* _tmp88_;
	gchar* _tmp89_;
	gint _tmp90_;
	GVariant* _tmp91_;
	GHashTable* _tmp92_;
	GHashTable* _tmp93_;
	gchar* _tmp94_;
	gint _tmp95_;
	GVariant* _tmp96_;
	GHashTable* _tmp97_;
	GHashTable* _tmp98_;
	gchar* _tmp99_;
	gint _tmp100_;
	GVariant* _tmp101_;
	GHashTable* _tmp102_;
	GHashTable* _tmp103_;
	gchar* _tmp104_;
	gint _tmp105_;
	GVariant* _tmp106_;
	GHashTable* _tmp107_;
	GHashTable* _tmp108_;
	gchar* _tmp109_;
	gint _tmp110_;
	GVariant* _tmp111_;
	GError * _inner_error_;
};

struct _TiCalypsoAtMonitorGetNeighbourCellInformation {
	FsoGsmMonitorGetNeighbourCellInformation parent_instance;
	TiCalypsoAtMonitorGetNeighbourCellInformationPrivate * priv;
};

struct _TiCalypsoAtMonitorGetNeighbourCellInformationClass {
	FsoGsmMonitorGetNeighbourCellInformationClass parent_class;
};

struct _TiCalypsoPercentEM23 {
	FsoGsmAbstractAtCommand parent_instance;
	TiCalypsoPercentEM23Private * priv;
	gint valid;
	gint* arfcn;
	gint arfcn_length1;
	gint* c1;
	gint c1_length1;
	gint* c2;
	gint c2_length1;
	gint* rxlev;
	gint rxlev_length1;
	gint* bsic;
	gint bsic_length1;
	gint* cid;
	gint cid_length1;
	gint* lac;
	gint lac_length1;
	gint* foffset;
	gint foffset_length1;
	gint* timea;
	gint timea_length1;
	gint* cba;
	gint cba_length1;
	gint* cbq;
	gint cbq_length1;
	gint* ctype;
	gint ctype_length1;
	gint* rac;
	gint rac_length1;
	gint* roffset;
	gint roffset_length1;
	gint* toffset;
	gint toffset_length1;
	gint* rxlevam;
	gint rxlevam_length1;
};

struct _TiCalypsoPercentEM23Class {
	FsoGsmAbstractAtCommandClass parent_class;
};

struct _TiCalypsoAtMonitorGetNeighbourCellInformationRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	TiCalypsoAtMonitorGetNeighbourCellInformation* self;
	FsoGsmModem* _tmp0_;
	gpointer _tmp1_;
	TiCalypsoPercentEM23* cmd;
	FsoGsmModem* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gint _tmp5_;
	gchar** _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	gchar** response;
	gint response_length1;
	gint _response_size_;
	gint _tmp8_;
	GHashTable** _tmp9_;
	GHashTable** _tmp10_;
	gint _tmp10__length1;
	gint i;
	gboolean _tmp11_;
	gboolean _tmp12_;
	gint _tmp13_;
	gint _tmp14_;
	gint _tmp15_;
	GHashFunc _tmp16_;
	GEqualFunc _tmp17_;
	GHashTable* _tmp18_;
	GHashTable* cell;
	GHashTable* _tmp19_;
	gchar* _tmp20_;
	gint* _tmp21_;
	gint _tmp21__length1;
	gint _tmp22_;
	gint _tmp23_;
	GVariant* _tmp24_;
	GHashTable* _tmp25_;
	gchar* _tmp26_;
	gint* _tmp27_;
	gint _tmp27__length1;
	gint _tmp28_;
	gint _tmp29_;
	GVariant* _tmp30_;
	GHashTable* _tmp31_;
	gchar* _tmp32_;
	gint* _tmp33_;
	gint _tmp33__length1;
	gint _tmp34_;
	gint _tmp35_;
	GVariant* _tmp36_;
	GHashTable* _tmp37_;
	gchar* _tmp38_;
	gint* _tmp39_;
	gint _tmp39__length1;
	gint _tmp40_;
	gint _tmp41_;
	GVariant* _tmp42_;
	GHashTable* _tmp43_;
	gchar* _tmp44_;
	gint* _tmp45_;
	gint _tmp45__length1;
	gint _tmp46_;
	gint _tmp47_;
	GVariant* _tmp48_;
	GHashTable* _tmp49_;
	gchar* _tmp50_;
	gint* _tmp51_;
	gint _tmp51__length1;
	gint _tmp52_;
	gint _tmp53_;
	GVariant* _tmp54_;
	GHashTable* _tmp55_;
	gchar* _tmp56_;
	gint* _tmp57_;
	gint _tmp57__length1;
	gint _tmp58_;
	gint _tmp59_;
	GVariant* _tmp60_;
	GHashTable* _tmp61_;
	gchar* _tmp62_;
	gint* _tmp63_;
	gint _tmp63__length1;
	gint _tmp64_;
	gint _tmp65_;
	GVariant* _tmp66_;
	GHashTable* _tmp67_;
	gchar* _tmp68_;
	gint* _tmp69_;
	gint _tmp69__length1;
	gint _tmp70_;
	gint _tmp71_;
	GVariant* _tmp72_;
	GHashTable* _tmp73_;
	gchar* _tmp74_;
	gint* _tmp75_;
	gint _tmp75__length1;
	gint _tmp76_;
	gint _tmp77_;
	GVariant* _tmp78_;
	GHashTable* _tmp79_;
	gchar* _tmp80_;
	gint* _tmp81_;
	gint _tmp81__length1;
	gint _tmp82_;
	gint _tmp83_;
	GVariant* _tmp84_;
	GHashTable* _tmp85_;
	gchar* _tmp86_;
	gint* _tmp87_;
	gint _tmp87__length1;
	gint _tmp88_;
	gint _tmp89_;
	GVariant* _tmp90_;
	GHashTable* _tmp91_;
	gchar* _tmp92_;
	gint* _tmp93_;
	gint _tmp93__length1;
	gint _tmp94_;
	gint _tmp95_;
	GVariant* _tmp96_;
	GHashTable* _tmp97_;
	gchar* _tmp98_;
	gint* _tmp99_;
	gint _tmp99__length1;
	gint _tmp100_;
	gint _tmp101_;
	GVariant* _tmp102_;
	GHashTable* _tmp103_;
	gchar* _tmp104_;
	gint* _tmp105_;
	gint _tmp105__length1;
	gint _tmp106_;
	gint _tmp107_;
	GVariant* _tmp108_;
	GHashTable* _tmp109_;
	gchar* _tmp110_;
	gint* _tmp111_;
	gint _tmp111__length1;
	gint _tmp112_;
	gint _tmp113_;
	GVariant* _tmp114_;
	GHashTable** _tmp115_;
	gint _tmp115__length1;
	GHashTable** _tmp116_;
	gint _tmp116__length1;
	gint _tmp117_;
	GHashTable* _tmp118_;
	GHashTable* _tmp119_;
	GHashTable* _tmp120_;
	GError * _inner_error_;
};

struct _TiCalypsoAtSimGetUnlockCounters {
	FsoGsmSimGetUnlockCounters parent_instance;
	TiCalypsoAtSimGetUnlockCountersPrivate * priv;
};

struct _TiCalypsoAtSimGetUnlockCountersClass {
	FsoGsmSimGetUnlockCountersClass parent_class;
};

struct _TiCalypsoPercentPVRF {
	FsoGsmAbstractAtCommand parent_instance;
	TiCalypsoPercentPVRFPrivate * priv;
	gint pin;
	gint pin2;
	gint puk;
	gint puk2;
};

struct _TiCalypsoPercentPVRFClass {
	FsoGsmAbstractAtCommandClass parent_class;
};

struct _TiCalypsoAtSimGetUnlockCountersRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	TiCalypsoAtSimGetUnlockCounters* self;
	FsoGsmModem* _tmp0_;
	gpointer _tmp1_;
	TiCalypsoPercentPVRF* cmd;
	FsoGsmModem* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gint _tmp5_;
	gchar** _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	gchar** response;
	gint response_length1;
	gint _response_size_;
	GHashFunc _tmp8_;
	GEqualFunc _tmp9_;
	GHashTable* _tmp10_;
	GHashTable* _tmp11_;
	GHashTable* _tmp12_;
	GHashTable* _tmp13_;
	gchar* _tmp14_;
	gint _tmp15_;
	GVariant* _tmp16_;
	GHashTable* _tmp17_;
	GHashTable* _tmp18_;
	gchar* _tmp19_;
	gint _tmp20_;
	GVariant* _tmp21_;
	GHashTable* _tmp22_;
	GHashTable* _tmp23_;
	gchar* _tmp24_;
	gint _tmp25_;
	GVariant* _tmp26_;
	GHashTable* _tmp27_;
	GHashTable* _tmp28_;
	gchar* _tmp29_;
	gint _tmp30_;
	GVariant* _tmp31_;
	GError * _inner_error_;
};

struct _TiCalypsoAtVoiceMailboxGetNumber {
	FsoGsmVoiceMailboxGetNumber parent_instance;
	TiCalypsoAtVoiceMailboxGetNumberPrivate * priv;
};

struct _TiCalypsoAtVoiceMailboxGetNumberClass {
	FsoGsmVoiceMailboxGetNumberClass parent_class;
};

struct _TiCalypsoPercentCPMB {
	FsoGsmAbstractAtCommand parent_instance;
	TiCalypsoPercentCPMBPrivate * priv;
	gchar* number;
};

struct _TiCalypsoPercentCPMBClass {
	FsoGsmAbstractAtCommandClass parent_class;
};

struct _TiCalypsoAtVoiceMailboxGetNumberRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	TiCalypsoAtVoiceMailboxGetNumber* self;
	FsoGsmModem* _tmp0_;
	gpointer _tmp1_;
	TiCalypsoPercentCPMB* cmd;
	FsoGsmModem* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gint _tmp5_;
	gchar** _tmp6_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	gchar** response;
	gint response_length1;
	gint _response_size_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	GError * _inner_error_;
};


static gpointer ti_calypso_at_monitor_get_serving_cell_information_parent_class = NULL;
static GType ti_calypso_at_monitor_get_serving_cell_information_type_id = 0;
static gpointer ti_calypso_at_monitor_get_neighbour_cell_information_parent_class = NULL;
static GType ti_calypso_at_monitor_get_neighbour_cell_information_type_id = 0;
static gpointer ti_calypso_at_sim_get_unlock_counters_parent_class = NULL;
static GType ti_calypso_at_sim_get_unlock_counters_type_id = 0;
static gpointer ti_calypso_at_voice_mailbox_get_number_parent_class = NULL;
static GType ti_calypso_at_voice_mailbox_get_number_type_id = 0;

GType ti_calypso_at_monitor_get_serving_cell_information_get_type (void) G_GNUC_CONST;
GType ti_calypso_at_monitor_get_serving_cell_information_register_type (GTypeModule * module);
enum  {
	TI_CALYPSO_AT_MONITOR_GET_SERVING_CELL_INFORMATION_DUMMY_PROPERTY
};
static void ti_calypso_at_monitor_get_serving_cell_information_real_run_data_free (gpointer _data);
static void ti_calypso_at_monitor_get_serving_cell_information_real_run (FsoGsmMonitorGetServingCellInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean ti_calypso_at_monitor_get_serving_cell_information_real_run_co (TiCalypsoAtMonitorGetServingCellInformationRunData* _data_);
GType ti_calypso_percent_em21_get_type (void) G_GNUC_CONST;
GType ti_calypso_percent_em21_register_type (GTypeModule * module);
gchar* ti_calypso_percent_em21_query (TiCalypsoPercentEM21* self);
static void ti_calypso_at_monitor_get_serving_cell_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _g_free0_ (gpointer var);
static void _g_variant_unref0_ (gpointer var);
static GVariant* _variant_new1 (gint value);
static GVariant* _variant_new2 (gint value);
static GVariant* _variant_new3 (gint value);
static GVariant* _variant_new4 (gint value);
static GVariant* _variant_new5 (gint value);
static GVariant* _variant_new6 (gint value);
static GVariant* _variant_new7 (gint value);
static GVariant* _variant_new8 (gint value);
static GVariant* _variant_new9 (gint value);
static GVariant* _variant_new10 (gint value);
static GVariant* _variant_new11 (gint value);
static GVariant* _variant_new12 (gint value);
static GVariant* _variant_new13 (gint value);
static GVariant* _variant_new14 (gint value);
static GVariant* _variant_new15 (gint value);
static GVariant* _variant_new16 (gint value);
static GVariant* _variant_new17 (gint value);
static GVariant* _variant_new18 (gint value);
static GVariant* _variant_new19 (gint value);
static GVariant* _variant_new20 (gint value);
TiCalypsoAtMonitorGetServingCellInformation* ti_calypso_at_monitor_get_serving_cell_information_new (void);
TiCalypsoAtMonitorGetServingCellInformation* ti_calypso_at_monitor_get_serving_cell_information_construct (GType object_type);
GType ti_calypso_at_monitor_get_neighbour_cell_information_get_type (void) G_GNUC_CONST;
GType ti_calypso_at_monitor_get_neighbour_cell_information_register_type (GTypeModule * module);
enum  {
	TI_CALYPSO_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_DUMMY_PROPERTY
};
static void ti_calypso_at_monitor_get_neighbour_cell_information_real_run_data_free (gpointer _data);
static void ti_calypso_at_monitor_get_neighbour_cell_information_real_run (FsoGsmMonitorGetNeighbourCellInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean ti_calypso_at_monitor_get_neighbour_cell_information_real_run_co (TiCalypsoAtMonitorGetNeighbourCellInformationRunData* _data_);
GType ti_calypso_percent_em23_get_type (void) G_GNUC_CONST;
GType ti_calypso_percent_em23_register_type (GTypeModule * module);
gchar* ti_calypso_percent_em23_query (TiCalypsoPercentEM23* self);
static void ti_calypso_at_monitor_get_neighbour_cell_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static GVariant* _variant_new21 (gint value);
static GVariant* _variant_new22 (gint value);
static GVariant* _variant_new23 (gint value);
static GVariant* _variant_new24 (gint value);
static GVariant* _variant_new25 (gint value);
static GVariant* _variant_new26 (gint value);
static GVariant* _variant_new27 (gint value);
static GVariant* _variant_new28 (gint value);
static GVariant* _variant_new29 (gint value);
static GVariant* _variant_new30 (gint value);
static GVariant* _variant_new31 (gint value);
static GVariant* _variant_new32 (gint value);
static GVariant* _variant_new33 (gint value);
static GVariant* _variant_new34 (gint value);
static GVariant* _variant_new35 (gint value);
static GVariant* _variant_new36 (gint value);
TiCalypsoAtMonitorGetNeighbourCellInformation* ti_calypso_at_monitor_get_neighbour_cell_information_new (void);
TiCalypsoAtMonitorGetNeighbourCellInformation* ti_calypso_at_monitor_get_neighbour_cell_information_construct (GType object_type);
GType ti_calypso_at_sim_get_unlock_counters_get_type (void) G_GNUC_CONST;
GType ti_calypso_at_sim_get_unlock_counters_register_type (GTypeModule * module);
enum  {
	TI_CALYPSO_AT_SIM_GET_UNLOCK_COUNTERS_DUMMY_PROPERTY
};
static void ti_calypso_at_sim_get_unlock_counters_real_run_data_free (gpointer _data);
static void ti_calypso_at_sim_get_unlock_counters_real_run (FsoGsmSimGetUnlockCounters* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean ti_calypso_at_sim_get_unlock_counters_real_run_co (TiCalypsoAtSimGetUnlockCountersRunData* _data_);
GType ti_calypso_percent_pvrf_get_type (void) G_GNUC_CONST;
GType ti_calypso_percent_pvrf_register_type (GTypeModule * module);
gchar* ti_calypso_percent_pvrf_query (TiCalypsoPercentPVRF* self);
static void ti_calypso_at_sim_get_unlock_counters_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static GVariant* _variant_new37 (gint value);
static GVariant* _variant_new38 (gint value);
static GVariant* _variant_new39 (gint value);
static GVariant* _variant_new40 (gint value);
TiCalypsoAtSimGetUnlockCounters* ti_calypso_at_sim_get_unlock_counters_new (void);
TiCalypsoAtSimGetUnlockCounters* ti_calypso_at_sim_get_unlock_counters_construct (GType object_type);
GType ti_calypso_at_voice_mailbox_get_number_get_type (void) G_GNUC_CONST;
GType ti_calypso_at_voice_mailbox_get_number_register_type (GTypeModule * module);
enum  {
	TI_CALYPSO_AT_VOICE_MAILBOX_GET_NUMBER_DUMMY_PROPERTY
};
static void ti_calypso_at_voice_mailbox_get_number_real_run_data_free (gpointer _data);
static void ti_calypso_at_voice_mailbox_get_number_real_run (FsoGsmVoiceMailboxGetNumber* base, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean ti_calypso_at_voice_mailbox_get_number_real_run_co (TiCalypsoAtVoiceMailboxGetNumberRunData* _data_);
GType ti_calypso_percent_cpmb_get_type (void) G_GNUC_CONST;
GType ti_calypso_percent_cpmb_register_type (GTypeModule * module);
gchar* ti_calypso_percent_cpmb_query (TiCalypsoPercentCPMB* self);
static void ti_calypso_at_voice_mailbox_get_number_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
TiCalypsoAtVoiceMailboxGetNumber* ti_calypso_at_voice_mailbox_get_number_new (void);
TiCalypsoAtVoiceMailboxGetNumber* ti_calypso_at_voice_mailbox_get_number_construct (GType object_type);
void ti_calypso_registerCustomMediators (GeeHashMap* table);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


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


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


static void ti_calypso_at_monitor_get_serving_cell_information_real_run (FsoGsmMonitorGetServingCellInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	TiCalypsoAtMonitorGetServingCellInformation * self;
	TiCalypsoAtMonitorGetServingCellInformationRunData* _data_;
	TiCalypsoAtMonitorGetServingCellInformation* _tmp0_;
	self = (TiCalypsoAtMonitorGetServingCellInformation*) base;
	_data_ = g_slice_new0 (TiCalypsoAtMonitorGetServingCellInformationRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, ti_calypso_at_monitor_get_serving_cell_information_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, ti_calypso_at_monitor_get_serving_cell_information_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	ti_calypso_at_monitor_get_serving_cell_information_real_run_co (_data_);
}


static void ti_calypso_at_monitor_get_serving_cell_information_real_run_finish (FsoGsmMonitorGetServingCellInformation* base, GAsyncResult* _res_, GError** error) {
	TiCalypsoAtMonitorGetServingCellInformationRunData* _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 ti_calypso_at_monitor_get_serving_cell_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	TiCalypsoAtMonitorGetServingCellInformationRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	ti_calypso_at_monitor_get_serving_cell_information_real_run_co (_data_);
}


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


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


static GVariant* _variant_new1 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new2 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new3 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new4 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new5 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new6 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new7 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new8 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new9 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new10 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new11 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new12 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new13 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new14 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new15 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new16 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new17 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new18 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new19 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new20 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static gboolean ti_calypso_at_monitor_get_serving_cell_information_real_run_co (TiCalypsoAtMonitorGetServingCellInformationRunData* _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_createAtCommand (_data_->_tmp0_, TI_CALYPSO_TYPE_PERCENT_EM21, (GBoxedCopyFunc) g_object_ref, g_object_unref, "%EM21");
	_data_->cmd = (TiCalypsoPercentEM21*) _data_->_tmp1_;
	_data_->_tmp2_ = fso_gsm_theModem;
	_data_->_tmp3_ = NULL;
	_data_->_tmp3_ = ti_calypso_percent_em21_query (_data_->cmd);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = 0;
	_data_->_state_ = 1;
	fso_gsm_modem_processAtCommandAsync (_data_->_tmp2_, (FsoGsmAtCommand*) _data_->cmd, _data_->_tmp4_, FSO_GSM_MODEM_DEFAULT_RETRIES, ti_calypso_at_monitor_get_serving_cell_information_run_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp6_ = NULL;
	_data_->_tmp6_ = fso_gsm_modem_processAtCommandAsync_finish (_data_->_tmp2_, _data_->_res_, &_data_->_tmp5_);
	_data_->_tmp7_ = _data_->_tmp6_;
	_data_->_tmp7__length1 = _data_->_tmp5_;
	_g_free0 (_data_->_tmp4_);
	_data_->response = _data_->_tmp7_;
	_data_->response_length1 = _data_->_tmp7__length1;
	_data_->_response_size_ = _data_->response_length1;
	fso_gsm_checkResponseValid ((FsoGsmAtCommand*) _data_->cmd, _data_->response, _data_->response_length1, &_data_->_inner_error_);
	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_);
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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 {
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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_->_tmp8_ = g_str_hash;
	_data_->_tmp9_ = g_str_equal;
	_data_->_tmp10_ = g_hash_table_new_full (_data_->_tmp8_, _data_->_tmp9_, _g_free0_, _g_variant_unref0_);
	_data_->_tmp11_ = _data_->_tmp10_;
	fso_gsm_monitor_get_serving_cell_information_set_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self, _data_->_tmp11_);
	_g_hash_table_unref0 (_data_->_tmp11_);
	_data_->_tmp12_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp13_ = _data_->_tmp12_;
	_data_->_tmp14_ = g_strdup ("arfcn");
	_data_->_tmp15_ = _data_->cmd->arfcn;
	_data_->_tmp16_ = _variant_new1 (_data_->_tmp15_);
	g_hash_table_insert (_data_->_tmp13_, _data_->_tmp14_, _data_->_tmp16_);
	_data_->_tmp17_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp18_ = _data_->_tmp17_;
	_data_->_tmp19_ = g_strdup ("c1");
	_data_->_tmp20_ = _data_->cmd->c1;
	_data_->_tmp21_ = _variant_new2 (_data_->_tmp20_);
	g_hash_table_insert (_data_->_tmp18_, _data_->_tmp19_, _data_->_tmp21_);
	_data_->_tmp22_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp23_ = _data_->_tmp22_;
	_data_->_tmp24_ = g_strdup ("c2");
	_data_->_tmp25_ = _data_->cmd->c2;
	_data_->_tmp26_ = _variant_new3 (_data_->_tmp25_);
	g_hash_table_insert (_data_->_tmp23_, _data_->_tmp24_, _data_->_tmp26_);
	_data_->_tmp27_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp28_ = _data_->_tmp27_;
	_data_->_tmp29_ = g_strdup ("rxlev");
	_data_->_tmp30_ = _data_->cmd->rxlev;
	_data_->_tmp31_ = _variant_new4 (_data_->_tmp30_);
	g_hash_table_insert (_data_->_tmp28_, _data_->_tmp29_, _data_->_tmp31_);
	_data_->_tmp32_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp33_ = _data_->_tmp32_;
	_data_->_tmp34_ = g_strdup ("bsic");
	_data_->_tmp35_ = _data_->cmd->bsic;
	_data_->_tmp36_ = _variant_new5 (_data_->_tmp35_);
	g_hash_table_insert (_data_->_tmp33_, _data_->_tmp34_, _data_->_tmp36_);
	_data_->_tmp37_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp38_ = _data_->_tmp37_;
	_data_->_tmp39_ = g_strdup ("cid");
	_data_->_tmp40_ = _data_->cmd->cid;
	_data_->_tmp41_ = _variant_new6 (_data_->_tmp40_);
	g_hash_table_insert (_data_->_tmp38_, _data_->_tmp39_, _data_->_tmp41_);
	_data_->_tmp42_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp43_ = _data_->_tmp42_;
	_data_->_tmp44_ = g_strdup ("dsc");
	_data_->_tmp45_ = _data_->cmd->dsc;
	_data_->_tmp46_ = _variant_new7 (_data_->_tmp45_);
	g_hash_table_insert (_data_->_tmp43_, _data_->_tmp44_, _data_->_tmp46_);
	_data_->_tmp47_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp48_ = _data_->_tmp47_;
	_data_->_tmp49_ = g_strdup ("txlev");
	_data_->_tmp50_ = _data_->cmd->txlev;
	_data_->_tmp51_ = _variant_new8 (_data_->_tmp50_);
	g_hash_table_insert (_data_->_tmp48_, _data_->_tmp49_, _data_->_tmp51_);
	_data_->_tmp52_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp53_ = _data_->_tmp52_;
	_data_->_tmp54_ = g_strdup ("tn");
	_data_->_tmp55_ = _data_->cmd->tn;
	_data_->_tmp56_ = _variant_new9 (_data_->_tmp55_);
	g_hash_table_insert (_data_->_tmp53_, _data_->_tmp54_, _data_->_tmp56_);
	_data_->_tmp57_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp58_ = _data_->_tmp57_;
	_data_->_tmp59_ = g_strdup ("rlt");
	_data_->_tmp60_ = _data_->cmd->rlt;
	_data_->_tmp61_ = _variant_new10 (_data_->_tmp60_);
	g_hash_table_insert (_data_->_tmp58_, _data_->_tmp59_, _data_->_tmp61_);
	_data_->_tmp62_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp63_ = _data_->_tmp62_;
	_data_->_tmp64_ = g_strdup ("tav");
	_data_->_tmp65_ = _data_->cmd->tav;
	_data_->_tmp66_ = _variant_new11 (_data_->_tmp65_);
	g_hash_table_insert (_data_->_tmp63_, _data_->_tmp64_, _data_->_tmp66_);
	_data_->_tmp67_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp68_ = _data_->_tmp67_;
	_data_->_tmp69_ = g_strdup ("rxlev_f");
	_data_->_tmp70_ = _data_->cmd->rxlev_f;
	_data_->_tmp71_ = _variant_new12 (_data_->_tmp70_);
	g_hash_table_insert (_data_->_tmp68_, _data_->_tmp69_, _data_->_tmp71_);
	_data_->_tmp72_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp73_ = _data_->_tmp72_;
	_data_->_tmp74_ = g_strdup ("rxlev_s");
	_data_->_tmp75_ = _data_->cmd->rxlev_s;
	_data_->_tmp76_ = _variant_new13 (_data_->_tmp75_);
	g_hash_table_insert (_data_->_tmp73_, _data_->_tmp74_, _data_->_tmp76_);
	_data_->_tmp77_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp78_ = _data_->_tmp77_;
	_data_->_tmp79_ = g_strdup ("rxqual_f");
	_data_->_tmp80_ = _data_->cmd->rxqual_f;
	_data_->_tmp81_ = _variant_new14 (_data_->_tmp80_);
	g_hash_table_insert (_data_->_tmp78_, _data_->_tmp79_, _data_->_tmp81_);
	_data_->_tmp82_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp83_ = _data_->_tmp82_;
	_data_->_tmp84_ = g_strdup ("rxqual_s");
	_data_->_tmp85_ = _data_->cmd->rxqual_s;
	_data_->_tmp86_ = _variant_new15 (_data_->_tmp85_);
	g_hash_table_insert (_data_->_tmp83_, _data_->_tmp84_, _data_->_tmp86_);
	_data_->_tmp87_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp88_ = _data_->_tmp87_;
	_data_->_tmp89_ = g_strdup ("lac");
	_data_->_tmp90_ = _data_->cmd->lac;
	_data_->_tmp91_ = _variant_new16 (_data_->_tmp90_);
	g_hash_table_insert (_data_->_tmp88_, _data_->_tmp89_, _data_->_tmp91_);
	_data_->_tmp92_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp93_ = _data_->_tmp92_;
	_data_->_tmp94_ = g_strdup ("cba");
	_data_->_tmp95_ = _data_->cmd->cba;
	_data_->_tmp96_ = _variant_new17 (_data_->_tmp95_);
	g_hash_table_insert (_data_->_tmp93_, _data_->_tmp94_, _data_->_tmp96_);
	_data_->_tmp97_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp98_ = _data_->_tmp97_;
	_data_->_tmp99_ = g_strdup ("cbq");
	_data_->_tmp100_ = _data_->cmd->cbq;
	_data_->_tmp101_ = _variant_new18 (_data_->_tmp100_);
	g_hash_table_insert (_data_->_tmp98_, _data_->_tmp99_, _data_->_tmp101_);
	_data_->_tmp102_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp103_ = _data_->_tmp102_;
	_data_->_tmp104_ = g_strdup ("ctype");
	_data_->_tmp105_ = _data_->cmd->ctype;
	_data_->_tmp106_ = _variant_new19 (_data_->_tmp105_);
	g_hash_table_insert (_data_->_tmp103_, _data_->_tmp104_, _data_->_tmp106_);
	_data_->_tmp107_ = fso_gsm_monitor_get_serving_cell_information_get_cell ((FsoGsmMonitorGetServingCellInformation*) _data_->self);
	_data_->_tmp108_ = _data_->_tmp107_;
	_data_->_tmp109_ = g_strdup ("vocoder");
	_data_->_tmp110_ = _data_->cmd->vocoder;
	_data_->_tmp111_ = _variant_new20 (_data_->_tmp110_);
	g_hash_table_insert (_data_->_tmp108_, _data_->_tmp109_, _data_->_tmp111_);
	_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (_data_->cmd);
	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;
}


TiCalypsoAtMonitorGetServingCellInformation* ti_calypso_at_monitor_get_serving_cell_information_construct (GType object_type) {
	TiCalypsoAtMonitorGetServingCellInformation * self = NULL;
	self = (TiCalypsoAtMonitorGetServingCellInformation*) fso_gsm_monitor_get_serving_cell_information_construct (object_type);
	return self;
}


TiCalypsoAtMonitorGetServingCellInformation* ti_calypso_at_monitor_get_serving_cell_information_new (void) {
	return ti_calypso_at_monitor_get_serving_cell_information_construct (TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION);
}


static void ti_calypso_at_monitor_get_serving_cell_information_class_init (TiCalypsoAtMonitorGetServingCellInformationClass * klass) {
	ti_calypso_at_monitor_get_serving_cell_information_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_MONITOR_GET_SERVING_CELL_INFORMATION_CLASS (klass)->run = ti_calypso_at_monitor_get_serving_cell_information_real_run;
	FSO_GSM_MONITOR_GET_SERVING_CELL_INFORMATION_CLASS (klass)->run_finish = ti_calypso_at_monitor_get_serving_cell_information_real_run_finish;
}


static void ti_calypso_at_monitor_get_serving_cell_information_instance_init (TiCalypsoAtMonitorGetServingCellInformation * self) {
}


/**
 * Monitor Mediators
 **/
GType ti_calypso_at_monitor_get_serving_cell_information_get_type (void) {
	return ti_calypso_at_monitor_get_serving_cell_information_type_id;
}


GType ti_calypso_at_monitor_get_serving_cell_information_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (TiCalypsoAtMonitorGetServingCellInformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ti_calypso_at_monitor_get_serving_cell_information_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TiCalypsoAtMonitorGetServingCellInformation), 0, (GInstanceInitFunc) ti_calypso_at_monitor_get_serving_cell_information_instance_init, NULL };
	ti_calypso_at_monitor_get_serving_cell_information_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_MONITOR_GET_SERVING_CELL_INFORMATION, "TiCalypsoAtMonitorGetServingCellInformation", &g_define_type_info, 0);
	return ti_calypso_at_monitor_get_serving_cell_information_type_id;
}


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


static void ti_calypso_at_monitor_get_neighbour_cell_information_real_run (FsoGsmMonitorGetNeighbourCellInformation* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	TiCalypsoAtMonitorGetNeighbourCellInformation * self;
	TiCalypsoAtMonitorGetNeighbourCellInformationRunData* _data_;
	TiCalypsoAtMonitorGetNeighbourCellInformation* _tmp0_;
	self = (TiCalypsoAtMonitorGetNeighbourCellInformation*) base;
	_data_ = g_slice_new0 (TiCalypsoAtMonitorGetNeighbourCellInformationRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, ti_calypso_at_monitor_get_neighbour_cell_information_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, ti_calypso_at_monitor_get_neighbour_cell_information_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	ti_calypso_at_monitor_get_neighbour_cell_information_real_run_co (_data_);
}


static void ti_calypso_at_monitor_get_neighbour_cell_information_real_run_finish (FsoGsmMonitorGetNeighbourCellInformation* base, GAsyncResult* _res_, GError** error) {
	TiCalypsoAtMonitorGetNeighbourCellInformationRunData* _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 ti_calypso_at_monitor_get_neighbour_cell_information_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	TiCalypsoAtMonitorGetNeighbourCellInformationRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	ti_calypso_at_monitor_get_neighbour_cell_information_real_run_co (_data_);
}


static GVariant* _variant_new21 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new22 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new23 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new24 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new25 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new26 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new27 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new28 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new29 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new30 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new31 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new32 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new33 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new34 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new35 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new36 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static gpointer _g_hash_table_ref0 (gpointer self) {
	return self ? g_hash_table_ref (self) : NULL;
}


static gboolean ti_calypso_at_monitor_get_neighbour_cell_information_real_run_co (TiCalypsoAtMonitorGetNeighbourCellInformationRunData* _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_createAtCommand (_data_->_tmp0_, TI_CALYPSO_TYPE_PERCENT_EM23, (GBoxedCopyFunc) g_object_ref, g_object_unref, "%EM23");
	_data_->cmd = (TiCalypsoPercentEM23*) _data_->_tmp1_;
	_data_->_tmp2_ = fso_gsm_theModem;
	_data_->_tmp3_ = NULL;
	_data_->_tmp3_ = ti_calypso_percent_em23_query (_data_->cmd);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = 0;
	_data_->_state_ = 1;
	fso_gsm_modem_processAtCommandAsync (_data_->_tmp2_, (FsoGsmAtCommand*) _data_->cmd, _data_->_tmp4_, FSO_GSM_MODEM_DEFAULT_RETRIES, ti_calypso_at_monitor_get_neighbour_cell_information_run_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp6_ = NULL;
	_data_->_tmp6_ = fso_gsm_modem_processAtCommandAsync_finish (_data_->_tmp2_, _data_->_res_, &_data_->_tmp5_);
	_data_->_tmp7_ = _data_->_tmp6_;
	_data_->_tmp7__length1 = _data_->_tmp5_;
	_g_free0 (_data_->_tmp4_);
	_data_->response = _data_->_tmp7_;
	_data_->response_length1 = _data_->_tmp7__length1;
	_data_->_response_size_ = _data_->response_length1;
	fso_gsm_checkMultiResponseValid ((FsoGsmAtCommand*) _data_->cmd, _data_->response, _data_->response_length1, &_data_->_inner_error_);
	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_);
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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 {
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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_->_tmp8_ = _data_->cmd->valid;
	_data_->_tmp9_ = NULL;
	_data_->_tmp9_ = g_new0 (GHashTable*, _data_->_tmp8_ + 1);
	_data_->_tmp10_ = _data_->_tmp9_;
	_data_->_tmp10__length1 = _data_->_tmp8_;
	fso_gsm_monitor_get_neighbour_cell_information_set_cells ((FsoGsmMonitorGetNeighbourCellInformation*) _data_->self, _data_->_tmp10_, _data_->_tmp8_);
	_data_->_tmp10_ = (_vala_array_free (_data_->_tmp10_, _data_->_tmp10__length1, (GDestroyNotify) g_hash_table_unref), NULL);
	{
		_data_->i = 0;
		{
			_data_->_tmp11_ = TRUE;
			while (TRUE) {
				_data_->_tmp12_ = _data_->_tmp11_;
				if (!_data_->_tmp12_) {
					_data_->_tmp13_ = _data_->i;
					_data_->i = _data_->_tmp13_ + 1;
				}
				_data_->_tmp11_ = FALSE;
				_data_->_tmp14_ = _data_->i;
				_data_->_tmp15_ = _data_->cmd->valid;
				if (!(_data_->_tmp14_ < _data_->_tmp15_)) {
					break;
				}
				_data_->_tmp16_ = g_str_hash;
				_data_->_tmp17_ = g_str_equal;
				_data_->_tmp18_ = g_hash_table_new_full (_data_->_tmp16_, _data_->_tmp17_, _g_free0_, _g_variant_unref0_);
				_data_->cell = _data_->_tmp18_;
				_data_->_tmp19_ = _data_->cell;
				_data_->_tmp20_ = g_strdup ("arfcn");
				_data_->_tmp21_ = _data_->cmd->arfcn;
				_data_->_tmp21__length1 = _data_->cmd->arfcn_length1;
				_data_->_tmp22_ = _data_->i;
				_data_->_tmp23_ = _data_->_tmp21_[_data_->_tmp22_];
				_data_->_tmp24_ = _variant_new21 (_data_->_tmp23_);
				g_hash_table_insert (_data_->_tmp19_, _data_->_tmp20_, _data_->_tmp24_);
				_data_->_tmp25_ = _data_->cell;
				_data_->_tmp26_ = g_strdup ("c1");
				_data_->_tmp27_ = _data_->cmd->c1;
				_data_->_tmp27__length1 = _data_->cmd->c1_length1;
				_data_->_tmp28_ = _data_->i;
				_data_->_tmp29_ = _data_->_tmp27_[_data_->_tmp28_];
				_data_->_tmp30_ = _variant_new22 (_data_->_tmp29_);
				g_hash_table_insert (_data_->_tmp25_, _data_->_tmp26_, _data_->_tmp30_);
				_data_->_tmp31_ = _data_->cell;
				_data_->_tmp32_ = g_strdup ("c2");
				_data_->_tmp33_ = _data_->cmd->c2;
				_data_->_tmp33__length1 = _data_->cmd->c2_length1;
				_data_->_tmp34_ = _data_->i;
				_data_->_tmp35_ = _data_->_tmp33_[_data_->_tmp34_];
				_data_->_tmp36_ = _variant_new23 (_data_->_tmp35_);
				g_hash_table_insert (_data_->_tmp31_, _data_->_tmp32_, _data_->_tmp36_);
				_data_->_tmp37_ = _data_->cell;
				_data_->_tmp38_ = g_strdup ("rxlev");
				_data_->_tmp39_ = _data_->cmd->rxlev;
				_data_->_tmp39__length1 = _data_->cmd->rxlev_length1;
				_data_->_tmp40_ = _data_->i;
				_data_->_tmp41_ = _data_->_tmp39_[_data_->_tmp40_];
				_data_->_tmp42_ = _variant_new24 (_data_->_tmp41_);
				g_hash_table_insert (_data_->_tmp37_, _data_->_tmp38_, _data_->_tmp42_);
				_data_->_tmp43_ = _data_->cell;
				_data_->_tmp44_ = g_strdup ("bsic");
				_data_->_tmp45_ = _data_->cmd->bsic;
				_data_->_tmp45__length1 = _data_->cmd->bsic_length1;
				_data_->_tmp46_ = _data_->i;
				_data_->_tmp47_ = _data_->_tmp45_[_data_->_tmp46_];
				_data_->_tmp48_ = _variant_new25 (_data_->_tmp47_);
				g_hash_table_insert (_data_->_tmp43_, _data_->_tmp44_, _data_->_tmp48_);
				_data_->_tmp49_ = _data_->cell;
				_data_->_tmp50_ = g_strdup ("cid");
				_data_->_tmp51_ = _data_->cmd->cid;
				_data_->_tmp51__length1 = _data_->cmd->cid_length1;
				_data_->_tmp52_ = _data_->i;
				_data_->_tmp53_ = _data_->_tmp51_[_data_->_tmp52_];
				_data_->_tmp54_ = _variant_new26 (_data_->_tmp53_);
				g_hash_table_insert (_data_->_tmp49_, _data_->_tmp50_, _data_->_tmp54_);
				_data_->_tmp55_ = _data_->cell;
				_data_->_tmp56_ = g_strdup ("lac");
				_data_->_tmp57_ = _data_->cmd->lac;
				_data_->_tmp57__length1 = _data_->cmd->lac_length1;
				_data_->_tmp58_ = _data_->i;
				_data_->_tmp59_ = _data_->_tmp57_[_data_->_tmp58_];
				_data_->_tmp60_ = _variant_new27 (_data_->_tmp59_);
				g_hash_table_insert (_data_->_tmp55_, _data_->_tmp56_, _data_->_tmp60_);
				_data_->_tmp61_ = _data_->cell;
				_data_->_tmp62_ = g_strdup ("foffset");
				_data_->_tmp63_ = _data_->cmd->foffset;
				_data_->_tmp63__length1 = _data_->cmd->foffset_length1;
				_data_->_tmp64_ = _data_->i;
				_data_->_tmp65_ = _data_->_tmp63_[_data_->_tmp64_];
				_data_->_tmp66_ = _variant_new28 (_data_->_tmp65_);
				g_hash_table_insert (_data_->_tmp61_, _data_->_tmp62_, _data_->_tmp66_);
				_data_->_tmp67_ = _data_->cell;
				_data_->_tmp68_ = g_strdup ("timea");
				_data_->_tmp69_ = _data_->cmd->timea;
				_data_->_tmp69__length1 = _data_->cmd->timea_length1;
				_data_->_tmp70_ = _data_->i;
				_data_->_tmp71_ = _data_->_tmp69_[_data_->_tmp70_];
				_data_->_tmp72_ = _variant_new29 (_data_->_tmp71_);
				g_hash_table_insert (_data_->_tmp67_, _data_->_tmp68_, _data_->_tmp72_);
				_data_->_tmp73_ = _data_->cell;
				_data_->_tmp74_ = g_strdup ("cba");
				_data_->_tmp75_ = _data_->cmd->cba;
				_data_->_tmp75__length1 = _data_->cmd->cba_length1;
				_data_->_tmp76_ = _data_->i;
				_data_->_tmp77_ = _data_->_tmp75_[_data_->_tmp76_];
				_data_->_tmp78_ = _variant_new30 (_data_->_tmp77_);
				g_hash_table_insert (_data_->_tmp73_, _data_->_tmp74_, _data_->_tmp78_);
				_data_->_tmp79_ = _data_->cell;
				_data_->_tmp80_ = g_strdup ("cbq");
				_data_->_tmp81_ = _data_->cmd->cbq;
				_data_->_tmp81__length1 = _data_->cmd->cbq_length1;
				_data_->_tmp82_ = _data_->i;
				_data_->_tmp83_ = _data_->_tmp81_[_data_->_tmp82_];
				_data_->_tmp84_ = _variant_new31 (_data_->_tmp83_);
				g_hash_table_insert (_data_->_tmp79_, _data_->_tmp80_, _data_->_tmp84_);
				_data_->_tmp85_ = _data_->cell;
				_data_->_tmp86_ = g_strdup ("ctype");
				_data_->_tmp87_ = _data_->cmd->ctype;
				_data_->_tmp87__length1 = _data_->cmd->ctype_length1;
				_data_->_tmp88_ = _data_->i;
				_data_->_tmp89_ = _data_->_tmp87_[_data_->_tmp88_];
				_data_->_tmp90_ = _variant_new32 (_data_->_tmp89_);
				g_hash_table_insert (_data_->_tmp85_, _data_->_tmp86_, _data_->_tmp90_);
				_data_->_tmp91_ = _data_->cell;
				_data_->_tmp92_ = g_strdup ("rac");
				_data_->_tmp93_ = _data_->cmd->rac;
				_data_->_tmp93__length1 = _data_->cmd->rac_length1;
				_data_->_tmp94_ = _data_->i;
				_data_->_tmp95_ = _data_->_tmp93_[_data_->_tmp94_];
				_data_->_tmp96_ = _variant_new33 (_data_->_tmp95_);
				g_hash_table_insert (_data_->_tmp91_, _data_->_tmp92_, _data_->_tmp96_);
				_data_->_tmp97_ = _data_->cell;
				_data_->_tmp98_ = g_strdup ("roffset");
				_data_->_tmp99_ = _data_->cmd->roffset;
				_data_->_tmp99__length1 = _data_->cmd->roffset_length1;
				_data_->_tmp100_ = _data_->i;
				_data_->_tmp101_ = _data_->_tmp99_[_data_->_tmp100_];
				_data_->_tmp102_ = _variant_new34 (_data_->_tmp101_);
				g_hash_table_insert (_data_->_tmp97_, _data_->_tmp98_, _data_->_tmp102_);
				_data_->_tmp103_ = _data_->cell;
				_data_->_tmp104_ = g_strdup ("toffset");
				_data_->_tmp105_ = _data_->cmd->toffset;
				_data_->_tmp105__length1 = _data_->cmd->toffset_length1;
				_data_->_tmp106_ = _data_->i;
				_data_->_tmp107_ = _data_->_tmp105_[_data_->_tmp106_];
				_data_->_tmp108_ = _variant_new35 (_data_->_tmp107_);
				g_hash_table_insert (_data_->_tmp103_, _data_->_tmp104_, _data_->_tmp108_);
				_data_->_tmp109_ = _data_->cell;
				_data_->_tmp110_ = g_strdup ("rxlevam");
				_data_->_tmp111_ = _data_->cmd->rxlevam;
				_data_->_tmp111__length1 = _data_->cmd->rxlevam_length1;
				_data_->_tmp112_ = _data_->i;
				_data_->_tmp113_ = _data_->_tmp111_[_data_->_tmp112_];
				_data_->_tmp114_ = _variant_new36 (_data_->_tmp113_);
				g_hash_table_insert (_data_->_tmp109_, _data_->_tmp110_, _data_->_tmp114_);
				_data_->_tmp115_ = fso_gsm_monitor_get_neighbour_cell_information_get_cells ((FsoGsmMonitorGetNeighbourCellInformation*) _data_->self, &_data_->_tmp115__length1);
				_data_->_tmp116_ = _data_->_tmp115_;
				_data_->_tmp116__length1 = _data_->_tmp115__length1;
				_data_->_tmp117_ = _data_->i;
				_data_->_tmp118_ = _data_->cell;
				_data_->_tmp119_ = _g_hash_table_ref0 (_data_->_tmp118_);
				_g_hash_table_unref0 (_data_->_tmp116_[_data_->_tmp117_]);
				_data_->_tmp116_[_data_->_tmp117_] = _data_->_tmp119_;
				_data_->_tmp120_ = _data_->_tmp116_[_data_->_tmp117_];
				_g_hash_table_unref0 (_data_->cell);
			}
		}
	}
	_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (_data_->cmd);
	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;
}


TiCalypsoAtMonitorGetNeighbourCellInformation* ti_calypso_at_monitor_get_neighbour_cell_information_construct (GType object_type) {
	TiCalypsoAtMonitorGetNeighbourCellInformation * self = NULL;
	self = (TiCalypsoAtMonitorGetNeighbourCellInformation*) fso_gsm_monitor_get_neighbour_cell_information_construct (object_type);
	return self;
}


TiCalypsoAtMonitorGetNeighbourCellInformation* ti_calypso_at_monitor_get_neighbour_cell_information_new (void) {
	return ti_calypso_at_monitor_get_neighbour_cell_information_construct (TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION);
}


static void ti_calypso_at_monitor_get_neighbour_cell_information_class_init (TiCalypsoAtMonitorGetNeighbourCellInformationClass * klass) {
	ti_calypso_at_monitor_get_neighbour_cell_information_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_CLASS (klass)->run = ti_calypso_at_monitor_get_neighbour_cell_information_real_run;
	FSO_GSM_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION_CLASS (klass)->run_finish = ti_calypso_at_monitor_get_neighbour_cell_information_real_run_finish;
}


static void ti_calypso_at_monitor_get_neighbour_cell_information_instance_init (TiCalypsoAtMonitorGetNeighbourCellInformation * self) {
}


GType ti_calypso_at_monitor_get_neighbour_cell_information_get_type (void) {
	return ti_calypso_at_monitor_get_neighbour_cell_information_type_id;
}


GType ti_calypso_at_monitor_get_neighbour_cell_information_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (TiCalypsoAtMonitorGetNeighbourCellInformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ti_calypso_at_monitor_get_neighbour_cell_information_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TiCalypsoAtMonitorGetNeighbourCellInformation), 0, (GInstanceInitFunc) ti_calypso_at_monitor_get_neighbour_cell_information_instance_init, NULL };
	ti_calypso_at_monitor_get_neighbour_cell_information_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION, "TiCalypsoAtMonitorGetNeighbourCellInformation", &g_define_type_info, 0);
	return ti_calypso_at_monitor_get_neighbour_cell_information_type_id;
}


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


static void ti_calypso_at_sim_get_unlock_counters_real_run (FsoGsmSimGetUnlockCounters* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	TiCalypsoAtSimGetUnlockCounters * self;
	TiCalypsoAtSimGetUnlockCountersRunData* _data_;
	TiCalypsoAtSimGetUnlockCounters* _tmp0_;
	self = (TiCalypsoAtSimGetUnlockCounters*) base;
	_data_ = g_slice_new0 (TiCalypsoAtSimGetUnlockCountersRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, ti_calypso_at_sim_get_unlock_counters_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, ti_calypso_at_sim_get_unlock_counters_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	ti_calypso_at_sim_get_unlock_counters_real_run_co (_data_);
}


static void ti_calypso_at_sim_get_unlock_counters_real_run_finish (FsoGsmSimGetUnlockCounters* base, GAsyncResult* _res_, GError** error) {
	TiCalypsoAtSimGetUnlockCountersRunData* _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 ti_calypso_at_sim_get_unlock_counters_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	TiCalypsoAtSimGetUnlockCountersRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	ti_calypso_at_sim_get_unlock_counters_real_run_co (_data_);
}


static GVariant* _variant_new37 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new38 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new39 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static GVariant* _variant_new40 (gint value) {
	return g_variant_ref_sink (g_variant_new_int32 (value));
}


static gboolean ti_calypso_at_sim_get_unlock_counters_real_run_co (TiCalypsoAtSimGetUnlockCountersRunData* _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_createAtCommand (_data_->_tmp0_, TI_CALYPSO_TYPE_PERCENT_PVRF, (GBoxedCopyFunc) g_object_ref, g_object_unref, "%PVRF");
	_data_->cmd = (TiCalypsoPercentPVRF*) _data_->_tmp1_;
	_data_->_tmp2_ = fso_gsm_theModem;
	_data_->_tmp3_ = NULL;
	_data_->_tmp3_ = ti_calypso_percent_pvrf_query (_data_->cmd);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = 0;
	_data_->_state_ = 1;
	fso_gsm_modem_processAtCommandAsync (_data_->_tmp2_, (FsoGsmAtCommand*) _data_->cmd, _data_->_tmp4_, FSO_GSM_MODEM_DEFAULT_RETRIES, ti_calypso_at_sim_get_unlock_counters_run_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp6_ = NULL;
	_data_->_tmp6_ = fso_gsm_modem_processAtCommandAsync_finish (_data_->_tmp2_, _data_->_res_, &_data_->_tmp5_);
	_data_->_tmp7_ = _data_->_tmp6_;
	_data_->_tmp7__length1 = _data_->_tmp5_;
	_g_free0 (_data_->_tmp4_);
	_data_->response = _data_->_tmp7_;
	_data_->response_length1 = _data_->_tmp7__length1;
	_data_->_response_size_ = _data_->response_length1;
	fso_gsm_checkResponseValid ((FsoGsmAtCommand*) _data_->cmd, _data_->response, _data_->response_length1, &_data_->_inner_error_);
	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_);
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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 {
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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_->_tmp8_ = g_str_hash;
	_data_->_tmp9_ = g_str_equal;
	_data_->_tmp10_ = g_hash_table_new_full (_data_->_tmp8_, _data_->_tmp9_, _g_free0_, _g_variant_unref0_);
	_data_->_tmp11_ = _data_->_tmp10_;
	fso_gsm_sim_get_unlock_counters_set_counters ((FsoGsmSimGetUnlockCounters*) _data_->self, _data_->_tmp11_);
	_g_hash_table_unref0 (_data_->_tmp11_);
	_data_->_tmp12_ = fso_gsm_sim_get_unlock_counters_get_counters ((FsoGsmSimGetUnlockCounters*) _data_->self);
	_data_->_tmp13_ = _data_->_tmp12_;
	_data_->_tmp14_ = g_strdup ("SIM PIN");
	_data_->_tmp15_ = _data_->cmd->pin;
	_data_->_tmp16_ = _variant_new37 (_data_->_tmp15_);
	g_hash_table_insert (_data_->_tmp13_, _data_->_tmp14_, _data_->_tmp16_);
	_data_->_tmp17_ = fso_gsm_sim_get_unlock_counters_get_counters ((FsoGsmSimGetUnlockCounters*) _data_->self);
	_data_->_tmp18_ = _data_->_tmp17_;
	_data_->_tmp19_ = g_strdup ("SIM PIN2");
	_data_->_tmp20_ = _data_->cmd->pin2;
	_data_->_tmp21_ = _variant_new38 (_data_->_tmp20_);
	g_hash_table_insert (_data_->_tmp18_, _data_->_tmp19_, _data_->_tmp21_);
	_data_->_tmp22_ = fso_gsm_sim_get_unlock_counters_get_counters ((FsoGsmSimGetUnlockCounters*) _data_->self);
	_data_->_tmp23_ = _data_->_tmp22_;
	_data_->_tmp24_ = g_strdup ("SIM PUK");
	_data_->_tmp25_ = _data_->cmd->puk;
	_data_->_tmp26_ = _variant_new39 (_data_->_tmp25_);
	g_hash_table_insert (_data_->_tmp23_, _data_->_tmp24_, _data_->_tmp26_);
	_data_->_tmp27_ = fso_gsm_sim_get_unlock_counters_get_counters ((FsoGsmSimGetUnlockCounters*) _data_->self);
	_data_->_tmp28_ = _data_->_tmp27_;
	_data_->_tmp29_ = g_strdup ("SIM PUK2");
	_data_->_tmp30_ = _data_->cmd->puk2;
	_data_->_tmp31_ = _variant_new40 (_data_->_tmp30_);
	g_hash_table_insert (_data_->_tmp28_, _data_->_tmp29_, _data_->_tmp31_);
	_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (_data_->cmd);
	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;
}


TiCalypsoAtSimGetUnlockCounters* ti_calypso_at_sim_get_unlock_counters_construct (GType object_type) {
	TiCalypsoAtSimGetUnlockCounters * self = NULL;
	self = (TiCalypsoAtSimGetUnlockCounters*) fso_gsm_sim_get_unlock_counters_construct (object_type);
	return self;
}


TiCalypsoAtSimGetUnlockCounters* ti_calypso_at_sim_get_unlock_counters_new (void) {
	return ti_calypso_at_sim_get_unlock_counters_construct (TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS);
}


static void ti_calypso_at_sim_get_unlock_counters_class_init (TiCalypsoAtSimGetUnlockCountersClass * klass) {
	ti_calypso_at_sim_get_unlock_counters_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_SIM_GET_UNLOCK_COUNTERS_CLASS (klass)->run = ti_calypso_at_sim_get_unlock_counters_real_run;
	FSO_GSM_SIM_GET_UNLOCK_COUNTERS_CLASS (klass)->run_finish = ti_calypso_at_sim_get_unlock_counters_real_run_finish;
}


static void ti_calypso_at_sim_get_unlock_counters_instance_init (TiCalypsoAtSimGetUnlockCounters * self) {
}


GType ti_calypso_at_sim_get_unlock_counters_get_type (void) {
	return ti_calypso_at_sim_get_unlock_counters_type_id;
}


GType ti_calypso_at_sim_get_unlock_counters_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (TiCalypsoAtSimGetUnlockCountersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ti_calypso_at_sim_get_unlock_counters_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TiCalypsoAtSimGetUnlockCounters), 0, (GInstanceInitFunc) ti_calypso_at_sim_get_unlock_counters_instance_init, NULL };
	ti_calypso_at_sim_get_unlock_counters_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_SIM_GET_UNLOCK_COUNTERS, "TiCalypsoAtSimGetUnlockCounters", &g_define_type_info, 0);
	return ti_calypso_at_sim_get_unlock_counters_type_id;
}


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


static void ti_calypso_at_voice_mailbox_get_number_real_run (FsoGsmVoiceMailboxGetNumber* base, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	TiCalypsoAtVoiceMailboxGetNumber * self;
	TiCalypsoAtVoiceMailboxGetNumberRunData* _data_;
	TiCalypsoAtVoiceMailboxGetNumber* _tmp0_;
	self = (TiCalypsoAtVoiceMailboxGetNumber*) base;
	_data_ = g_slice_new0 (TiCalypsoAtVoiceMailboxGetNumberRunData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, ti_calypso_at_voice_mailbox_get_number_real_run);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, ti_calypso_at_voice_mailbox_get_number_real_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	ti_calypso_at_voice_mailbox_get_number_real_run_co (_data_);
}


static void ti_calypso_at_voice_mailbox_get_number_real_run_finish (FsoGsmVoiceMailboxGetNumber* base, GAsyncResult* _res_, GError** error) {
	TiCalypsoAtVoiceMailboxGetNumberRunData* _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 ti_calypso_at_voice_mailbox_get_number_run_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	TiCalypsoAtVoiceMailboxGetNumberRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	ti_calypso_at_voice_mailbox_get_number_real_run_co (_data_);
}


static gboolean ti_calypso_at_voice_mailbox_get_number_real_run_co (TiCalypsoAtVoiceMailboxGetNumberRunData* _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_createAtCommand (_data_->_tmp0_, TI_CALYPSO_TYPE_PERCENT_CPMB, (GBoxedCopyFunc) g_object_ref, g_object_unref, "%CPMB");
	_data_->cmd = (TiCalypsoPercentCPMB*) _data_->_tmp1_;
	_data_->_tmp2_ = fso_gsm_theModem;
	_data_->_tmp3_ = NULL;
	_data_->_tmp3_ = ti_calypso_percent_cpmb_query (_data_->cmd);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = 0;
	_data_->_state_ = 1;
	fso_gsm_modem_processAtCommandAsync (_data_->_tmp2_, (FsoGsmAtCommand*) _data_->cmd, _data_->_tmp4_, FSO_GSM_MODEM_DEFAULT_RETRIES, ti_calypso_at_voice_mailbox_get_number_run_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp6_ = NULL;
	_data_->_tmp6_ = fso_gsm_modem_processAtCommandAsync_finish (_data_->_tmp2_, _data_->_res_, &_data_->_tmp5_);
	_data_->_tmp7_ = _data_->_tmp6_;
	_data_->_tmp7__length1 = _data_->_tmp5_;
	_g_free0 (_data_->_tmp4_);
	_data_->response = _data_->_tmp7_;
	_data_->response_length1 = _data_->_tmp7__length1;
	_data_->_response_size_ = _data_->response_length1;
	fso_gsm_checkResponseValid ((FsoGsmAtCommand*) _data_->cmd, _data_->response, _data_->response_length1, &_data_->_inner_error_);
	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_);
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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 {
			_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
			_g_object_unref0 (_data_->cmd);
			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_->_tmp8_ = _data_->cmd->number;
	_data_->_tmp9_ = g_strdup (_data_->_tmp8_);
	_g_free0 (((FsoGsmVoiceMailboxGetNumber*) _data_->self)->number);
	((FsoGsmVoiceMailboxGetNumber*) _data_->self)->number = _data_->_tmp9_;
	_data_->response = (_vala_array_free (_data_->response, _data_->response_length1, (GDestroyNotify) g_free), NULL);
	_g_object_unref0 (_data_->cmd);
	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;
}


TiCalypsoAtVoiceMailboxGetNumber* ti_calypso_at_voice_mailbox_get_number_construct (GType object_type) {
	TiCalypsoAtVoiceMailboxGetNumber * self = NULL;
	self = (TiCalypsoAtVoiceMailboxGetNumber*) fso_gsm_voice_mailbox_get_number_construct (object_type);
	return self;
}


TiCalypsoAtVoiceMailboxGetNumber* ti_calypso_at_voice_mailbox_get_number_new (void) {
	return ti_calypso_at_voice_mailbox_get_number_construct (TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER);
}


static void ti_calypso_at_voice_mailbox_get_number_class_init (TiCalypsoAtVoiceMailboxGetNumberClass * klass) {
	ti_calypso_at_voice_mailbox_get_number_parent_class = g_type_class_peek_parent (klass);
	FSO_GSM_VOICE_MAILBOX_GET_NUMBER_CLASS (klass)->run = ti_calypso_at_voice_mailbox_get_number_real_run;
	FSO_GSM_VOICE_MAILBOX_GET_NUMBER_CLASS (klass)->run_finish = ti_calypso_at_voice_mailbox_get_number_real_run_finish;
}


static void ti_calypso_at_voice_mailbox_get_number_instance_init (TiCalypsoAtVoiceMailboxGetNumber * self) {
}


GType ti_calypso_at_voice_mailbox_get_number_get_type (void) {
	return ti_calypso_at_voice_mailbox_get_number_type_id;
}


GType ti_calypso_at_voice_mailbox_get_number_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (TiCalypsoAtVoiceMailboxGetNumberClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ti_calypso_at_voice_mailbox_get_number_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TiCalypsoAtVoiceMailboxGetNumber), 0, (GInstanceInitFunc) ti_calypso_at_voice_mailbox_get_number_instance_init, NULL };
	ti_calypso_at_voice_mailbox_get_number_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_VOICE_MAILBOX_GET_NUMBER, "TiCalypsoAtVoiceMailboxGetNumber", &g_define_type_info, 0);
	return ti_calypso_at_voice_mailbox_get_number_type_id;
}


/**
 * Register all mediators
 **/
void ti_calypso_registerCustomMediators (GeeHashMap* table) {
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	GeeHashMap* _tmp2_;
	GeeHashMap* _tmp3_;
	g_return_if_fail (table != NULL);
	_tmp0_ = table;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, GINT_TO_POINTER (FSO_GSM_TYPE_MONITOR_GET_SERVING_CELL_INFORMATION), GINT_TO_POINTER (TI_CALYPSO_TYPE_AT_MONITOR_GET_SERVING_CELL_INFORMATION));
	_tmp1_ = table;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp1_, GINT_TO_POINTER (FSO_GSM_TYPE_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION), GINT_TO_POINTER (TI_CALYPSO_TYPE_AT_MONITOR_GET_NEIGHBOUR_CELL_INFORMATION));
	_tmp2_ = table;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp2_, GINT_TO_POINTER (FSO_GSM_TYPE_SIM_GET_UNLOCK_COUNTERS), GINT_TO_POINTER (TI_CALYPSO_TYPE_AT_SIM_GET_UNLOCK_COUNTERS));
	_tmp3_ = table;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, GINT_TO_POINTER (FSO_GSM_TYPE_VOICE_MAILBOX_GET_NUMBER), GINT_TO_POINTER (TI_CALYPSO_TYPE_AT_VOICE_MAILBOX_GET_NUMBER));
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



