gsm: let plugins use their own commands for SMS indications and storage configuration
This commit is contained in:
@@ -1439,9 +1439,16 @@ mm_generic_gsm_enable_complete (MMGenericGsm *self,
|
|||||||
g_free (cmd);
|
g_free (cmd);
|
||||||
|
|
||||||
/* Enable SMS notifications */
|
/* Enable SMS notifications */
|
||||||
mm_at_serial_port_queue_command (priv->primary, "+CNMI=2,1,2,1,0", 3, NULL, NULL);
|
g_object_get (G_OBJECT (info->modem), MM_GENERIC_GSM_SMS_INDICATION_ENABLE_CMD, &cmd, NULL);
|
||||||
/* Set SMS storage location to ME */
|
if (cmd && strlen (cmd))
|
||||||
mm_at_serial_port_queue_command (priv->primary, "+CPMS=\"ME\",\"ME\",\"ME\"", 3, NULL, NULL);
|
mm_at_serial_port_queue_command (priv->primary, cmd, 3, NULL, NULL);
|
||||||
|
g_free (cmd);
|
||||||
|
|
||||||
|
/* Set SMS storage locations */
|
||||||
|
g_object_get (G_OBJECT (info->modem), MM_GENERIC_GSM_SMS_STORAGE_LOCATION_CMD, &cmd, NULL);
|
||||||
|
if (cmd && strlen (cmd))
|
||||||
|
mm_at_serial_port_queue_command (priv->primary, cmd, 3, NULL, NULL);
|
||||||
|
g_free (cmd);
|
||||||
|
|
||||||
mm_at_serial_port_queue_command (priv->primary, "+CIND=?", 3, cind_cb, self);
|
mm_at_serial_port_queue_command (priv->primary, "+CIND=?", 3, cind_cb, self);
|
||||||
|
|
||||||
@@ -5615,6 +5622,8 @@ set_property (GObject *object, guint prop_id,
|
|||||||
case MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST:
|
case MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST:
|
||||||
case MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION:
|
case MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION:
|
||||||
case MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD:
|
case MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD:
|
||||||
|
case MM_GENERIC_GSM_PROP_SMS_INDICATION_ENABLE_CMD:
|
||||||
|
case MM_GENERIC_GSM_PROP_SMS_STORAGE_LOCATION_CMD:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
@@ -5726,6 +5735,14 @@ get_property (GObject *object, guint prop_id,
|
|||||||
/* By default, try to set XOFF/XON flow control */
|
/* By default, try to set XOFF/XON flow control */
|
||||||
g_value_set_string (value, "+IFC=1,1");
|
g_value_set_string (value, "+IFC=1,1");
|
||||||
break;
|
break;
|
||||||
|
case MM_GENERIC_GSM_PROP_SMS_INDICATION_ENABLE_CMD:
|
||||||
|
/* Enable SMS notifications */
|
||||||
|
g_value_set_string (value, "+CNMI=2,1,2,1,0");
|
||||||
|
break;
|
||||||
|
case MM_GENERIC_GSM_PROP_SMS_STORAGE_LOCATION_CMD:
|
||||||
|
/* Use always ME to store SMS */
|
||||||
|
g_value_set_string (value, "+CPMS=\"ME\",\"ME\",\"ME\"");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@@ -5878,5 +5895,21 @@ mm_generic_gsm_class_init (MMGenericGsmClass *klass)
|
|||||||
"Flow control configuration command (errors ignored)",
|
"Flow control configuration command (errors ignored)",
|
||||||
"+IFC=1,1",
|
"+IFC=1,1",
|
||||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||||
|
|
||||||
|
g_object_class_install_property
|
||||||
|
(object_class, MM_GENERIC_GSM_PROP_SMS_INDICATION_ENABLE_CMD,
|
||||||
|
g_param_spec_string (MM_GENERIC_GSM_SMS_INDICATION_ENABLE_CMD,
|
||||||
|
"SmsIndicationEnableCommand",
|
||||||
|
"SMS indication enable command (errors ignored)",
|
||||||
|
"+CNMI=2,1,2,1,0",
|
||||||
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||||
|
|
||||||
|
g_object_class_install_property
|
||||||
|
(object_class, MM_GENERIC_GSM_PROP_SMS_STORAGE_LOCATION_CMD,
|
||||||
|
g_param_spec_string (MM_GENERIC_GSM_SMS_STORAGE_LOCATION_CMD,
|
||||||
|
"SmsStorageLocationCommand",
|
||||||
|
"SMS storage location command (errors ignored)",
|
||||||
|
"+CPMS=\"ME\",\"ME\",\"ME\"",
|
||||||
|
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,6 +38,8 @@
|
|||||||
#define MM_GENERIC_GSM_INIT_CMD "init-cmd"
|
#define MM_GENERIC_GSM_INIT_CMD "init-cmd"
|
||||||
#define MM_GENERIC_GSM_INIT_CMD_OPTIONAL "init-cmd-optional"
|
#define MM_GENERIC_GSM_INIT_CMD_OPTIONAL "init-cmd-optional"
|
||||||
#define MM_GENERIC_GSM_FLOW_CONTROL_CMD "flow-control-cmd"
|
#define MM_GENERIC_GSM_FLOW_CONTROL_CMD "flow-control-cmd"
|
||||||
|
#define MM_GENERIC_GSM_SMS_INDICATION_ENABLE_CMD "sms-enable-cmd"
|
||||||
|
#define MM_GENERIC_GSM_SMS_STORAGE_LOCATION_CMD "sms-storage-cmd"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MM_GENERIC_GSM_PROP_FIRST = 0x2000,
|
MM_GENERIC_GSM_PROP_FIRST = 0x2000,
|
||||||
@@ -58,7 +60,9 @@ typedef enum {
|
|||||||
MM_GENERIC_GSM_PROP_USSD_STATE,
|
MM_GENERIC_GSM_PROP_USSD_STATE,
|
||||||
MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST,
|
MM_GENERIC_GSM_PROP_USSD_NETWORK_REQUEST,
|
||||||
MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION,
|
MM_GENERIC_GSM_PROP_USSD_NETWORK_NOTIFICATION,
|
||||||
MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD
|
MM_GENERIC_GSM_PROP_FLOW_CONTROL_CMD,
|
||||||
|
MM_GENERIC_GSM_PROP_SMS_INDICATION_ENABLE_CMD,
|
||||||
|
MM_GENERIC_GSM_PROP_SMS_STORAGE_LOCATION_CMD,
|
||||||
} MMGenericGsmProp;
|
} MMGenericGsmProp;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
Reference in New Issue
Block a user