Wed, 20 Nov 2013 03:12:07 +0530
jabber: use g_object_notify_by_pspec instead of g_object_notify
--- a/libpurple/protocols/jabber/google/google_p2p.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/google/google_p2p.c Wed Nov 20 03:12:07 2013 +0530 @@ -23,6 +23,7 @@ */ #include "internal.h" +#include "glibcompat.h" #include "google_p2p.h" #include "jingle/jingle.h" @@ -48,14 +49,16 @@ static void jingle_google_p2p_add_local_candidate(JingleTransport *transport, const gchar *id, guint generation, PurpleMediaCandidate *candidate); static GList *jingle_google_p2p_get_remote_candidates(JingleTransport *transport); -static JingleTransportClass *parent_class = NULL; - enum { PROP_0, PROP_LOCAL_CANDIDATES, PROP_REMOTE_CANDIDATES, + PROP_LAST }; +static JingleTransportClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + static JingleGoogleP2PCandidate * jingle_google_p2p_candidate_copy(JingleGoogleP2PCandidate *candidate) { @@ -158,17 +161,19 @@ klass->parent_class.add_local_candidate = jingle_google_p2p_add_local_candidate; klass->parent_class.get_remote_candidates = jingle_google_p2p_get_remote_candidates; - g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, - g_param_spec_pointer("local-candidates", + properties[PROP_LOCAL_CANDIDATES] = g_param_spec_pointer("local-candidates", "Local candidates", "The local candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, + properties[PROP_LOCAL_CANDIDATES]); - g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, - g_param_spec_pointer("remote-candidates", + properties[PROP_REMOTE_CANDIDATES] = g_param_spec_pointer("remote-candidates", "Remote candidates", "The remote candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, + properties[PROP_REMOTE_CANDIDATES]); g_type_class_add_private(klass, sizeof(JingleGoogleP2PPrivate)); } @@ -284,7 +289,7 @@ google_p2p->priv->local_candidates = g_list_append( google_p2p->priv->local_candidates, candidate); - g_object_notify(G_OBJECT(google_p2p), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(google_p2p), properties[PROP_LOCAL_CANDIDATES]); return; } @@ -293,7 +298,7 @@ google_p2p->priv->local_candidates = g_list_append( google_p2p->priv->local_candidates, google_p2p_candidate); - g_object_notify(G_OBJECT(google_p2p), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(google_p2p), properties[PROP_LOCAL_CANDIDATES]); } static GList * @@ -357,7 +362,7 @@ } priv->remote_candidates = g_list_append(priv->remote_candidates, candidate); - g_object_notify(G_OBJECT(google_p2p), "remote-candidates"); + g_object_notify_by_pspec(G_OBJECT(google_p2p), properties[PROP_REMOTE_CANDIDATES]); } static JingleTransport *
--- a/libpurple/protocols/jabber/jingle/content.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/jingle/content.c Wed Nov 20 03:12:07 2013 +0530 @@ -23,6 +23,7 @@ */ #include "internal.h" +#include "glibcompat.h" #include "debug.h" #include "content.h" @@ -52,8 +53,6 @@ static PurpleXmlNode *jingle_content_to_xml_internal(JingleContent *content, PurpleXmlNode *jingle, JingleActionType action); static JingleContent *jingle_content_parse_internal(PurpleXmlNode *content); -static GObjectClass *parent_class = NULL; - enum { PROP_0, PROP_SESSION, @@ -63,8 +62,12 @@ PROP_SENDERS, PROP_TRANSPORT, PROP_PENDING_TRANSPORT, + PROP_LAST }; +static GObjectClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + GType jingle_content_get_type() { @@ -100,54 +103,61 @@ klass->to_xml = jingle_content_to_xml_internal; klass->parse = jingle_content_parse_internal; - g_object_class_install_property(gobject_class, PROP_SESSION, - g_param_spec_object("session", + properties[PROP_SESSION] = g_param_spec_object("session", "Jingle Session", "The jingle session parent of this content.", JINGLE_TYPE_SESSION, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_SESSION, + properties[PROP_SESSION]); - g_object_class_install_property(gobject_class, PROP_CREATOR, - g_param_spec_string("creator", + properties[PROP_CREATOR] = g_param_spec_string("creator", "Creator", "The participant that created this content.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_CREATOR, + properties[PROP_CREATOR]); - g_object_class_install_property(gobject_class, PROP_DISPOSITION, - g_param_spec_string("disposition", + properties[PROP_DISPOSITION] = g_param_spec_string("disposition", "Disposition", "The disposition of the content.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_DISPOSITION, + properties[PROP_DISPOSITION]); - g_object_class_install_property(gobject_class, PROP_NAME, - g_param_spec_string("name", + properties[PROP_NAME] = g_param_spec_string("name", "Name", "The name of this content.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_NAME, + properties[PROP_NAME]); - g_object_class_install_property(gobject_class, PROP_SENDERS, - g_param_spec_string("senders", + properties[PROP_SENDERS] = g_param_spec_string("senders", "Senders", "The sender of this content.", NULL, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_SENDERS, + properties[PROP_SENDERS]); - g_object_class_install_property(gobject_class, PROP_TRANSPORT, - g_param_spec_object("transport", + properties[PROP_TRANSPORT] = g_param_spec_object("transport", "transport", "The transport of this content.", JINGLE_TYPE_TRANSPORT, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_TRANSPORT, + properties[PROP_TRANSPORT]); - g_object_class_install_property(gobject_class, PROP_PENDING_TRANSPORT, - g_param_spec_object("pending-transport", + properties[PROP_PENDING_TRANSPORT] = g_param_spec_object("pending-transport", "Pending transport", "The pending transport contained within this content", JINGLE_TYPE_TRANSPORT, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_PENDING_TRANSPORT, + properties[PROP_PENDING_TRANSPORT]); g_type_class_add_private(klass, sizeof(JingleContentPrivate)); } @@ -366,8 +376,8 @@ obj = G_OBJECT(content); g_object_freeze_notify(obj); - g_object_notify(obj, "transport"); - g_object_notify(obj, "pending-transport"); + g_object_notify_by_pspec(obj, properties[PROP_TRANSPORT]); + g_object_notify_by_pspec(obj, properties[PROP_PENDING_TRANSPORT]); g_object_thaw_notify(obj); } @@ -379,7 +389,7 @@ content->priv->pending_transport = NULL; } - g_object_notify(G_OBJECT(content), "pending-transport"); + g_object_notify_by_pspec(G_OBJECT(content), properties[PROP_PENDING_TRANSPORT]); } void
--- a/libpurple/protocols/jabber/jingle/iceudp.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/jingle/iceudp.c Wed Nov 20 03:12:07 2013 +0530 @@ -23,6 +23,7 @@ */ #include "internal.h" +#include "glibcompat.h" #include "iceudp.h" #include "jingle.h" @@ -48,14 +49,16 @@ static void jingle_iceudp_add_local_candidate(JingleTransport *transport, const gchar *id, guint generation, PurpleMediaCandidate *candidate); static GList *jingle_iceudp_get_remote_candidates(JingleTransport *transport); -static JingleTransportClass *parent_class = NULL; - enum { PROP_0, PROP_LOCAL_CANDIDATES, PROP_REMOTE_CANDIDATES, + PROP_LAST }; +static JingleTransportClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + static JingleIceUdpCandidate * jingle_iceudp_candidate_copy(JingleIceUdpCandidate *candidate) { @@ -171,17 +174,19 @@ klass->parent_class.add_local_candidate = jingle_iceudp_add_local_candidate; klass->parent_class.get_remote_candidates = jingle_iceudp_get_remote_candidates; - g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, - g_param_spec_pointer("local-candidates", + properties[PROP_LOCAL_CANDIDATES] = g_param_spec_pointer("local-candidates", "Local candidates", "The local candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, + properties[PROP_LOCAL_CANDIDATES]); - g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, - g_param_spec_pointer("remote-candidates", + properties[PROP_REMOTE_CANDIDATES] = g_param_spec_pointer("remote-candidates", "Remote candidates", "The remote candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, + properties[PROP_REMOTE_CANDIDATES]); g_type_class_add_private(klass, sizeof(JingleIceUdpPrivate)); } @@ -299,7 +304,7 @@ iceudp->priv->local_candidates = g_list_append( iceudp->priv->local_candidates, iceudp_candidate); - g_object_notify(G_OBJECT(iceudp), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(iceudp), properties[PROP_LOCAL_CANDIDATES]); return; } @@ -308,7 +313,7 @@ iceudp->priv->local_candidates = g_list_append( iceudp->priv->local_candidates, iceudp_candidate); - g_object_notify(G_OBJECT(iceudp), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(iceudp), properties[PROP_LOCAL_CANDIDATES]); } static GList * @@ -373,7 +378,7 @@ } priv->remote_candidates = g_list_append(priv->remote_candidates, candidate); - g_object_notify(G_OBJECT(iceudp), "remote-candidates"); + g_object_notify_by_pspec(G_OBJECT(iceudp), properties[PROP_REMOTE_CANDIDATES]); } static JingleTransport *
--- a/libpurple/protocols/jabber/jingle/rawudp.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/jingle/rawudp.c Wed Nov 20 03:12:07 2013 +0530 @@ -23,6 +23,7 @@ */ #include "internal.h" +#include "glibcompat.h" #include "rawudp.h" #include "jingle.h" @@ -48,14 +49,16 @@ static void jingle_rawudp_add_local_candidate(JingleTransport *transport, const gchar *id, guint generation, PurpleMediaCandidate *candidate); static GList *jingle_rawudp_get_remote_candidates(JingleTransport *transport); -static JingleTransportClass *parent_class = NULL; - enum { PROP_0, PROP_LOCAL_CANDIDATES, PROP_REMOTE_CANDIDATES, + PROP_LAST }; +static JingleTransportClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + static JingleRawUdpCandidate * jingle_rawudp_candidate_copy(JingleRawUdpCandidate *candidate) { @@ -142,17 +145,19 @@ klass->parent_class.add_local_candidate = jingle_rawudp_add_local_candidate; klass->parent_class.get_remote_candidates = jingle_rawudp_get_remote_candidates; - g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, - g_param_spec_pointer("local-candidates", + properties[PROP_LOCAL_CANDIDATES] = g_param_spec_pointer("local-candidates", "Local candidates", "The local candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_LOCAL_CANDIDATES, + properties[PROP_LOCAL_CANDIDATES]); - g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, - g_param_spec_pointer("remote-candidates", + properties[PROP_REMOTE_CANDIDATES] = g_param_spec_pointer("remote-candidates", "Remote candidates", "The remote candidates for this transport.", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_REMOTE_CANDIDATES, + properties[PROP_REMOTE_CANDIDATES]); g_type_class_add_private(klass, sizeof(JingleRawUdpPrivate)); } @@ -250,7 +255,7 @@ rawudp->priv->local_candidates = g_list_append( rawudp->priv->local_candidates, rawudp_candidate); - g_object_notify(G_OBJECT(rawudp), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(rawudp), properties[PROP_LOCAL_CANDIDATES]); return; } @@ -259,7 +264,7 @@ rawudp->priv->local_candidates = g_list_append( rawudp->priv->local_candidates, rawudp_candidate); - g_object_notify(G_OBJECT(rawudp), "local-candidates"); + g_object_notify_by_pspec(G_OBJECT(rawudp), properties[PROP_LOCAL_CANDIDATES]); } static GList * @@ -307,7 +312,7 @@ } priv->remote_candidates = g_list_append(priv->remote_candidates, candidate); - g_object_notify(G_OBJECT(rawudp), "remote-candidates"); + g_object_notify_by_pspec(G_OBJECT(rawudp), properties[PROP_REMOTE_CANDIDATES]); } static JingleTransport *
--- a/libpurple/protocols/jabber/jingle/rtp.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/jingle/rtp.c Wed Nov 20 03:12:07 2013 +0530 @@ -22,7 +22,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ -#include "config.h" +#include "internal.h" +#include "glibcompat.h" #ifdef USE_VV @@ -58,7 +59,6 @@ static PurpleMedia *jingle_rtp_get_media(JingleSession *session); -static JingleContentClass *parent_class = NULL; #if 0 enum { LAST_SIGNAL @@ -70,8 +70,12 @@ PROP_0, PROP_MEDIA_TYPE, PROP_SSRC, + PROP_LAST }; +static JingleContentClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + GType jingle_rtp_get_type() { @@ -109,18 +113,21 @@ klass->parent_class.description_type = JINGLE_APP_RTP; klass->parent_class.handle_action = jingle_rtp_handle_action_internal; - g_object_class_install_property(gobject_class, PROP_MEDIA_TYPE, - g_param_spec_string("media-type", + properties[PROP_MEDIA_TYPE] = g_param_spec_string("media-type", "Media Type", "The media type (\"audio\" or \"video\") for this rtp session.", NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - g_object_class_install_property(gobject_class, PROP_SSRC, - g_param_spec_string("ssrc", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_MEDIA_TYPE, + properties[PROP_MEDIA_TYPE]); + + properties[PROP_SSRC] = g_param_spec_string("ssrc", "ssrc", "The ssrc for this rtp session.", NULL, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_SSRC, + properties[PROP_SSRC]); g_type_class_add_private(klass, sizeof(JingleRtpPrivate)); } @@ -882,7 +889,7 @@ jingle_session_add_content(session, content); JINGLE_RTP(content)->priv->media_type = g_strdup("audio"); jingle_rtp_init_media(content); - g_object_notify(G_OBJECT(content), "media-type"); + g_object_notify_by_pspec(G_OBJECT(content), properties[PROP_MEDIA_TYPE]); } if (type & PURPLE_MEDIA_VIDEO) { transport = jingle_transport_create(transport_type); @@ -891,7 +898,7 @@ jingle_session_add_content(session, content); JINGLE_RTP(content)->priv->media_type = g_strdup("video"); jingle_rtp_init_media(content); - g_object_notify(G_OBJECT(content), "media-type"); + g_object_notify_by_pspec(G_OBJECT(content), properties[PROP_MEDIA_TYPE]); } g_free(me);
--- a/libpurple/protocols/jabber/jingle/session.c Wed Nov 20 02:36:19 2013 +0530 +++ b/libpurple/protocols/jabber/jingle/session.c Wed Nov 20 03:12:07 2013 +0530 @@ -23,6 +23,7 @@ */ #include "internal.h" +#include "glibcompat.h" #include "content.h" #include "debug.h" @@ -51,8 +52,6 @@ static void jingle_session_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void jingle_session_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); -static GObjectClass *parent_class = NULL; - enum { PROP_0, PROP_SID, @@ -63,8 +62,12 @@ PROP_STATE, PROP_CONTENTS, PROP_PENDING_CONTENTS, + PROP_LAST }; +static GObjectClass *parent_class = NULL; +static GParamSpec *properties[PROP_LAST]; + GType jingle_session_get_type() { @@ -98,58 +101,66 @@ gobject_class->set_property = jingle_session_set_property; gobject_class->get_property = jingle_session_get_property; - g_object_class_install_property(gobject_class, PROP_SID, - g_param_spec_string("sid", + properties[PROP_SID] = g_param_spec_string("sid", "Session ID", "The unique session ID of the Jingle Session.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_SID, + properties[PROP_SID]); - g_object_class_install_property(gobject_class, PROP_JS, - g_param_spec_pointer("js", + properties[PROP_JS] = g_param_spec_pointer("js", "JabberStream", "The Jabber stream associated with this session.", - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_JS, + properties[PROP_JS]); - g_object_class_install_property(gobject_class, PROP_REMOTE_JID, - g_param_spec_string("remote-jid", + properties[PROP_REMOTE_JID] = g_param_spec_string("remote-jid", "Remote JID", "The JID of the remote participant.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_REMOTE_JID, + properties[PROP_REMOTE_JID]); - g_object_class_install_property(gobject_class, PROP_LOCAL_JID, - g_param_spec_string("local-jid", + properties[PROP_LOCAL_JID] = g_param_spec_string("local-jid", "Local JID", "The JID of the local participant.", NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_LOCAL_JID, + properties[PROP_LOCAL_JID]); - g_object_class_install_property(gobject_class, PROP_IS_INITIATOR, - g_param_spec_boolean("is-initiator", + properties[PROP_IS_INITIATOR] = g_param_spec_boolean("is-initiator", "Is Initiator", "Whether or not the local JID is the initiator of the session.", FALSE, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_IS_INITIATOR, + properties[PROP_IS_INITIATOR]); - g_object_class_install_property(gobject_class, PROP_STATE, - g_param_spec_boolean("state", + properties[PROP_STATE] = g_param_spec_boolean("state", "State", "The state of the session (PENDING=FALSE, ACTIVE=TRUE).", FALSE, - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_STATE, + properties[PROP_STATE]); - g_object_class_install_property(gobject_class, PROP_CONTENTS, - g_param_spec_pointer("contents", + properties[PROP_CONTENTS] = g_param_spec_pointer("contents", "Contents", "The active contents contained within this session", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_CONTENTS, + properties[PROP_CONTENTS]); - g_object_class_install_property(gobject_class, PROP_PENDING_CONTENTS, - g_param_spec_pointer("pending-contents", + properties[PROP_PENDING_CONTENTS] = g_param_spec_pointer("pending-contents", "Pending contents", "The pending contents contained within this session", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + g_object_class_install_property(gobject_class, PROP_PENDING_CONTENTS, + properties[PROP_PENDING_CONTENTS]); g_type_class_add_private(klass, sizeof(JingleSessionPrivate)); } @@ -564,7 +575,7 @@ g_list_append(session->priv->contents, content); jingle_content_set_session(content, session); - g_object_notify(G_OBJECT(session), "contents"); + g_object_notify_by_pspec(G_OBJECT(session), properties[PROP_CONTENTS]); } void @@ -578,7 +589,7 @@ g_list_remove(session->priv->contents, content); g_object_unref(content); - g_object_notify(G_OBJECT(session), "contents"); + g_object_notify_by_pspec(G_OBJECT(session), properties[PROP_CONTENTS]); } } @@ -589,7 +600,7 @@ g_list_append(session->priv->pending_contents, content); jingle_content_set_session(content, session); - g_object_notify(G_OBJECT(session), "pending-contents"); + g_object_notify_by_pspec(G_OBJECT(session), properties[PROP_PENDING_CONTENTS]); } void @@ -602,7 +613,7 @@ g_list_remove(session->priv->pending_contents, content); g_object_unref(content); - g_object_notify(G_OBJECT(session), "pending-contents"); + g_object_notify_by_pspec(G_OBJECT(session), properties[PROP_PENDING_CONTENTS]); } } @@ -623,7 +634,7 @@ { session->priv->state = TRUE; - g_object_notify(G_OBJECT(session), "state"); + g_object_notify_by_pspec(G_OBJECT(session), properties[PROP_STATE]); } JabberIq *