icera: implement 3GPP unsolicited messages enabling/disabling

This commit is contained in:
Aleksander Morgado
2012-07-19 08:13:20 +02:00
parent 7163f4fe5f
commit b4f20bfaca
2 changed files with 68 additions and 1 deletions

View File

@@ -426,6 +426,56 @@ mm_iface_icera_modem_load_access_technologies (MMIfaceModem *self,
result);
}
/*****************************************************************************/
/* Disable unsolicited events (3GPP interface) */
gboolean
mm_iface_icera_modem_3gpp_disable_unsolicited_events_finish (MMIfaceModem3gpp *self,
GAsyncResult *res,
GError **error)
{
return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error);
}
void
mm_iface_icera_modem_3gpp_disable_unsolicited_events (MMIfaceModem3gpp *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
mm_base_modem_at_command (
MM_BASE_MODEM (self),
"%NWSTATE=0",
3,
FALSE,
callback,
user_data);
}
/*****************************************************************************/
/* Enable unsolicited events (3GPP interface) */
gboolean
mm_iface_icera_modem_3gpp_enable_unsolicited_events_finish (MMIfaceModem3gpp *self,
GAsyncResult *res,
GError **error)
{
return !!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, error);
}
void
mm_iface_icera_modem_3gpp_enable_unsolicited_events (MMIfaceModem3gpp *self,
GAsyncReadyCallback callback,
gpointer user_data)
{
mm_base_modem_at_command (
MM_BASE_MODEM (self),
"%NWSTATE=1",
3,
FALSE,
callback,
user_data);
}
/*****************************************************************************/
static void
@@ -450,7 +500,7 @@ mm_iface_icera_get_type (void)
&info,
0);
g_type_interface_add_prerequisite (iface_icera_type, MM_TYPE_IFACE_MODEM);
g_type_interface_add_prerequisite (iface_icera_type, MM_TYPE_BROADBAND_MODEM);
}
return iface_icera_type;

View File

@@ -18,6 +18,7 @@
#define MM_IFACE_ICERA_H
#include "mm-iface-modem.h"
#include "mm-iface-modem-3gpp.h"
#include "mm-broadband-modem.h"
#define MM_TYPE_IFACE_ICERA (mm_iface_icera_get_type ())
@@ -66,4 +67,20 @@ gboolean mm_iface_icera_modem_load_access_technologies_finish (MMIfaceModem *sel
guint *mask,
GError **error);
/*****************************************************************************/
/* Modem 3GPP interface specific implementations */
void mm_iface_icera_modem_3gpp_enable_unsolicited_events (MMIfaceModem3gpp *self,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean mm_iface_icera_modem_3gpp_enable_unsolicited_events_finish (MMIfaceModem3gpp *self,
GAsyncResult *res,
GError **error);
void mm_iface_icera_modem_3gpp_disable_unsolicited_events (MMIfaceModem3gpp *self,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean mm_iface_icera_modem_3gpp_disable_unsolicited_events_finish (MMIfaceModem3gpp *self,
GAsyncResult *res,
GError **error);
#endif /* MM_IFACE_ICERA_H */