[Telepathy-commits] [telepathy-salut/master] SalutMucChannel: expose interface as a GObject property
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Mon Aug 11 04:10:27 PDT 2008
---
src/salut-muc-channel.c | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/salut-muc-channel.c b/src/salut-muc-channel.c
index 7df5360..f3f682b 100644
--- a/src/salut-muc-channel.c
+++ b/src/salut-muc-channel.c
@@ -61,6 +61,11 @@ G_DEFINE_TYPE_WITH_CODE(SalutMucChannel, salut_muc_channel, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(TP_TYPE_SVC_CHANNEL_TYPE_TEXT, text_iface_init);
)
+static const char *salut_muc_channel_interfaces[] = {
+ TP_IFACE_CHANNEL_INTERFACE_GROUP,
+ NULL
+};
+
/* signal enum */
enum
{
@@ -83,6 +88,7 @@ enum
PROP_NAME,
PROP_CREATOR,
PROP_XMPP_CONNECTION_MANAGER,
+ PROP_INTERFACES,
LAST_PROPERTY
};
@@ -161,6 +167,9 @@ salut_muc_channel_get_property (GObject *object,
case PROP_XMPP_CONNECTION_MANAGER:
g_value_set_object (value, priv->xmpp_connection_manager);
break;
+ case PROP_INTERFACES:
+ g_value_set_static_boxed (value, salut_muc_channel_interfaces);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -738,6 +747,14 @@ salut_muc_channel_class_init (SalutMucChannelClass *salut_muc_channel_class) {
g_object_class_install_property (object_class,
PROP_CREATOR, param_spec);
+ param_spec = g_param_spec_boxed ("interfaces", "Extra D-Bus interfaces",
+ "Additional Channel.Interface.* interfaces",
+ G_TYPE_STRV,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_STATIC_NAME);
+ g_object_class_install_property (object_class, PROP_INTERFACES, param_spec);
+
+
signals[READY] = g_signal_new (
"ready",
G_OBJECT_CLASS_TYPE (salut_muc_channel_class),
@@ -1135,9 +1152,8 @@ static void
salut_muc_channel_get_interfaces (TpSvcChannel *iface,
DBusGMethodInvocation *context)
{
- const char *interfaces[] = { TP_IFACE_CHANNEL_INTERFACE_GROUP, NULL };
-
- tp_svc_channel_return_from_get_interfaces (context, interfaces);
+ tp_svc_channel_return_from_get_interfaces (context,
+ salut_muc_channel_interfaces);
}
--
1.5.6.3
More information about the Telepathy-commits
mailing list