summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ruprecht <maiku@pidgin.im>2009-11-02 20:20:21 +0000
committerMichael Ruprecht <maiku@pidgin.im>2009-11-02 20:20:21 +0000
commit4e740c42fffec0295bde8e6975bebf311fc47841 (patch)
treeab8c9393c49af883857d9a47cfea522ec45458f3
parente1e30e1e7c3f10ceae5cd41096790da524d34834 (diff)
downloadpidgin-4e740c42fffec0295bde8e6975bebf311fc47841.tar.gz
Add a read only property to PurpleMedia to retrieve the MediaBackend object.
-rw-r--r--libpurple/media/media.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libpurple/media/media.c b/libpurple/media/media.c
index b7c3299e2f..12a14bcc49 100644
--- a/libpurple/media/media.c
+++ b/libpurple/media/media.c
@@ -149,6 +149,7 @@ static guint purple_media_signals[LAST_SIGNAL] = {0};
enum {
PROP_0,
PROP_MANAGER,
+ PROP_BACKEND,
PROP_ACCOUNT,
PROP_CONFERENCE_TYPE,
PROP_INITIATOR,
@@ -203,6 +204,17 @@ purple_media_class_init (PurpleMediaClass *klass)
PURPLE_TYPE_MEDIA_MANAGER,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+ /*
+ * This one should be PURPLE_TYPE_MEDIA_BACKEND, but it doesn't
+ * like interfaces because they "aren't GObjects"
+ */
+ g_object_class_install_property(gobject_class, PROP_BACKEND,
+ g_param_spec_object("backend",
+ "Purple Media Backend",
+ "The backend object this media object uses.",
+ G_TYPE_OBJECT,
+ G_PARAM_READABLE));
+
g_object_class_install_property(gobject_class, PROP_ACCOUNT,
g_param_spec_pointer("account",
"PurpleAccount",
@@ -423,6 +435,9 @@ purple_media_get_property (GObject *object, guint prop_id, GValue *value, GParam
case PROP_MANAGER:
g_value_set_object(value, media->priv->manager);
break;
+ case PROP_BACKEND:
+ g_value_set_object(value, media->priv->backend);
+ break;
case PROP_ACCOUNT:
g_value_set_pointer(value, media->priv->account);
break;