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

/*
 * Copyright (C) 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 <fsogsm.h>
#include <stdlib.h>
#include <string.h>
#include <fsotransport.h>
#include <fsobasics.h>
#include <gee.h>
#include <fsoframework.h>


#define SAMSUNG_TYPE_MODEM (samsung_modem_get_type ())
#define SAMSUNG_MODEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAMSUNG_TYPE_MODEM, SamsungModem))
#define SAMSUNG_MODEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAMSUNG_TYPE_MODEM, SamsungModemClass))
#define SAMSUNG_IS_MODEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAMSUNG_TYPE_MODEM))
#define SAMSUNG_IS_MODEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAMSUNG_TYPE_MODEM))
#define SAMSUNG_MODEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAMSUNG_TYPE_MODEM, SamsungModemClass))

typedef struct _SamsungModem SamsungModem;
typedef struct _SamsungModemClass SamsungModemClass;
typedef struct _SamsungModemPrivate SamsungModemPrivate;

#define SAMSUNG_TYPE_CALL_HANDLER (samsung_call_handler_get_type ())
#define SAMSUNG_CALL_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAMSUNG_TYPE_CALL_HANDLER, SamsungCallHandler))
#define SAMSUNG_CALL_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAMSUNG_TYPE_CALL_HANDLER, SamsungCallHandlerClass))
#define SAMSUNG_IS_CALL_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAMSUNG_TYPE_CALL_HANDLER))
#define SAMSUNG_IS_CALL_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAMSUNG_TYPE_CALL_HANDLER))
#define SAMSUNG_CALL_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAMSUNG_TYPE_CALL_HANDLER, SamsungCallHandlerClass))

typedef struct _SamsungCallHandler SamsungCallHandler;
typedef struct _SamsungCallHandlerClass SamsungCallHandlerClass;

#define SAMSUNG_TYPE_SMS_HANDLER (samsung_sms_handler_get_type ())
#define SAMSUNG_SMS_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAMSUNG_TYPE_SMS_HANDLER, SamsungSmsHandler))
#define SAMSUNG_SMS_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAMSUNG_TYPE_SMS_HANDLER, SamsungSmsHandlerClass))
#define SAMSUNG_IS_SMS_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAMSUNG_TYPE_SMS_HANDLER))
#define SAMSUNG_IS_SMS_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAMSUNG_TYPE_SMS_HANDLER))
#define SAMSUNG_SMS_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAMSUNG_TYPE_SMS_HANDLER, SamsungSmsHandlerClass))

typedef struct _SamsungSmsHandler SamsungSmsHandler;
typedef struct _SamsungSmsHandlerClass SamsungSmsHandlerClass;

#define FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT (fso_gsm_samsung_modem_transport_get_type ())
#define FSO_GSM_SAMSUNG_MODEM_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT, FsoGsmSamsungModemTransport))
#define FSO_GSM_SAMSUNG_MODEM_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT, FsoGsmSamsungModemTransportClass))
#define FSO_GSM_IS_SAMSUNG_MODEM_TRANSPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT))
#define FSO_GSM_IS_SAMSUNG_MODEM_TRANSPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT))
#define FSO_GSM_SAMSUNG_MODEM_TRANSPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FSO_GSM_TYPE_SAMSUNG_MODEM_TRANSPORT, FsoGsmSamsungModemTransportClass))

typedef struct _FsoGsmSamsungModemTransport FsoGsmSamsungModemTransport;
typedef struct _FsoGsmSamsungModemTransportClass FsoGsmSamsungModemTransportClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define SAMSUNG_TYPE_IPC_CHANNEL (samsung_ipc_channel_get_type ())
#define SAMSUNG_IPC_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAMSUNG_TYPE_IPC_CHANNEL, SamsungIpcChannel))
#define SAMSUNG_IPC_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAMSUNG_TYPE_IPC_CHANNEL, SamsungIpcChannelClass))
#define SAMSUNG_IS_IPC_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAMSUNG_TYPE_IPC_CHANNEL))
#define SAMSUNG_IS_IPC_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAMSUNG_TYPE_IPC_CHANNEL))
#define SAMSUNG_IPC_CHANNEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAMSUNG_TYPE_IPC_CHANNEL, SamsungIpcChannelClass))

typedef struct _SamsungIpcChannel SamsungIpcChannel;
typedef struct _SamsungIpcChannelClass SamsungIpcChannelClass;

#define SAMSUNG_TYPE_RFS_CHANNEL (samsung_rfs_channel_get_type ())
#define SAMSUNG_RFS_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAMSUNG_TYPE_RFS_CHANNEL, SamsungRfsChannel))
#define SAMSUNG_RFS_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAMSUNG_TYPE_RFS_CHANNEL, SamsungRfsChannelClass))
#define SAMSUNG_IS_RFS_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAMSUNG_TYPE_RFS_CHANNEL))
#define SAMSUNG_IS_RFS_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAMSUNG_TYPE_RFS_CHANNEL))
#define SAMSUNG_RFS_CHANNEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAMSUNG_TYPE_RFS_CHANNEL, SamsungRfsChannelClass))

typedef struct _SamsungRfsChannel SamsungRfsChannel;
typedef struct _SamsungRfsChannelClass SamsungRfsChannelClass;
#define _g_free0(var) (var = (g_free (var), NULL))

#define TYPE_SAMSUNG_SIM_GET_AUTH_STATUS (samsung_sim_get_auth_status_get_type ())
#define SAMSUNG_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_SIM_GET_AUTH_STATUS, SamsungSimGetAuthStatus))
#define SAMSUNG_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_SIM_GET_AUTH_STATUS, SamsungSimGetAuthStatusClass))
#define IS_SAMSUNG_SIM_GET_AUTH_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_SIM_GET_AUTH_STATUS))
#define IS_SAMSUNG_SIM_GET_AUTH_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_SIM_GET_AUTH_STATUS))
#define SAMSUNG_SIM_GET_AUTH_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_SIM_GET_AUTH_STATUS, SamsungSimGetAuthStatusClass))

typedef struct _SamsungSimGetAuthStatus SamsungSimGetAuthStatus;
typedef struct _SamsungSimGetAuthStatusClass SamsungSimGetAuthStatusClass;

#define TYPE_SAMSUNG_SIM_SEND_AUTH_CODE (samsung_sim_send_auth_code_get_type ())
#define SAMSUNG_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_SIM_SEND_AUTH_CODE, SamsungSimSendAuthCode))
#define SAMSUNG_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_SIM_SEND_AUTH_CODE, SamsungSimSendAuthCodeClass))
#define IS_SAMSUNG_SIM_SEND_AUTH_CODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_SIM_SEND_AUTH_CODE))
#define IS_SAMSUNG_SIM_SEND_AUTH_CODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_SIM_SEND_AUTH_CODE))
#define SAMSUNG_SIM_SEND_AUTH_CODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_SIM_SEND_AUTH_CODE, SamsungSimSendAuthCodeClass))

typedef struct _SamsungSimSendAuthCode SamsungSimSendAuthCode;
typedef struct _SamsungSimSendAuthCodeClass SamsungSimSendAuthCodeClass;

#define TYPE_SAMSUNG_SIM_GET_INFORMATION (samsung_sim_get_information_get_type ())
#define SAMSUNG_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_SIM_GET_INFORMATION, SamsungSimGetInformation))
#define SAMSUNG_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_SIM_GET_INFORMATION, SamsungSimGetInformationClass))
#define IS_SAMSUNG_SIM_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_SIM_GET_INFORMATION))
#define IS_SAMSUNG_SIM_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_SIM_GET_INFORMATION))
#define SAMSUNG_SIM_GET_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_SIM_GET_INFORMATION, SamsungSimGetInformationClass))

typedef struct _SamsungSimGetInformation SamsungSimGetInformation;
typedef struct _SamsungSimGetInformationClass SamsungSimGetInformationClass;

#define TYPE_SAMSUNG_DEVICE_GET_FEATURES (samsung_device_get_features_get_type ())
#define SAMSUNG_DEVICE_GET_FEATURES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_DEVICE_GET_FEATURES, SamsungDeviceGetFeatures))
#define SAMSUNG_DEVICE_GET_FEATURES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_DEVICE_GET_FEATURES, SamsungDeviceGetFeaturesClass))
#define IS_SAMSUNG_DEVICE_GET_FEATURES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_DEVICE_GET_FEATURES))
#define IS_SAMSUNG_DEVICE_GET_FEATURES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_DEVICE_GET_FEATURES))
#define SAMSUNG_DEVICE_GET_FEATURES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_DEVICE_GET_FEATURES, SamsungDeviceGetFeaturesClass))

typedef struct _SamsungDeviceGetFeatures SamsungDeviceGetFeatures;
typedef struct _SamsungDeviceGetFeaturesClass SamsungDeviceGetFeaturesClass;

#define TYPE_SAMSUNG_DEVICE_GET_INFORMATION (samsung_device_get_information_get_type ())
#define SAMSUNG_DEVICE_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_DEVICE_GET_INFORMATION, SamsungDeviceGetInformation))
#define SAMSUNG_DEVICE_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_DEVICE_GET_INFORMATION, SamsungDeviceGetInformationClass))
#define IS_SAMSUNG_DEVICE_GET_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_DEVICE_GET_INFORMATION))
#define IS_SAMSUNG_DEVICE_GET_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_DEVICE_GET_INFORMATION))
#define SAMSUNG_DEVICE_GET_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_DEVICE_GET_INFORMATION, SamsungDeviceGetInformationClass))

typedef struct _SamsungDeviceGetInformation SamsungDeviceGetInformation;
typedef struct _SamsungDeviceGetInformationClass SamsungDeviceGetInformationClass;

#define TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY (samsung_device_get_functionality_get_type ())
#define SAMSUNG_DEVICE_GET_FUNCTIONALITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY, SamsungDeviceGetFunctionality))
#define SAMSUNG_DEVICE_GET_FUNCTIONALITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY, SamsungDeviceGetFunctionalityClass))
#define IS_SAMSUNG_DEVICE_GET_FUNCTIONALITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY))
#define IS_SAMSUNG_DEVICE_GET_FUNCTIONALITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY))
#define SAMSUNG_DEVICE_GET_FUNCTIONALITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY, SamsungDeviceGetFunctionalityClass))

typedef struct _SamsungDeviceGetFunctionality SamsungDeviceGetFunctionality;
typedef struct _SamsungDeviceGetFunctionalityClass SamsungDeviceGetFunctionalityClass;

#define TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS (samsung_device_get_power_status_get_type ())
#define SAMSUNG_DEVICE_GET_POWER_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS, SamsungDeviceGetPowerStatus))
#define SAMSUNG_DEVICE_GET_POWER_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS, SamsungDeviceGetPowerStatusClass))
#define IS_SAMSUNG_DEVICE_GET_POWER_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS))
#define IS_SAMSUNG_DEVICE_GET_POWER_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS))
#define SAMSUNG_DEVICE_GET_POWER_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS, SamsungDeviceGetPowerStatusClass))

typedef struct _SamsungDeviceGetPowerStatus SamsungDeviceGetPowerStatus;
typedef struct _SamsungDeviceGetPowerStatusClass SamsungDeviceGetPowerStatusClass;

#define TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY (samsung_device_set_functionality_get_type ())
#define SAMSUNG_DEVICE_SET_FUNCTIONALITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY, SamsungDeviceSetFunctionality))
#define SAMSUNG_DEVICE_SET_FUNCTIONALITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY, SamsungDeviceSetFunctionalityClass))
#define IS_SAMSUNG_DEVICE_SET_FUNCTIONALITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY))
#define IS_SAMSUNG_DEVICE_SET_FUNCTIONALITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY))
#define SAMSUNG_DEVICE_SET_FUNCTIONALITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY, SamsungDeviceSetFunctionalityClass))

typedef struct _SamsungDeviceSetFunctionality SamsungDeviceSetFunctionality;
typedef struct _SamsungDeviceSetFunctionalityClass SamsungDeviceSetFunctionalityClass;

#define TYPE_SAMSUNG_NETWORK_REGISTER (samsung_network_register_get_type ())
#define SAMSUNG_NETWORK_REGISTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_REGISTER, SamsungNetworkRegister))
#define SAMSUNG_NETWORK_REGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_REGISTER, SamsungNetworkRegisterClass))
#define IS_SAMSUNG_NETWORK_REGISTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_REGISTER))
#define IS_SAMSUNG_NETWORK_REGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_REGISTER))
#define SAMSUNG_NETWORK_REGISTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_REGISTER, SamsungNetworkRegisterClass))

typedef struct _SamsungNetworkRegister SamsungNetworkRegister;
typedef struct _SamsungNetworkRegisterClass SamsungNetworkRegisterClass;

#define TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER (samsung_network_register_with_provider_get_type ())
#define SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER, SamsungNetworkRegisterWithProvider))
#define SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER, SamsungNetworkRegisterWithProviderClass))
#define IS_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER))
#define IS_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER))
#define SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER, SamsungNetworkRegisterWithProviderClass))

typedef struct _SamsungNetworkRegisterWithProvider SamsungNetworkRegisterWithProvider;
typedef struct _SamsungNetworkRegisterWithProviderClass SamsungNetworkRegisterWithProviderClass;

#define TYPE_SAMSUNG_NETWORK_UNREGISTER (samsung_network_unregister_get_type ())
#define SAMSUNG_NETWORK_UNREGISTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_UNREGISTER, SamsungNetworkUnregister))
#define SAMSUNG_NETWORK_UNREGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_UNREGISTER, SamsungNetworkUnregisterClass))
#define IS_SAMSUNG_NETWORK_UNREGISTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_UNREGISTER))
#define IS_SAMSUNG_NETWORK_UNREGISTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_UNREGISTER))
#define SAMSUNG_NETWORK_UNREGISTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_UNREGISTER, SamsungNetworkUnregisterClass))

typedef struct _SamsungNetworkUnregister SamsungNetworkUnregister;
typedef struct _SamsungNetworkUnregisterClass SamsungNetworkUnregisterClass;

#define TYPE_SAMSUNG_NETWORK_GET_STATUS (samsung_network_get_status_get_type ())
#define SAMSUNG_NETWORK_GET_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_GET_STATUS, SamsungNetworkGetStatus))
#define SAMSUNG_NETWORK_GET_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_GET_STATUS, SamsungNetworkGetStatusClass))
#define IS_SAMSUNG_NETWORK_GET_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_GET_STATUS))
#define IS_SAMSUNG_NETWORK_GET_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_GET_STATUS))
#define SAMSUNG_NETWORK_GET_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_GET_STATUS, SamsungNetworkGetStatusClass))

typedef struct _SamsungNetworkGetStatus SamsungNetworkGetStatus;
typedef struct _SamsungNetworkGetStatusClass SamsungNetworkGetStatusClass;

#define TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH (samsung_network_get_signal_strength_get_type ())
#define SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH, SamsungNetworkGetSignalStrength))
#define SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH, SamsungNetworkGetSignalStrengthClass))
#define IS_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH))
#define IS_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH))
#define SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH, SamsungNetworkGetSignalStrengthClass))

typedef struct _SamsungNetworkGetSignalStrength SamsungNetworkGetSignalStrength;
typedef struct _SamsungNetworkGetSignalStrengthClass SamsungNetworkGetSignalStrengthClass;

#define TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS (samsung_network_list_providers_get_type ())
#define SAMSUNG_NETWORK_LIST_PROVIDERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS, SamsungNetworkListProviders))
#define SAMSUNG_NETWORK_LIST_PROVIDERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS, SamsungNetworkListProvidersClass))
#define IS_SAMSUNG_NETWORK_LIST_PROVIDERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS))
#define IS_SAMSUNG_NETWORK_LIST_PROVIDERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS))
#define SAMSUNG_NETWORK_LIST_PROVIDERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS, SamsungNetworkListProvidersClass))

typedef struct _SamsungNetworkListProviders SamsungNetworkListProviders;
typedef struct _SamsungNetworkListProvidersClass SamsungNetworkListProvidersClass;

#define TYPE_SAMSUNG_PDP_SET_CREDENTIALS (samsung_pdp_set_credentials_get_type ())
#define SAMSUNG_PDP_SET_CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_PDP_SET_CREDENTIALS, SamsungPdpSetCredentials))
#define SAMSUNG_PDP_SET_CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_PDP_SET_CREDENTIALS, SamsungPdpSetCredentialsClass))
#define IS_SAMSUNG_PDP_SET_CREDENTIALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_PDP_SET_CREDENTIALS))
#define IS_SAMSUNG_PDP_SET_CREDENTIALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_PDP_SET_CREDENTIALS))
#define SAMSUNG_PDP_SET_CREDENTIALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_PDP_SET_CREDENTIALS, SamsungPdpSetCredentialsClass))

typedef struct _SamsungPdpSetCredentials SamsungPdpSetCredentials;
typedef struct _SamsungPdpSetCredentialsClass SamsungPdpSetCredentialsClass;

#define TYPE_SAMSUNG_CALL_ACTIVATE (samsung_call_activate_get_type ())
#define SAMSUNG_CALL_ACTIVATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_ACTIVATE, SamsungCallActivate))
#define SAMSUNG_CALL_ACTIVATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_ACTIVATE, SamsungCallActivateClass))
#define IS_SAMSUNG_CALL_ACTIVATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_ACTIVATE))
#define IS_SAMSUNG_CALL_ACTIVATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_ACTIVATE))
#define SAMSUNG_CALL_ACTIVATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_ACTIVATE, SamsungCallActivateClass))

typedef struct _SamsungCallActivate SamsungCallActivate;
typedef struct _SamsungCallActivateClass SamsungCallActivateClass;

#define TYPE_SAMSUNG_CALL_HOLD_ACTIVE (samsung_call_hold_active_get_type ())
#define SAMSUNG_CALL_HOLD_ACTIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_HOLD_ACTIVE, SamsungCallHoldActive))
#define SAMSUNG_CALL_HOLD_ACTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_HOLD_ACTIVE, SamsungCallHoldActiveClass))
#define IS_SAMSUNG_CALL_HOLD_ACTIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_HOLD_ACTIVE))
#define IS_SAMSUNG_CALL_HOLD_ACTIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_HOLD_ACTIVE))
#define SAMSUNG_CALL_HOLD_ACTIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_HOLD_ACTIVE, SamsungCallHoldActiveClass))

typedef struct _SamsungCallHoldActive SamsungCallHoldActive;
typedef struct _SamsungCallHoldActiveClass SamsungCallHoldActiveClass;

#define TYPE_SAMSUNG_CALL_INITIATE (samsung_call_initiate_get_type ())
#define SAMSUNG_CALL_INITIATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_INITIATE, SamsungCallInitiate))
#define SAMSUNG_CALL_INITIATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_INITIATE, SamsungCallInitiateClass))
#define IS_SAMSUNG_CALL_INITIATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_INITIATE))
#define IS_SAMSUNG_CALL_INITIATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_INITIATE))
#define SAMSUNG_CALL_INITIATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_INITIATE, SamsungCallInitiateClass))

typedef struct _SamsungCallInitiate SamsungCallInitiate;
typedef struct _SamsungCallInitiateClass SamsungCallInitiateClass;

#define TYPE_SAMSUNG_CALL_LIST_CALLS (samsung_call_list_calls_get_type ())
#define SAMSUNG_CALL_LIST_CALLS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_LIST_CALLS, SamsungCallListCalls))
#define SAMSUNG_CALL_LIST_CALLS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_LIST_CALLS, SamsungCallListCallsClass))
#define IS_SAMSUNG_CALL_LIST_CALLS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_LIST_CALLS))
#define IS_SAMSUNG_CALL_LIST_CALLS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_LIST_CALLS))
#define SAMSUNG_CALL_LIST_CALLS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_LIST_CALLS, SamsungCallListCallsClass))

typedef struct _SamsungCallListCalls SamsungCallListCalls;
typedef struct _SamsungCallListCallsClass SamsungCallListCallsClass;

#define TYPE_SAMSUNG_CALL_RELEASE_ALL (samsung_call_release_all_get_type ())
#define SAMSUNG_CALL_RELEASE_ALL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_RELEASE_ALL, SamsungCallReleaseAll))
#define SAMSUNG_CALL_RELEASE_ALL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_RELEASE_ALL, SamsungCallReleaseAllClass))
#define IS_SAMSUNG_CALL_RELEASE_ALL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_RELEASE_ALL))
#define IS_SAMSUNG_CALL_RELEASE_ALL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_RELEASE_ALL))
#define SAMSUNG_CALL_RELEASE_ALL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_RELEASE_ALL, SamsungCallReleaseAllClass))

typedef struct _SamsungCallReleaseAll SamsungCallReleaseAll;
typedef struct _SamsungCallReleaseAllClass SamsungCallReleaseAllClass;

#define TYPE_SAMSUNG_CALL_RELEASE (samsung_call_release_get_type ())
#define SAMSUNG_CALL_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_RELEASE, SamsungCallRelease))
#define SAMSUNG_CALL_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_RELEASE, SamsungCallReleaseClass))
#define IS_SAMSUNG_CALL_RELEASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_RELEASE))
#define IS_SAMSUNG_CALL_RELEASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_RELEASE))
#define SAMSUNG_CALL_RELEASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_RELEASE, SamsungCallReleaseClass))

typedef struct _SamsungCallRelease SamsungCallRelease;
typedef struct _SamsungCallReleaseClass SamsungCallReleaseClass;

#define TYPE_SAMSUNG_CALL_SEND_DTMF (samsung_call_send_dtmf_get_type ())
#define SAMSUNG_CALL_SEND_DTMF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_CALL_SEND_DTMF, SamsungCallSendDtmf))
#define SAMSUNG_CALL_SEND_DTMF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_CALL_SEND_DTMF, SamsungCallSendDtmfClass))
#define IS_SAMSUNG_CALL_SEND_DTMF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_CALL_SEND_DTMF))
#define IS_SAMSUNG_CALL_SEND_DTMF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_CALL_SEND_DTMF))
#define SAMSUNG_CALL_SEND_DTMF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_CALL_SEND_DTMF, SamsungCallSendDtmfClass))

typedef struct _SamsungCallSendDtmf SamsungCallSendDtmf;
typedef struct _SamsungCallSendDtmfClass SamsungCallSendDtmfClass;

#define TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES (samsung_sms_retrieve_text_messages_get_type ())
#define SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES, SamsungSmsRetrieveTextMessages))
#define SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES, SamsungSmsRetrieveTextMessagesClass))
#define IS_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES))
#define IS_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES))
#define SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES, SamsungSmsRetrieveTextMessagesClass))

typedef struct _SamsungSmsRetrieveTextMessages SamsungSmsRetrieveTextMessages;
typedef struct _SamsungSmsRetrieveTextMessagesClass SamsungSmsRetrieveTextMessagesClass;

#define TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE (samsung_sms_send_text_message_get_type ())
#define SAMSUNG_SMS_SEND_TEXT_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE, SamsungSmsSendTextMessage))
#define SAMSUNG_SMS_SEND_TEXT_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE, SamsungSmsSendTextMessageClass))
#define IS_SAMSUNG_SMS_SEND_TEXT_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE))
#define IS_SAMSUNG_SMS_SEND_TEXT_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE))
#define SAMSUNG_SMS_SEND_TEXT_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE, SamsungSmsSendTextMessageClass))

typedef struct _SamsungSmsSendTextMessage SamsungSmsSendTextMessage;
typedef struct _SamsungSmsSendTextMessageClass SamsungSmsSendTextMessageClass;

struct _SamsungModem {
	FsoGsmAbstractModem parent_instance;
	SamsungModemPrivate * priv;
};

struct _SamsungModemClass {
	FsoGsmAbstractModemClass parent_class;
};


static gpointer samsung_modem_parent_class = NULL;
static GType samsung_modem_type_id = 0;

GType samsung_modem_get_type (void) G_GNUC_CONST;
GType samsung_modem_register_type (GTypeModule * module);
enum  {
	SAMSUNG_MODEM_DUMMY_PROPERTY
};
#define SAMSUNG_MODEM_MAIN_CHANNEL_NAME "main"
#define SAMSUNG_MODEM_RFS_CHANNEL_NAME "rfs"
static gchar* samsung_modem_real_repr (FsoFrameworkAbstractObject* base);
static gboolean samsung_modem_real_powerOn (FsoGsmAbstractModem* base);
static void samsung_modem_real_powerOff (FsoGsmAbstractModem* base);
static FsoGsmUnsolicitedResponseHandler* samsung_modem_real_createUnsolicitedHandler (FsoGsmAbstractModem* base);
static FsoGsmCallHandler* samsung_modem_real_createCallHandler (FsoGsmAbstractModem* base);
SamsungCallHandler* samsung_call_handler_new (void);
SamsungCallHandler* samsung_call_handler_construct (GType object_type);
GType samsung_call_handler_get_type (void) G_GNUC_CONST;
GType samsung_call_handler_register_type (GTypeModule * module);
static FsoGsmSmsHandler* samsung_modem_real_createSmsHandler (FsoGsmAbstractModem* base);
SamsungSmsHandler* samsung_sms_handler_new (void);
SamsungSmsHandler* samsung_sms_handler_construct (GType object_type);
GType samsung_sms_handler_get_type (void) G_GNUC_CONST;
GType samsung_sms_handler_register_type (GTypeModule * module);
static FsoGsmPhonebookHandler* samsung_modem_real_createPhonebookHandler (FsoGsmAbstractModem* base);
static void samsung_modem_real_createChannels (FsoGsmAbstractModem* base);
FsoGsmSamsungModemTransport* fso_gsm_samsung_modem_transport_new (const gchar* portname);
FsoGsmSamsungModemTransport* fso_gsm_samsung_modem_transport_construct (GType object_type, const gchar* portname);
GType fso_gsm_samsung_modem_transport_get_type (void) G_GNUC_CONST;
GType fso_gsm_samsung_modem_transport_register_type (GTypeModule * module);
SamsungIpcChannel* samsung_ipc_channel_new (const gchar* name, FsoFrameworkTransport* transport);
SamsungIpcChannel* samsung_ipc_channel_construct (GType object_type, const gchar* name, FsoFrameworkTransport* transport);
GType samsung_ipc_channel_get_type (void) G_GNUC_CONST;
GType samsung_ipc_channel_register_type (GTypeModule * module);
SamsungRfsChannel* samsung_rfs_channel_new (const gchar* name, FsoFrameworkTransport* transport);
SamsungRfsChannel* samsung_rfs_channel_construct (GType object_type, const gchar* name, FsoFrameworkTransport* transport);
GType samsung_rfs_channel_get_type (void) G_GNUC_CONST;
GType samsung_rfs_channel_register_type (GTypeModule * module);
static FsoGsmChannel* samsung_modem_real_channelForCommand (FsoGsmAbstractModem* base, FsoGsmAtCommand* command, const gchar* query);
static void samsung_modem_real_registerCustomMediators (FsoGsmAbstractModem* base, GeeHashMap* mediators);
GType samsung_sim_get_auth_status_get_type (void) G_GNUC_CONST;
GType samsung_sim_get_auth_status_register_type (GTypeModule * module);
GType samsung_sim_send_auth_code_get_type (void) G_GNUC_CONST;
GType samsung_sim_send_auth_code_register_type (GTypeModule * module);
GType samsung_sim_get_information_get_type (void) G_GNUC_CONST;
GType samsung_sim_get_information_register_type (GTypeModule * module);
GType samsung_device_get_features_get_type (void) G_GNUC_CONST;
GType samsung_device_get_features_register_type (GTypeModule * module);
GType samsung_device_get_information_get_type (void) G_GNUC_CONST;
GType samsung_device_get_information_register_type (GTypeModule * module);
GType samsung_device_get_functionality_get_type (void) G_GNUC_CONST;
GType samsung_device_get_functionality_register_type (GTypeModule * module);
GType samsung_device_get_power_status_get_type (void) G_GNUC_CONST;
GType samsung_device_get_power_status_register_type (GTypeModule * module);
GType samsung_device_set_functionality_get_type (void) G_GNUC_CONST;
GType samsung_device_set_functionality_register_type (GTypeModule * module);
GType samsung_network_register_get_type (void) G_GNUC_CONST;
GType samsung_network_register_register_type (GTypeModule * module);
GType samsung_network_register_with_provider_get_type (void) G_GNUC_CONST;
GType samsung_network_register_with_provider_register_type (GTypeModule * module);
GType samsung_network_unregister_get_type (void) G_GNUC_CONST;
GType samsung_network_unregister_register_type (GTypeModule * module);
GType samsung_network_get_status_get_type (void) G_GNUC_CONST;
GType samsung_network_get_status_register_type (GTypeModule * module);
GType samsung_network_get_signal_strength_get_type (void) G_GNUC_CONST;
GType samsung_network_get_signal_strength_register_type (GTypeModule * module);
GType samsung_network_list_providers_get_type (void) G_GNUC_CONST;
GType samsung_network_list_providers_register_type (GTypeModule * module);
GType samsung_pdp_set_credentials_get_type (void) G_GNUC_CONST;
GType samsung_pdp_set_credentials_register_type (GTypeModule * module);
GType samsung_call_activate_get_type (void) G_GNUC_CONST;
GType samsung_call_activate_register_type (GTypeModule * module);
GType samsung_call_hold_active_get_type (void) G_GNUC_CONST;
GType samsung_call_hold_active_register_type (GTypeModule * module);
GType samsung_call_initiate_get_type (void) G_GNUC_CONST;
GType samsung_call_initiate_register_type (GTypeModule * module);
GType samsung_call_list_calls_get_type (void) G_GNUC_CONST;
GType samsung_call_list_calls_register_type (GTypeModule * module);
GType samsung_call_release_all_get_type (void) G_GNUC_CONST;
GType samsung_call_release_all_register_type (GTypeModule * module);
GType samsung_call_release_get_type (void) G_GNUC_CONST;
GType samsung_call_release_register_type (GTypeModule * module);
GType samsung_call_send_dtmf_get_type (void) G_GNUC_CONST;
GType samsung_call_send_dtmf_register_type (GTypeModule * module);
GType samsung_sms_retrieve_text_messages_get_type (void) G_GNUC_CONST;
GType samsung_sms_retrieve_text_messages_register_type (GTypeModule * module);
GType samsung_sms_send_text_message_get_type (void) G_GNUC_CONST;
GType samsung_sms_send_text_message_register_type (GTypeModule * module);
SamsungModem* samsung_modem_new (void);
SamsungModem* samsung_modem_construct (GType object_type);
static GObject * samsung_modem_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
gchar* fso_factory_function (FsoFrameworkSubsystem* subsystem, GError** error);
void fso_register_function (GTypeModule* module);


static gchar* samsung_modem_real_repr (FsoFrameworkAbstractObject* base) {
	SamsungModem * self;
	gchar* result = NULL;
	gchar* _tmp0_;
	self = (SamsungModem*) base;
	_tmp0_ = g_strdup ("<>");
	result = _tmp0_;
	return result;
}


static gboolean samsung_modem_real_powerOn (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	gboolean result = FALSE;
	self = (SamsungModem*) base;
	FSO_GSM_ABSTRACT_MODEM_CLASS (samsung_modem_parent_class)->powerOn (FSO_GSM_ABSTRACT_MODEM (self));
	result = TRUE;
	return result;
}


static void samsung_modem_real_powerOff (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	self = (SamsungModem*) base;
	FSO_GSM_ABSTRACT_MODEM_CLASS (samsung_modem_parent_class)->powerOff (FSO_GSM_ABSTRACT_MODEM (self));
}


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


static FsoGsmUnsolicitedResponseHandler* samsung_modem_real_createUnsolicitedHandler (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	FsoGsmUnsolicitedResponseHandler* result = NULL;
	FsoGsmUnsolicitedResponseHandler* _tmp0_;
	self = (SamsungModem*) base;
	_tmp0_ = _g_object_ref0 (FSO_GSM_UNSOLICITED_RESPONSE_HANDLER (NULL));
	result = _tmp0_;
	return result;
}


static FsoGsmCallHandler* samsung_modem_real_createCallHandler (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	FsoGsmCallHandler* result = NULL;
	SamsungCallHandler* _tmp0_;
	self = (SamsungModem*) base;
	_tmp0_ = samsung_call_handler_new ();
	result = FSO_GSM_CALL_HANDLER (_tmp0_);
	return result;
}


static FsoGsmSmsHandler* samsung_modem_real_createSmsHandler (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	FsoGsmSmsHandler* result = NULL;
	SamsungSmsHandler* _tmp0_;
	self = (SamsungModem*) base;
	_tmp0_ = samsung_sms_handler_new ();
	result = FSO_GSM_SMS_HANDLER (_tmp0_);
	return result;
}


static FsoGsmPhonebookHandler* samsung_modem_real_createPhonebookHandler (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	FsoGsmPhonebookHandler* result = NULL;
	FsoGsmPhonebookHandler* _tmp0_;
	self = (SamsungModem*) base;
	_tmp0_ = _g_object_ref0 (FSO_GSM_PHONEBOOK_HANDLER (NULL));
	result = _tmp0_;
	return result;
}


static void samsung_modem_real_createChannels (FsoGsmAbstractModem* base) {
	SamsungModem * self;
	FsoFrameworkTransport* _tmp0_ = NULL;
	FsoFrameworkTransportSpec* _tmp1_;
	FsoFrameworkTransportSpec* _tmp2_;
	const gchar* _tmp3_;
	FsoFrameworkTransport* _tmp11_;
	FsoFrameworkTransport* _tmp12_;
	FsoFrameworkTransport* fmt_transport;
	SamsungIpcChannel* _tmp13_;
	SamsungIpcChannel* _tmp14_;
	FsoFrameworkSmartKeyFile* _tmp15_;
	gchar* _tmp16_ = NULL;
	gchar* rfs_modem_port;
	FsoGsmSamsungModemTransport* _tmp17_;
	FsoGsmSamsungModemTransport* rfs_transport;
	SamsungRfsChannel* _tmp18_;
	SamsungRfsChannel* _tmp19_;
	self = (SamsungModem*) base;
	_tmp1_ = fso_gsm_abstract_modem_get_modem_transport_spec ((FsoGsmAbstractModem*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_->type;
	if (g_strcmp0 (_tmp3_, "samsung") == 0) {
		FsoFrameworkTransportSpec* _tmp4_;
		FsoFrameworkTransportSpec* _tmp5_;
		const gchar* _tmp6_;
		FsoGsmSamsungModemTransport* _tmp7_;
		_tmp4_ = fso_gsm_abstract_modem_get_modem_transport_spec ((FsoGsmAbstractModem*) self);
		_tmp5_ = _tmp4_;
		_tmp6_ = _tmp5_->name;
		_tmp7_ = fso_gsm_samsung_modem_transport_new (_tmp6_);
		_g_object_unref0 (_tmp0_);
		_tmp0_ = (FsoFrameworkTransport*) _tmp7_;
	} else {
		FsoFrameworkTransportSpec* _tmp8_;
		FsoFrameworkTransportSpec* _tmp9_;
		FsoFrameworkTransport* _tmp10_ = NULL;
		_tmp8_ = fso_gsm_abstract_modem_get_modem_transport_spec ((FsoGsmAbstractModem*) self);
		_tmp9_ = _tmp8_;
		_tmp10_ = fso_framework_transport_spec_create (_tmp9_);
		_g_object_unref0 (_tmp0_);
		_tmp0_ = _tmp10_;
	}
	_tmp11_ = _tmp0_;
	_tmp12_ = _g_object_ref0 (_tmp11_);
	fmt_transport = _tmp12_;
	_tmp13_ = samsung_ipc_channel_new (SAMSUNG_MODEM_MAIN_CHANNEL_NAME, fmt_transport);
	_tmp14_ = _tmp13_;
	_g_object_unref0 (_tmp14_);
	_tmp15_ = ((FsoFrameworkAbstractObject*) self)->config;
	_tmp16_ = fso_framework_smart_key_file_stringValue (_tmp15_, "fsogsm.modem_samsung", "modem_rfs_access", "/dev/modem_rfs");
	rfs_modem_port = _tmp16_;
	_tmp17_ = fso_gsm_samsung_modem_transport_new (rfs_modem_port);
	rfs_transport = _tmp17_;
	_tmp18_ = samsung_rfs_channel_new (SAMSUNG_MODEM_RFS_CHANNEL_NAME, (FsoFrameworkTransport*) rfs_transport);
	_tmp19_ = _tmp18_;
	_g_object_unref0 (_tmp19_);
	_g_object_unref0 (rfs_transport);
	_g_free0 (rfs_modem_port);
	_g_object_unref0 (fmt_transport);
	_g_object_unref0 (_tmp0_);
}


static FsoGsmChannel* samsung_modem_real_channelForCommand (FsoGsmAbstractModem* base, FsoGsmAtCommand* command, const gchar* query) {
	SamsungModem * self;
	FsoGsmChannel* result = NULL;
	FsoGsmChannel* _tmp0_;
	self = (SamsungModem*) base;
	g_return_val_if_fail (command != NULL, NULL);
	g_return_val_if_fail (query != NULL, NULL);
	_tmp0_ = _g_object_ref0 (FSO_GSM_CHANNEL (NULL));
	result = _tmp0_;
	return result;
}


static void samsung_modem_real_registerCustomMediators (FsoGsmAbstractModem* base, GeeHashMap* mediators) {
	SamsungModem * self;
	GeeHashMap* _tmp0_;
	GeeHashMap* _tmp1_;
	GeeHashMap* _tmp2_;
	GeeHashMap* _tmp3_;
	GeeHashMap* _tmp4_;
	GeeHashMap* _tmp5_;
	GeeHashMap* _tmp6_;
	GeeHashMap* _tmp7_;
	GeeHashMap* _tmp8_;
	GeeHashMap* _tmp9_;
	GeeHashMap* _tmp10_;
	GeeHashMap* _tmp11_;
	GeeHashMap* _tmp12_;
	GeeHashMap* _tmp13_;
	GeeHashMap* _tmp14_;
	GeeHashMap* _tmp15_;
	GeeHashMap* _tmp16_;
	GeeHashMap* _tmp17_;
	GeeHashMap* _tmp18_;
	GeeHashMap* _tmp19_;
	GeeHashMap* _tmp20_;
	GeeHashMap* _tmp21_;
	GeeHashMap* _tmp22_;
	GeeHashMap* _tmp23_;
	GeeHashMap* _tmp24_;
	GeeHashMap* _tmp25_;
	GeeHashMap* _tmp26_;
	GeeHashMap* _tmp27_;
	self = (SamsungModem*) base;
	g_return_if_fail (mediators != NULL);
	_tmp0_ = mediators;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp0_);
	_tmp1_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp1_, GINT_TO_POINTER (FSO_GSM_TYPE_SIM_GET_AUTH_STATUS), GINT_TO_POINTER (TYPE_SAMSUNG_SIM_GET_AUTH_STATUS));
	_tmp2_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp2_, GINT_TO_POINTER (FSO_GSM_TYPE_SIM_SEND_AUTH_CODE), GINT_TO_POINTER (TYPE_SAMSUNG_SIM_SEND_AUTH_CODE));
	_tmp3_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, GINT_TO_POINTER (FSO_GSM_TYPE_SIM_GET_INFORMATION), GINT_TO_POINTER (TYPE_SAMSUNG_SIM_GET_INFORMATION));
	_tmp4_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp4_, GINT_TO_POINTER (FSO_GSM_TYPE_DEVICE_GET_FEATURES), GINT_TO_POINTER (TYPE_SAMSUNG_DEVICE_GET_FEATURES));
	_tmp5_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp5_, GINT_TO_POINTER (FSO_GSM_TYPE_DEVICE_GET_INFORMATION), GINT_TO_POINTER (TYPE_SAMSUNG_DEVICE_GET_INFORMATION));
	_tmp6_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp6_, GINT_TO_POINTER (FSO_GSM_TYPE_DEVICE_GET_FUNCTIONALITY), GINT_TO_POINTER (TYPE_SAMSUNG_DEVICE_GET_FUNCTIONALITY));
	_tmp7_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp7_, GINT_TO_POINTER (FSO_GSM_TYPE_DEVICE_GET_POWER_STATUS), GINT_TO_POINTER (TYPE_SAMSUNG_DEVICE_GET_POWER_STATUS));
	_tmp8_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp8_, GINT_TO_POINTER (FSO_GSM_TYPE_DEVICE_SET_FUNCTIONALITY), GINT_TO_POINTER (TYPE_SAMSUNG_DEVICE_SET_FUNCTIONALITY));
	_tmp9_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp9_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_REGISTER), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_REGISTER));
	_tmp10_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp10_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_REGISTER_WITH_PROVIDER), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_REGISTER_WITH_PROVIDER));
	_tmp11_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp11_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_UNREGISTER), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_UNREGISTER));
	_tmp12_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp12_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_GET_STATUS), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_GET_STATUS));
	_tmp13_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp13_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_GET_SIGNAL_STRENGTH), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_GET_SIGNAL_STRENGTH));
	_tmp14_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp14_, GINT_TO_POINTER (FSO_GSM_TYPE_NETWORK_LIST_PROVIDERS), GINT_TO_POINTER (TYPE_SAMSUNG_NETWORK_LIST_PROVIDERS));
	_tmp15_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp15_, GINT_TO_POINTER (FSO_GSM_TYPE_PDP_ACTIVATE_CONTEXT), GINT_TO_POINTER (FSO_GSM_TYPE_AT_PDP_ACTIVATE_CONTEXT));
	_tmp16_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp16_, GINT_TO_POINTER (FSO_GSM_TYPE_PDP_DEACTIVATE_CONTEXT), GINT_TO_POINTER (FSO_GSM_TYPE_AT_PDP_DEACTIVATE_CONTEXT));
	_tmp17_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp17_, GINT_TO_POINTER (FSO_GSM_TYPE_PDP_SET_CREDENTIALS), GINT_TO_POINTER (TYPE_SAMSUNG_PDP_SET_CREDENTIALS));
	_tmp18_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp18_, GINT_TO_POINTER (FSO_GSM_TYPE_PDP_GET_CREDENTIALS), GINT_TO_POINTER (FSO_GSM_TYPE_AT_PDP_GET_CREDENTIALS));
	_tmp19_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp19_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_ACTIVATE), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_ACTIVATE));
	_tmp20_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp20_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_HOLD_ACTIVE), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_HOLD_ACTIVE));
	_tmp21_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp21_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_INITIATE), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_INITIATE));
	_tmp22_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp22_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_LIST_CALLS), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_LIST_CALLS));
	_tmp23_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp23_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_RELEASE_ALL), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_RELEASE_ALL));
	_tmp24_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp24_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_RELEASE), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_RELEASE));
	_tmp25_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp25_, GINT_TO_POINTER (FSO_GSM_TYPE_CALL_SEND_DTMF), GINT_TO_POINTER (TYPE_SAMSUNG_CALL_SEND_DTMF));
	_tmp26_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp26_, GINT_TO_POINTER (FSO_GSM_TYPE_SMS_RETRIEVE_TEXT_MESSAGES), GINT_TO_POINTER (TYPE_SAMSUNG_SMS_RETRIEVE_TEXT_MESSAGES));
	_tmp27_ = mediators;
	gee_abstract_map_set ((GeeAbstractMap*) _tmp27_, GINT_TO_POINTER (FSO_GSM_TYPE_SMS_SEND_TEXT_MESSAGE), GINT_TO_POINTER (TYPE_SAMSUNG_SMS_SEND_TEXT_MESSAGE));
}


SamsungModem* samsung_modem_construct (GType object_type) {
	SamsungModem * self = NULL;
	self = (SamsungModem*) fso_gsm_abstract_modem_construct (object_type);
	return self;
}


SamsungModem* samsung_modem_new (void) {
	return samsung_modem_construct (SAMSUNG_TYPE_MODEM);
}


static GObject * samsung_modem_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	SamsungModem * self;
	parent_class = G_OBJECT_CLASS (samsung_modem_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = SAMSUNG_MODEM (obj);
	return obj;
}


static void samsung_modem_class_init (SamsungModemClass * klass) {
	samsung_modem_parent_class = g_type_class_peek_parent (klass);
	FSO_FRAMEWORK_ABSTRACT_OBJECT_CLASS (klass)->repr = samsung_modem_real_repr;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->powerOn = samsung_modem_real_powerOn;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->powerOff = samsung_modem_real_powerOff;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->createUnsolicitedHandler = samsung_modem_real_createUnsolicitedHandler;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->createCallHandler = samsung_modem_real_createCallHandler;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->createSmsHandler = samsung_modem_real_createSmsHandler;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->createPhonebookHandler = samsung_modem_real_createPhonebookHandler;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->createChannels = samsung_modem_real_createChannels;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->channelForCommand = samsung_modem_real_channelForCommand;
	FSO_GSM_ABSTRACT_MODEM_CLASS (klass)->registerCustomMediators = samsung_modem_real_registerCustomMediators;
	G_OBJECT_CLASS (klass)->constructor = samsung_modem_constructor;
}


static void samsung_modem_instance_init (SamsungModem * self) {
}


/**
 * @class Samsung
 **/
GType samsung_modem_get_type (void) {
	return samsung_modem_type_id;
}


GType samsung_modem_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (SamsungModemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) samsung_modem_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SamsungModem), 0, (GInstanceInitFunc) samsung_modem_instance_init, NULL };
	samsung_modem_type_id = g_type_module_register_type (module, FSO_GSM_TYPE_ABSTRACT_MODEM, "SamsungModem", &g_define_type_info, 0);
	return samsung_modem_type_id;
}


/**
 * This function gets called on plugin initialization time.
 * @return the name of your plugin here
 * @note that it needs to be a name in the format <subsystem>.<plugin>
 * else your module will be unloaded immediately.
 **/
gchar* fso_factory_function (FsoFrameworkSubsystem* subsystem, GError** error) {
	gchar* result = NULL;
	FsoFrameworkLogger* _tmp0_;
	gchar* _tmp1_;
	g_return_val_if_fail (subsystem != NULL, NULL);
	_tmp0_ = fso_framework_theLogger;
	fso_framework_logger_debug (_tmp0_, "samsung fso_factory_function");
	_tmp1_ = g_strdup ("fsogsm.modem_samsung");
	result = _tmp1_;
	return result;
}


void fso_register_function (GTypeModule* module) {
	g_return_if_fail (module != NULL);
	fso_gsm_samsung_modem_transport_register_type (module);
	samsung_modem_register_type (module);
	samsung_command_handler_register_type (module);
	samsung_ipc_channel_register_type (module);
	samsung_rfs_channel_register_type (module);
	samsung_unsolicited_response_handler_register_type (module);
	samsung_modem_state_register_type (module);
	samsung_pdp_handler_register_type (module);
	samsung_call_handler_register_type (module);
	samsung_sound_handler_register_type (module);
	samsung_sms_handler_register_type (module);
	samsung_sim_get_auth_status_register_type (module);
	samsung_sim_send_auth_code_register_type (module);
	samsung_sim_get_information_register_type (module);
	samsung_device_get_functionality_register_type (module);
	samsung_device_get_features_register_type (module);
	samsung_device_get_information_register_type (module);
	samsung_device_get_power_status_register_type (module);
	samsung_device_set_functionality_register_type (module);
	samsung_network_register_register_type (module);
	samsung_network_register_with_provider_register_type (module);
	samsung_network_unregister_register_type (module);
	samsung_network_get_signal_strength_register_type (module);
	samsung_network_get_status_register_type (module);
	samsung_network_list_providers_register_type (module);
	samsung_pdp_set_credentials_register_type (module);
	samsung_sms_retrieve_text_messages_register_type (module);
	samsung_sms_send_text_message_register_type (module);
	samsung_call_activate_register_type (module);
	samsung_call_hold_active_register_type (module);
	samsung_call_initiate_register_type (module);
	samsung_call_list_calls_register_type (module);
	samsung_call_send_dtmf_register_type (module);
	samsung_call_release_register_type (module);
	samsung_call_release_all_register_type (module);
}



