summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2012-02-24 21:18:51 -0500
committerOlivier CrĂȘte <olivier.crete@collabora.com>2012-02-24 21:18:51 -0500
commit49081da1efee84944300e2480fb831b4b7a071ed (patch)
treea3ad052d5fb1af8755d81628853b7f8268f3dc6a
parent4395cebd5a8e10397a5249311208a846a4f1d347 (diff)
CallStream: Set CanRequestReceiving based on MutableContents
-rw-r--r--rakia/call-stream.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/rakia/call-stream.c b/rakia/call-stream.c
index 4c4a343..f6ade9c 100644
--- a/rakia/call-stream.c
+++ b/rakia/call-stream.c
@@ -75,6 +75,7 @@ enum
{
PROP_CHANNEL = 1,
PROP_SIP_MEDIA,
+ PROP_CAN_REQUEST_RECEIVING,
LAST_PROPERTY
};
@@ -125,6 +126,33 @@ rakia_call_stream_set_property (GObject *object,
}
static void
+rakia_call_stream_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ RakiaCallStream *self = RAKIA_CALL_STREAM (object);
+ RakiaCallStreamPrivate *priv = self->priv;
+
+ switch (property_id)
+ {
+ case PROP_CAN_REQUEST_RECEIVING:
+ {
+ gboolean mutable_contents;
+
+ g_object_get (priv->channel,
+ "mutable-contents", &mutable_contents,
+ NULL);
+ g_value_set_boolean (value, mutable_contents);
+ }
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
rakia_call_stream_class_init (RakiaCallStreamClass *rakia_call_stream_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (rakia_call_stream_class);
@@ -137,6 +165,7 @@ rakia_call_stream_class_init (RakiaCallStreamClass *rakia_call_stream_class)
object_class->constructed = rakia_call_stream_constructed;
object_class->set_property = rakia_call_stream_set_property;
+ object_class->get_property = rakia_call_stream_get_property;
object_class->dispose = rakia_call_stream_dispose;
object_class->finalize = rakia_call_stream_finalize;
@@ -149,6 +178,9 @@ rakia_call_stream_class_init (RakiaCallStreamClass *rakia_call_stream_class)
bmcs_class->request_receiving = rakia_call_stream_request_receiving;
bmcs_class->set_sending = rakia_call_stream_set_sending;
+ g_object_class_override_property (object_class, PROP_CAN_REQUEST_RECEIVING,
+ "can-request-receiving");
+
param_spec = g_param_spec_pointer ("channel", "RakiaCallChannel object",
"Call Channel",
G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS);