aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-plugin-base.c19
-rw-r--r--src/mm-plugin-base.h2
2 files changed, 20 insertions, 1 deletions
diff --git a/src/mm-plugin-base.c b/src/mm-plugin-base.c
index 3d7be868..ecfc4b67 100644
--- a/src/mm-plugin-base.c
+++ b/src/mm-plugin-base.c
@@ -67,6 +67,7 @@ typedef struct {
mm_str_pair *product_strings;
gchar **udev_tags;
gboolean at;
+ gboolean single_at;
gboolean qcdm;
MMPortProbeAtCommand *custom_init;
guint64 send_delay;
@@ -83,6 +84,7 @@ enum {
PROP_ALLOWED_PRODUCT_STRINGS,
PROP_ALLOWED_UDEV_TAGS,
PROP_ALLOWED_AT,
+ PROP_ALLOWED_SINGLE_AT,
PROP_ALLOWED_QCDM,
PROP_CUSTOM_INIT,
PROP_SEND_DELAY,
@@ -659,6 +661,8 @@ supports_port (MMPlugin *plugin,
probe_run_flags = 0;
if (priv->at)
probe_run_flags |= MM_PORT_PROBE_AT;
+ else if (priv->single_at)
+ probe_run_flags |= MM_PORT_PROBE_AT;
if (need_vendor_probing)
probe_run_flags |= MM_PORT_PROBE_AT_VENDOR;
if (need_product_probing)
@@ -815,6 +819,10 @@ set_property (GObject *object, guint prop_id,
/* Construct only */
priv->at = g_value_get_boolean (value);
break;
+ case PROP_ALLOWED_SINGLE_AT:
+ /* Construct only */
+ priv->single_at = g_value_get_boolean (value);
+ break;
case PROP_ALLOWED_QCDM:
/* Construct only */
priv->qcdm = g_value_get_boolean (value);
@@ -864,6 +872,9 @@ get_property (GObject *object, guint prop_id,
case PROP_ALLOWED_AT:
g_value_set_boolean (value, priv->at);
break;
+ case PROP_ALLOWED_SINGLE_AT:
+ g_value_set_boolean (value, priv->single_at);
+ break;
case PROP_ALLOWED_QCDM:
g_value_set_boolean (value, priv->qcdm);
break;
@@ -989,6 +1000,14 @@ mm_plugin_base_class_init (MMPluginBaseClass *klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property
+ (object_class, PROP_ALLOWED_SINGLE_AT,
+ g_param_spec_boolean (MM_PLUGIN_BASE_ALLOWED_SINGLE_AT,
+ "Allowed single AT",
+ "Whether just a single AT port is allowed in this plugin. ",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+ g_object_class_install_property
(object_class, PROP_ALLOWED_QCDM,
g_param_spec_boolean (MM_PLUGIN_BASE_ALLOWED_QCDM,
"Allowed QCDM",
diff --git a/src/mm-plugin-base.h b/src/mm-plugin-base.h
index 1f572638..11a5d137 100644
--- a/src/mm-plugin-base.h
+++ b/src/mm-plugin-base.h
@@ -43,6 +43,7 @@
#define MM_PLUGIN_BASE_ALLOWED_PRODUCT_STRINGS "allowed-product-strings"
#define MM_PLUGIN_BASE_ALLOWED_UDEV_TAGS "allowed-udev-tags"
#define MM_PLUGIN_BASE_ALLOWED_AT "allowed-at"
+#define MM_PLUGIN_BASE_ALLOWED_SINGLE_AT "allowed-single-at"
#define MM_PLUGIN_BASE_ALLOWED_QCDM "allowed-qcdm"
#define MM_PLUGIN_BASE_CUSTOM_INIT "custom-init"
#define MM_PLUGIN_BASE_SEND_DELAY "send-delay"
@@ -74,4 +75,3 @@ gboolean mm_plugin_base_get_device_ids (MMPluginBase *self,
guint16 *product);
#endif /* MM_PLUGIN_BASE_H */
-