summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2011-10-10 17:58:11 +0100
committerWill Thompson <will.thompson@collabora.co.uk>2011-10-10 17:58:11 +0100
commit87e6f6379f8007f8f9acbc2795f3cf8f0aa1d8c4 (patch)
tree129222492e658fcb39aa4f8be9ad4f06fdad94c1
parente0a7a0722c688aa30b120499d84b3feec1e78479 (diff)
downloadtelepathy-glib-87e6f6379f8007f8f9acbc2795f3cf8f0aa1d8c4.tar.gz
Generate code for Room, RoomConfig and Subject
-rw-r--r--docs/reference/telepathy-glib-docs.sgml2
-rw-r--r--docs/reference/telepathy-glib-sections.txt80
-rw-r--r--telepathy-glib/channel.xml3
-rw-r--r--telepathy-glib/extra-gtkdoc.h58
4 files changed, 143 insertions, 0 deletions
diff --git a/docs/reference/telepathy-glib-docs.sgml b/docs/reference/telepathy-glib-docs.sgml
index a5d011066..0b26c5da4 100644
--- a/docs/reference/telepathy-glib-docs.sgml
+++ b/docs/reference/telepathy-glib-docs.sgml
@@ -58,6 +58,7 @@
<xi:include href="xml/contact-search-result.xml"/>
<xi:include href="xml/channel.xml"/>
<xi:include href="xml/channel-group.xml"/>
+ <xi:include href="xml/channel-room.xml"/>
<xi:include href="xml/channel-text.xml"/>
<xi:include href="xml/channel-media.xml"/>
<xi:include href="xml/channel-file-transfer.xml"/>
@@ -96,6 +97,7 @@
<xi:include href="xml/svc-generic.xml"/>
<xi:include href="xml/svc-channel.xml"/>
<xi:include href="xml/svc-channel-group.xml"/>
+ <xi:include href="xml/svc-channel-room.xml"/>
<xi:include href="xml/svc-channel-contactlist.xml"/>
<xi:include href="xml/svc-channel-contactsearch.xml"/>
<xi:include href="xml/svc-channel-text.xml"/>
diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index f57767f66..01e12f7b5 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -482,6 +482,45 @@ TP_IS_SVC_CHANNEL_INTERFACE_SMS
<SECTION>
<INCLUDE>telepathy-glib/svc-channel.h</INCLUDE>
+<TITLE>svc-channel-room</TITLE>
+<FILE>svc-channel-room</FILE>
+<SUBSECTION>
+TpSvcChannelInterfaceRoom
+TpSvcChannelInterfaceRoomClass
+<SUBSECTION Standard>
+tp_svc_channel_interface_room_get_type
+TP_TYPE_SVC_CHANNEL_INTERFACE_ROOM
+TP_SVC_CHANNEL_INTERFACE_ROOM
+TP_SVC_CHANNEL_INTERFACE_ROOM_GET_CLASS
+TP_IS_SVC_CHANNEL_INTERFACE_ROOM
+<SUBSECTION>
+TpSvcChannelInterfaceRoomConfig
+TpSvcChannelInterfaceRoomConfigClass
+tp_svc_channel_interface_room_config_implement_update_configuration
+tp_svc_channel_interface_room_config_return_from_update_configuration
+tp_svc_channel_interface_room_config_update_configuration_impl
+<SUBSECTION Standard>
+tp_svc_channel_interface_room_config_get_type
+TP_TYPE_SVC_CHANNEL_INTERFACE_ROOM_CONFIG
+TP_SVC_CHANNEL_INTERFACE_ROOM_CONFIG
+TP_SVC_CHANNEL_INTERFACE_ROOM_CONFIG_GET_CLASS
+TP_IS_SVC_CHANNEL_INTERFACE_ROOM_CONFIG
+<SUBSECTION>
+TpSvcChannelInterfaceSubject
+TpSvcChannelInterfaceSubjectClass
+tp_svc_channel_interface_subject_implement_set_subject
+tp_svc_channel_interface_subject_return_from_set_subject
+tp_svc_channel_interface_subject_set_subject_impl
+<SUBSECTION Standard>
+tp_svc_channel_interface_subject_get_type
+TP_TYPE_SVC_CHANNEL_INTERFACE_SUBJECT
+TP_SVC_CHANNEL_INTERFACE_SUBJECT
+TP_SVC_CHANNEL_INTERFACE_SUBJECT_GET_CLASS
+TP_IS_SVC_CHANNEL_INTERFACE_SUBJECT
+</SECTION>
+
+<SECTION>
+<INCLUDE>telepathy-glib/svc-channel.h</INCLUDE>
<TITLE>svc-channel-file-transfer</TITLE>
<FILE>svc-channel-file-transfer</FILE>
TpSvcChannelTypeFileTransfer
@@ -2606,12 +2645,18 @@ TP_IFACE_CHANNEL_INTERFACE_HOLD
TP_IFACE_QUARK_CHANNEL_INTERFACE_HOLD
TP_IFACE_CHANNEL_INTERFACE_PASSWORD
TP_IFACE_QUARK_CHANNEL_INTERFACE_PASSWORD
+TP_IFACE_CHANNEL_INTERFACE_ROOM
+TP_IFACE_QUARK_CHANNEL_INTERFACE_ROOM
+TP_IFACE_CHANNEL_INTERFACE_ROOM_CONFIG
+TP_IFACE_QUARK_CHANNEL_INTERFACE_ROOM_CONFIG
TP_IFACE_CHANNEL_INTERFACE_SASL_AUTHENTICATION
TP_IFACE_QUARK_CHANNEL_INTERFACE_SASL_AUTHENTICATION
TP_IFACE_CHANNEL_INTERFACE_SECURABLE
TP_IFACE_QUARK_CHANNEL_INTERFACE_SECURABLE
TP_IFACE_CHANNEL_INTERFACE_SMS
TP_IFACE_QUARK_CHANNEL_INTERFACE_SMS
+TP_IFACE_CHANNEL_INTERFACE_SUBJECT
+TP_IFACE_QUARK_CHANNEL_INTERFACE_SUBJECT
TP_IFACE_CHANNEL_INTERFACE_MEDIA_SIGNALLING
TP_IFACE_QUARK_CHANNEL_INTERFACE_MEDIA_SIGNALLING
TP_IFACE_CHANNEL_INTERFACE_MESSAGES
@@ -2713,6 +2758,21 @@ TP_PROP_CHANNEL_INTERFACE_MESSAGES_MESSAGE_PART_SUPPORT_FLAGS
TP_PROP_CHANNEL_INTERFACE_MESSAGES_MESSAGE_TYPES
TP_PROP_CHANNEL_INTERFACE_MESSAGES_PENDING_MESSAGES
TP_PROP_CHANNEL_INTERFACE_MESSAGES_SUPPORTED_CONTENT_TYPES
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_ANONYMOUS
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_CAN_UPDATE_CONFIGURATION
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_CONFIGURATION_RETRIEVED
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_DESCRIPTION
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_INVITEONLY
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_LIMIT
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_MODERATED
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_MUTABLE_PROPERTIES
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_PASSWORD
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_PASSWORD_PROTECTED
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_PERSISTENT
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_PRIVATE
+TP_PROP_CHANNEL_INTERFACE_ROOM_CONFIG_TITLE
+TP_PROP_CHANNEL_INTERFACE_ROOM_ROOM_NAME
+TP_PROP_CHANNEL_INTERFACE_ROOM_SERVER
TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_AUTHORIZATION_IDENTITY
TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_AVAILABLE_MECHANISMS
TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_CAN_TRY_AGAIN
@@ -2729,6 +2789,11 @@ TP_PROP_CHANNEL_INTERFACE_SERVICE_POINT_CURRENT_SERVICE_POINT
TP_PROP_CHANNEL_INTERFACE_SERVICE_POINT_INITIAL_SERVICE_POINT
TP_PROP_CHANNEL_INTERFACE_SMS_FLASH
TP_PROP_CHANNEL_INTERFACE_SMS_SMS_CHANNEL
+TP_PROP_CHANNEL_INTERFACE_SUBJECT_ACTOR
+TP_PROP_CHANNEL_INTERFACE_SUBJECT_ACTOR_HANDLE
+TP_PROP_CHANNEL_INTERFACE_SUBJECT_CAN_SET
+TP_PROP_CHANNEL_INTERFACE_SUBJECT_SUBJECT
+TP_PROP_CHANNEL_INTERFACE_SUBJECT_TIMESTAMP
TP_PROP_CHANNEL_INTERFACE_TUBE_PARAMETERS
TP_PROP_CHANNEL_INTERFACE_TUBE_STATE
TP_PROP_CHANNEL_TYPE_SERVER_AUTHENTICATION_AUTHENTICATION_METHOD
@@ -2889,9 +2954,12 @@ tp_iface_quark_channel_interface_hold
tp_iface_quark_channel_interface_media_signalling
tp_iface_quark_channel_interface_messages
tp_iface_quark_channel_interface_password
+tp_iface_quark_channel_interface_room
+tp_iface_quark_channel_interface_room_config
tp_iface_quark_channel_interface_sasl_authentication
tp_iface_quark_channel_interface_securable
tp_iface_quark_channel_interface_sms
+tp_iface_quark_channel_interface_subject
tp_iface_quark_channel_type_contact_list
tp_iface_quark_channel_type_contact_search
tp_iface_quark_channel_type_file_transfer
@@ -3276,6 +3344,18 @@ tp_cli_channel_interface_sms_run_get_sms_length
</SECTION>
<SECTION>
+<FILE>channel-room</FILE>
+<TITLE>channel-room</TITLE>
+<INCLUDE>telepathy-glib/channel.h</INCLUDE>
+<SUBSECTION>
+tp_cli_channel_interface_room_config_call_update_configuration
+tp_cli_channel_interface_room_config_callback_for_update_configuration
+<SUBSECTION>
+tp_cli_channel_interface_subject_call_set_subject
+tp_cli_channel_interface_subject_callback_for_set_subject
+</SECTION>
+
+<SECTION>
<FILE>channel-file-transfer</FILE>
<TITLE>channel-file-transfer</TITLE>
<INCLUDE>telepathy-glib/channel.h</INCLUDE>
diff --git a/telepathy-glib/channel.xml b/telepathy-glib/channel.xml
index 656260877..9359f906a 100644
--- a/telepathy-glib/channel.xml
+++ b/telepathy-glib/channel.xml
@@ -29,9 +29,12 @@
<xi:include href="../spec/Channel_Interface_Media_Signalling.xml"/>
<xi:include href="../spec/Channel_Interface_Messages.xml"/>
<xi:include href="../spec/Channel_Interface_Password.xml"/>
+<xi:include href="../spec/Channel_Interface_Room.xml"/>
+<xi:include href="../spec/Channel_Interface_Room_Config.xml"/>
<xi:include href="../spec/Channel_Interface_SASL_Authentication.xml"/>
<xi:include href="../spec/Channel_Interface_Securable.xml"/>
<xi:include href="../spec/Channel_Interface_Service_Point.xml"/>
+<xi:include href="../spec/Channel_Interface_Subject.xml"/>
<xi:include href="../spec/Channel_Interface_SMS.xml"/>
<xi:include href="../spec/Channel_Interface_Tube.xml"/>
diff --git a/telepathy-glib/extra-gtkdoc.h b/telepathy-glib/extra-gtkdoc.h
index 9f04fefdd..b6e7ed0e6 100644
--- a/telepathy-glib/extra-gtkdoc.h
+++ b/telepathy-glib/extra-gtkdoc.h
@@ -96,6 +96,37 @@
*/
/**
+ * SECTION:svc-channel-room
+ * @title: Service-side room interfaces
+ * @short_description: room-related functionality for channels
+ *
+ * This collection of interfaces is used to expose various aspects of the
+ * configuration of chat rooms.
+ *
+ * #TpSvcChannelInterfaceRoom consists only of a pair of requestable, immutable
+ * properties: <code>"RoomName"</code> and <code>"Server"</code>. It has no
+ * methods or signals. It should be implemented on channels representing a chat
+ * room (whether it be a text chat, a multi-user call, or some other media
+ * type).
+ *
+ * #TpSvcChannelInterfaceSubject may be implemented by channels which have a
+ * subject (or topic, depending on your protocol's terminology of choice). This
+ * will usually be in addition to #TpSvcChannelInterfaceRoom, though in theory
+ * a 1-1 channel could have a subject. In addition to its single method, it
+ * defines a set of read-only properties, namely <code>"Subject"</code>,
+ * <code>"Actor"</code>, <code>"ActorHandle"</code>, <code>"Timestamp"</code>,
+ * and <code>"CanSet"</code>. Changes should be signalled using
+ * tp_dbus_properties_mixin_emit_properties_changed().
+ *
+ * #TpSvcChannelInterfaceRoomConfig provides a vast array of properties for
+ * other aspects of a chat room's configuration (such as the maximum number of
+ * participants, and whether the room is password-protected). Channels with
+ * this interface will typically implement the other two, too.
+ *
+ * Since: 0.UNRELEASED
+ */
+
+/**
* SECTION:svc-channel-text
* @title: Text channels
* @short_description: service-side interfaces for the Text channel type, and
@@ -453,6 +484,33 @@
*/
/**
+ * SECTION:channel-room
+ * @title: Room-related interfaces on Channels
+ * @short_description: client-side wrappers for Room, RoomConfig and Subject
+ *
+ * This family of interfaces exposes aspects of chat rooms' configuration, and
+ * provides API to modify it (where permitted). Most of the API is in terms of
+ * D-Bus properties; they may be retrieved using
+ * tp_cli_dbus_properties_call_get_all(), and changes monitored using
+ * tp_cli_dbus_properties_connect_to_properties_changed().
+ *
+ * #TP_IFACE_CHANNEL_INTERFACE_ROOM consists only of a pair of requestable,
+ * immutable properties: #TP_PROP_CHANNEL_INTERFACE_ROOM_ROOM_NAME and
+ * #TP_PROP_CHANNEL_INTERFACE_ROOM_SERVER.
+ *
+ * In addition to #TP_IFACE_CHANNEL_INTERFACE_SUBJECT's single method, it
+ * defines a set of read-only properties: <code>"Subject"</code>,
+ * <code>"Actor"</code>, <code>"ActorHandle"</code>, <code>"Timestamp"</code>,
+ * and <code>"CanSet"</code>.
+ *
+ * #TP_IFACE_CHANNEL_INTERFACE_ROOM_CONFIG provides a vast array of properties
+ * for other aspects of a chat room's configuration (such as the maximum number
+ * of participants, and whether the room is password-protected).
+ *
+ * Since: 0.UNRELEASED
+ */
+
+/**
* SECTION:channel-text
* @title: Text channels
* @short_description: client-side wrappers for the Text channel type, and