diff options
author | Aleksander Morgado <aleksander@gnu.org> | 2011-09-18 22:20:11 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:20 +0100 |
commit | 963eb873e10dd06b17363a08414c278d5e1ba7b3 (patch) | |
tree | 00fac8bd41e8d1684daf20bc4c24cb3ce0300ab8 /src/mm-plugin-base.c | |
parent | 18238ed50ee626bff10aa9dc86e06223a776c255 (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.c | 17 |
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", |