[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