aboutsummaryrefslogtreecommitdiff
path: root/src/mm-plugin-base.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@gnu.org>2011-09-18 22:20:11 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:20 +0100
commit963eb873e10dd06b17363a08414c278d5e1ba7b3 (patch)
tree00fac8bd41e8d1684daf20bc4c24cb3ce0300ab8 /src/mm-plugin-base.c
parent18238ed50ee626bff10aa9dc86e06223a776c255 (diff)
plugin-base: new 'allowed-udev-tags' property
The plugins can set this property to filter support check requests by the availability of a given udev tag in the port. The value given to the property should be a NULL-terminated array of C strings, e.g.: const gchar *tags[] = { "ID_MM_X22X_TAGGED", NULL };
Diffstat (limited to 'src/mm-plugin-base.c')
-rw-r--r--src/mm-plugin-base.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mm-plugin-base.c b/src/mm-plugin-base.c
index eb5d23ed..78cf9640 100644
--- a/src/mm-plugin-base.c
+++ b/src/mm-plugin-base.c
@@ -77,6 +77,7 @@ typedef struct {
const guint16 *product_ids;
const gchar **vendor_strings;
const gchar **product_strings;
+ const gchar **udev_tags;
gboolean qcdm;
const MMPortProbeAtCommand *custom_init;
guint64 send_delay;
@@ -92,6 +93,7 @@ enum {
PROP_ALLOWED_PRODUCT_IDS,
PROP_ALLOWED_VENDOR_STRINGS,
PROP_ALLOWED_PRODUCT_STRINGS,
+ PROP_ALLOWED_UDEV_TAGS,
PROP_ALLOWED_QCDM,
PROP_CUSTOM_INIT,
PROP_SEND_DELAY,
@@ -1597,6 +1599,10 @@ set_property (GObject *object, guint prop_id,
/* Construct only */
priv->product_strings = (const gchar **)g_value_get_pointer (value);
break;
+ case PROP_ALLOWED_UDEV_TAGS:
+ /* Construct only */
+ priv->udev_tags = (const gchar **)g_value_get_pointer (value);
+ break;
case PROP_ALLOWED_QCDM:
/* Construct only */
priv->qcdm = g_value_get_boolean (value);
@@ -1653,6 +1659,9 @@ get_property (GObject *object, guint prop_id,
case PROP_ALLOWED_QCDM:
g_value_set_boolean (value, priv->qcdm);
break;
+ case PROP_ALLOWED_UDEV_TAGS:
+ g_value_set_pointer (value, (gpointer)priv->udev_tags);
+ break;
case PROP_CUSTOM_INIT:
g_value_set_pointer (value, (gpointer)priv->custom_init);
break;
@@ -1762,6 +1771,14 @@ mm_plugin_base_class_init (MMPluginBaseClass *klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property
+ (object_class, PROP_ALLOWED_UDEV_TAGS,
+ g_param_spec_pointer (MM_PLUGIN_BASE_ALLOWED_UDEV_TAGS,
+ "Allowed Udev tags",
+ "List of udev tags this plugin may expect, "
+ "should be an array of strings finished with 'NULL'",
+ 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",