[telepathy-glib/master] Generate and document constants for D-Bus property names

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Nov 25 03:25:33 PST 2009


---
 docs/reference/telepathy-glib-sections.txt |  101 ++++++++++++++++++++++++++++
 telepathy-glib/extra-gtkdoc.h              |   10 ++-
 tools/glib-interfaces-gen.py               |   16 +++++
 3 files changed, 125 insertions(+), 2 deletions(-)

diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index 1a54177..700344b 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -2044,6 +2044,107 @@ TP_IFACE_CLIENT_OBSERVER
 TP_IFACE_QUARK_CLIENT_OBSERVER
 TP_IFACE_CLIENT_INTERFACE_REQUESTS
 TP_IFACE_QUARK_CLIENT_INTERFACE_REQUESTS
+TP_PROP_ACCOUNT_AUTOMATIC_PRESENCE
+TP_PROP_ACCOUNT_CONNECTION
+TP_PROP_ACCOUNT_CONNECTION_STATUS
+TP_PROP_ACCOUNT_CONNECTION_STATUS_REASON
+TP_PROP_ACCOUNT_CONNECT_AUTOMATICALLY
+TP_PROP_ACCOUNT_CURRENT_PRESENCE
+TP_PROP_ACCOUNT_DISPLAY_NAME
+TP_PROP_ACCOUNT_ENABLED
+TP_PROP_ACCOUNT_HAS_BEEN_ONLINE
+TP_PROP_ACCOUNT_ICON
+TP_PROP_ACCOUNT_INTERFACES
+TP_PROP_ACCOUNT_INTERFACE_AVATAR_AVATAR
+TP_PROP_ACCOUNT_MANAGER_INTERFACES
+TP_PROP_ACCOUNT_MANAGER_INVALID_ACCOUNTS
+TP_PROP_ACCOUNT_MANAGER_SUPPORTED_ACCOUNT_PROPERTIES
+TP_PROP_ACCOUNT_MANAGER_VALID_ACCOUNTS
+TP_PROP_ACCOUNT_NICKNAME
+TP_PROP_ACCOUNT_NORMALIZED_NAME
+TP_PROP_ACCOUNT_PARAMETERS
+TP_PROP_ACCOUNT_REQUESTED_PRESENCE
+TP_PROP_ACCOUNT_VALID
+TP_PROP_CHANNEL_CHANNEL_TYPE
+TP_PROP_CHANNEL_DISPATCHER_INTERFACES
+TP_PROP_CHANNEL_DISPATCHER_INTERFACE_OPERATION_LIST_DISPATCH_OPERATIONS
+TP_PROP_CHANNEL_DISPATCH_OPERATION_ACCOUNT
+TP_PROP_CHANNEL_DISPATCH_OPERATION_CHANNELS
+TP_PROP_CHANNEL_DISPATCH_OPERATION_CONNECTION
+TP_PROP_CHANNEL_DISPATCH_OPERATION_INTERFACES
+TP_PROP_CHANNEL_DISPATCH_OPERATION_POSSIBLE_HANDLERS
+TP_PROP_CHANNEL_INITIATOR_HANDLE
+TP_PROP_CHANNEL_INITIATOR_ID
+TP_PROP_CHANNEL_INTERFACES
+TP_PROP_CHANNEL_INTERFACE_GROUP_GROUP_FLAGS
+TP_PROP_CHANNEL_INTERFACE_GROUP_HANDLE_OWNERS
+TP_PROP_CHANNEL_INTERFACE_GROUP_LOCAL_PENDING_MEMBERS
+TP_PROP_CHANNEL_INTERFACE_GROUP_MEMBERS
+TP_PROP_CHANNEL_INTERFACE_GROUP_REMOTE_PENDING_MEMBERS
+TP_PROP_CHANNEL_INTERFACE_GROUP_SELF_HANDLE
+TP_PROP_CHANNEL_INTERFACE_MESSAGES_DELIVERY_REPORTING_SUPPORT
+TP_PROP_CHANNEL_INTERFACE_MESSAGES_MESSAGE_PART_SUPPORT_FLAGS
+TP_PROP_CHANNEL_INTERFACE_MESSAGES_PENDING_MESSAGES
+TP_PROP_CHANNEL_INTERFACE_MESSAGES_SUPPORTED_CONTENT_TYPES
+TP_PROP_CHANNEL_INTERFACE_TUBE_PARAMETERS
+TP_PROP_CHANNEL_INTERFACE_TUBE_STATE
+TP_PROP_CHANNEL_REQUESTED
+TP_PROP_CHANNEL_REQUEST_ACCOUNT
+TP_PROP_CHANNEL_REQUEST_INTERFACES
+TP_PROP_CHANNEL_REQUEST_PREFERRED_HANDLER
+TP_PROP_CHANNEL_REQUEST_REQUESTS
+TP_PROP_CHANNEL_REQUEST_USER_ACTION_TIME
+TP_PROP_CHANNEL_TARGET_HANDLE
+TP_PROP_CHANNEL_TARGET_HANDLE_TYPE
+TP_PROP_CHANNEL_TARGET_ID
+TP_PROP_CHANNEL_TYPE_DBUS_TUBE_DBUS_NAMES
+TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME
+TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SUPPORTED_ACCESS_CONTROLS
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_AVAILABLE_SOCKET_TYPES
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_CONTENT_HASH
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_CONTENT_HASH_TYPE
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_CONTENT_TYPE
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_DATE
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_DESCRIPTION
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_FILENAME
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_INITIAL_OFFSET
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_SIZE
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_STATE
+TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_TRANSFERRED_BYTES
+TP_PROP_CHANNEL_TYPE_ROOM_LIST_SERVER
+TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_IMMUTABLE_STREAMS
+TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_AUDIO
+TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_VIDEO
+TP_PROP_CHANNEL_TYPE_STREAM_TUBE_SERVICE
+TP_PROP_CHANNEL_TYPE_STREAM_TUBE_SUPPORTED_SOCKET_TYPES
+TP_PROP_CLIENT_APPROVER_APPROVER_CHANNEL_FILTER
+TP_PROP_CLIENT_HANDLER_BYPASS_APPROVAL
+TP_PROP_CLIENT_HANDLER_CAPABILITIES
+TP_PROP_CLIENT_HANDLER_HANDLED_CHANNELS
+TP_PROP_CLIENT_HANDLER_HANDLER_CHANNEL_FILTER
+TP_PROP_CLIENT_INTERFACES
+TP_PROP_CLIENT_OBSERVER_OBSERVER_CHANNEL_FILTER
+TP_PROP_CONNECTION_INTERFACE_AVATARS_MAXIMUM_AVATAR_BYTES
+TP_PROP_CONNECTION_INTERFACE_AVATARS_MAXIMUM_AVATAR_HEIGHT
+TP_PROP_CONNECTION_INTERFACE_AVATARS_MAXIMUM_AVATAR_WIDTH
+TP_PROP_CONNECTION_INTERFACE_AVATARS_MINIMUM_AVATAR_HEIGHT
+TP_PROP_CONNECTION_INTERFACE_AVATARS_MINIMUM_AVATAR_WIDTH
+TP_PROP_CONNECTION_INTERFACE_AVATARS_RECOMMENDED_AVATAR_HEIGHT
+TP_PROP_CONNECTION_INTERFACE_AVATARS_RECOMMENDED_AVATAR_WIDTH
+TP_PROP_CONNECTION_INTERFACE_AVATARS_SUPPORTED_AVATAR_MIME_TYPES
+TP_PROP_CONNECTION_INTERFACE_CONTACTS_CONTACT_ATTRIBUTE_INTERFACES
+TP_PROP_CONNECTION_INTERFACE_LOCATION_LOCATION_ACCESS_CONTROL
+TP_PROP_CONNECTION_INTERFACE_LOCATION_LOCATION_ACCESS_CONTROL_TYPES
+TP_PROP_CONNECTION_INTERFACE_REQUESTS_CHANNELS
+TP_PROP_CONNECTION_INTERFACE_REQUESTS_REQUESTABLE_CHANNEL_CLASSES
+TP_PROP_CONNECTION_INTERFACE_SIMPLE_PRESENCE_STATUSES
+TP_PROP_CONNECTION_MANAGER_INTERFACES
+TP_PROP_CONNECTION_SELF_HANDLE
+TP_PROP_DEBUG_ENABLED
+TP_PROP_MEDIA_STREAM_HANDLER_CREATED_LOCALLY
+TP_PROP_MEDIA_STREAM_HANDLER_NAT_TRAVERSAL
+TP_PROP_MEDIA_STREAM_HANDLER_RELAY_INFO
+TP_PROP_MEDIA_STREAM_HANDLER_STUN_SERVERS
 <SUBSECTION Private>
 tp_iface_quark_account
 tp_iface_quark_account_interface_avatar
diff --git a/telepathy-glib/extra-gtkdoc.h b/telepathy-glib/extra-gtkdoc.h
index e0b67c3..293d526 100644
--- a/telepathy-glib/extra-gtkdoc.h
+++ b/telepathy-glib/extra-gtkdoc.h
@@ -364,8 +364,9 @@
 
 /**
  * SECTION:interfaces
- * @title: Telepathy protocol interface strings
- * @short_description: D-Bus interface names from the Telepathy spec
+ * @title: Telepathy protocol interface and property names
+ * @short_description: D-Bus interface and property names from the
+ *  Telepathy spec
  *
  * This header exposes the interface names from the Telepathy specification
  * as cpp defines for strings, such as %TP_IFACE_PROPERTIES_INTERFACE.
@@ -374,6 +375,11 @@
  * Since 0.7.0 it also provides cpp defines like
  * %TP_IFACE_QUARK_PROPERTIES_INTERFACE, which expand to function calls that
  * return GQuarks for the same strings.
+ *
+ * Since 0.9.UNRELEASED it also provides cpp defines like
+ * %TP_PROP_CHANNEL_INTERFACE_GROUP_GROUP_FLAGS, which expand to string
+ * constants representing fully-qualified D-Bus property names, like
+ * <literal>org.freedesktop.Telepathy.Channel.Interface.Group.GroupFlags</literal>.
  */
 
 /**
diff --git a/tools/glib-interfaces-gen.py b/tools/glib-interfaces-gen.py
index 9b23764..e573249 100644
--- a/tools/glib-interfaces-gen.py
+++ b/tools/glib-interfaces-gen.py
@@ -92,6 +92,22 @@ GQuark
             parent_name).lower().replace('/', ''),
        'name' : iface.getAttribute('name')})
 
+        for prop in iface.getElementsByTagNameNS(None, 'property'):
+            self.decls.write("""
+/**
+ * %(IFACE_PREFIX)s_%(PROP_UC)s:
+ *
+ * The fully-qualified property name "%(name)s.%(prop)s"
+ */
+#define %(IFACE_PREFIX)s_%(PROP_UC)s \\
+"%(name)s.%(prop)s"
+""" % {'IFACE_PREFIX' : (self.prefix + 'PROP_' + \
+                parent_name).upper().replace('/', ''),
+           'PROP_UC': prop.getAttributeNS(NS_TP, "name-for-bindings").upper(),
+           'name' : iface.getAttribute('name'),
+           'prop' : prop.getAttribute('name'),
+           })
+
 if __name__ == '__main__':
     argv = argv[1:]
     Generator(argv[0], argv[1], argv[2], xml.dom.minidom.parse(argv[3]))()
-- 
1.5.6.5




More information about the telepathy-commits mailing list