aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-port.c')
-rw-r--r--src/mm-port.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/mm-port.c b/src/mm-port.c
index 715db958..7e8edc4f 100644
--- a/src/mm-port.c
+++ b/src/mm-port.c
@@ -28,6 +28,7 @@ enum {
PROP_SUBSYS,
PROP_TYPE,
PROP_CARRIER_DETECT,
+ PROP_CONNECTED,
LAST_PROP
};
@@ -39,6 +40,7 @@ typedef struct {
MMPortSubsys subsys;
MMPortType ptype;
gboolean carrier_detect;
+ gboolean connected;
} MMPortPrivate;
/*****************************************************************************/
@@ -117,6 +119,30 @@ mm_port_get_carrier_detect (MMPort *self)
return MM_PORT_GET_PRIVATE (self)->carrier_detect;
}
+gboolean
+mm_port_get_connected (MMPort *self)
+{
+ g_return_val_if_fail (self != NULL, FALSE);
+ g_return_val_if_fail (MM_IS_PORT (self), FALSE);
+
+ return MM_PORT_GET_PRIVATE (self)->connected;
+}
+
+void
+mm_port_set_connected (MMPort *self, gboolean connected)
+{
+ MMPortPrivate *priv;
+
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (MM_IS_PORT (self));
+
+ priv = MM_PORT_GET_PRIVATE (self);
+ if (priv->connected != connected) {
+ priv->connected = connected;
+ g_object_notify (G_OBJECT (self), MM_PORT_CONNECTED);
+ }
+}
+
/*****************************************************************************/
static void
@@ -146,6 +172,9 @@ set_property (GObject *object, guint prop_id,
case PROP_CARRIER_DETECT:
priv->carrier_detect = g_value_get_boolean (value);
break;
+ case PROP_CONNECTED:
+ priv->connected = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -171,6 +200,9 @@ get_property (GObject *object, guint prop_id,
case PROP_CARRIER_DETECT:
g_value_set_boolean (value, priv->carrier_detect);
break;
+ case PROP_CONNECTED:
+ g_value_set_boolean (value, priv->connected);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -235,4 +267,12 @@ mm_port_class_init (MMPortClass *klass)
"Has Carrier Detect",
TRUE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_CONNECTED,
+ g_param_spec_boolean (MM_PORT_CONNECTED,
+ "Connected",
+ "Is connected for data and not usable for control",
+ FALSE,
+ G_PARAM_READWRITE));
}