plugin-base: new 'allowed-qcdm' property

The plugins can set this boolean property to specify whether they can handle
QCDM ports, and therefore probing for them is needed.
This commit is contained in:
Aleksander Morgado
2011-09-15 23:45:22 +02:00
committed by Aleksander Morgado
parent 8f95a2d78d
commit 24ebb00ed2
2 changed files with 18 additions and 0 deletions

View File

@@ -76,6 +76,7 @@ typedef struct {
const guint16 *product_ids;
const gchar **vendor_strings;
const gchar **product_strings;
gboolean qcdm;
const MMPortProbeAtCommand *custom_init;
guint64 send_delay;
} MMPluginBasePrivate;
@@ -89,6 +90,7 @@ enum {
PROP_ALLOWED_PRODUCT_IDS,
PROP_ALLOWED_VENDOR_STRINGS,
PROP_ALLOWED_PRODUCT_STRINGS,
PROP_ALLOWED_QCDM,
PROP_CUSTOM_INIT,
PROP_SEND_DELAY,
PROP_SORT_LAST,
@@ -1589,6 +1591,10 @@ set_property (GObject *object, guint prop_id,
/* Construct only */
priv->product_strings = (const gchar **)g_value_get_pointer (value);
break;
case PROP_ALLOWED_QCDM:
/* Construct only */
priv->qcdm = g_value_get_boolean (value);
break;
case PROP_CUSTOM_INIT:
/* Construct only */
priv->custom_init = (const MMPortProbeAtCommand *)g_value_get_pointer (value);
@@ -1635,6 +1641,9 @@ get_property (GObject *object, guint prop_id,
case PROP_ALLOWED_PRODUCT_STRINGS:
g_value_set_pointer (value, (gpointer)priv->product_strings);
break;
case PROP_ALLOWED_QCDM:
g_value_set_boolean (value, priv->qcdm);
break;
case PROP_CUSTOM_INIT:
g_value_set_pointer (value, (gpointer)priv->custom_init);
break;
@@ -1735,6 +1744,14 @@ mm_plugin_base_class_init (MMPluginBaseClass *klass)
"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",
"Whether QCDM ports are allowed in this plugin",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
g_object_class_install_property
(object_class, PROP_CUSTOM_INIT,
g_param_spec_pointer (MM_PLUGIN_BASE_CUSTOM_INIT,

View File

@@ -130,6 +130,7 @@ typedef struct {
#define MM_PLUGIN_BASE_ALLOWED_PRODUCT_IDS "allowed-product-ids"
#define MM_PLUGIN_BASE_ALLOWED_VENDOR_STRINGS "allowed-vendor-strings"
#define MM_PLUGIN_BASE_ALLOWED_PRODUCT_STRINGS "allowed-product-strings"
#define MM_PLUGIN_BASE_ALLOWED_QCDM "allowed-qcdm"
#define MM_PLUGIN_BASE_CUSTOM_INIT "custom-init"
#define MM_PLUGIN_BASE_SEND_DELAY "send-delay"
#define MM_PLUGIN_BASE_SORT_LAST "sort-last"