generic-types.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <tp:generic-types
  2. xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  3. <tp:simple-type name="Unix_Timestamp" type="u">
  4. <tp:docstring>An unsigned 32-bit integer representing time as the number
  5. of seconds elapsed since the Unix epoch
  6. (1970-01-01T00:00:00Z)</tp:docstring>
  7. </tp:simple-type>
  8. <tp:simple-type name="Unix_Timestamp64" type="x">
  9. <tp:docstring>An signed 64-bit integer representing time as the number
  10. of seconds elapsed since the Unix epoch
  11. (1970-01-01T00:00:00Z); negative for times before the epoch</tp:docstring>
  12. <tp:rationale>The Text interface is the only user of Unix_Timestamp so
  13. far, and we'd like to be Y2038 compatible in future
  14. interfaces.</tp:rationale>
  15. </tp:simple-type>
  16. <tp:simple-type name="DBus_Bus_Name" type="s"
  17. array-name="DBus_Bus_Name_List">
  18. <tp:docstring>A string representing a D-Bus bus name - either a well-known
  19. name like "org.freedesktop.Telepathy.MissionControl" or a unique name
  20. like ":1.123"</tp:docstring>
  21. </tp:simple-type>
  22. <tp:simple-type name="DBus_Well_Known_Name" type="s"
  23. array-name="DBus_Well_Known_Name_List">
  24. <tp:docstring>A string representing a D-Bus well-known
  25. name like "org.freedesktop.Telepathy.MissionControl".</tp:docstring>
  26. </tp:simple-type>
  27. <tp:simple-type name="DBus_Unique_Name" type="s"
  28. array-name="DBus_Unique_Name_List">
  29. <tp:docstring>A string representing a D-Bus unique name, such as
  30. ":1.123"</tp:docstring>
  31. </tp:simple-type>
  32. <tp:simple-type name="DBus_Interface" type="s"
  33. array-name="DBus_Interface_List">
  34. <tp:docstring>An ASCII string representing a D-Bus interface - two or more
  35. elements separated by dots, where each element is a non-empty
  36. string of ASCII letters, digits and underscores, not starting with
  37. a digit. The maximum total length is 255 characters. For example,
  38. "org.freedesktop.DBus.Peer".</tp:docstring>
  39. </tp:simple-type>
  40. <tp:simple-type name="DBus_Error_Name" type="s">
  41. <tp:docstring>An ASCII string representing a D-Bus error. This is
  42. syntactically the same as a <tp:type>DBus_Interface</tp:type>, but the
  43. meaning is different.</tp:docstring>
  44. </tp:simple-type>
  45. <tp:simple-type name="DBus_Signature" type="s">
  46. <tp:docstring>A string representing a D-Bus signature
  47. (the 'g' type isn't used because of poor interoperability, particularly
  48. with dbus-glib)</tp:docstring>
  49. </tp:simple-type>
  50. <tp:simple-type name="DBus_Member" type="s">
  51. <tp:docstring>An ASCII string representing a D-Bus method, signal
  52. or property name - a non-empty string of ASCII letters, digits and
  53. underscores, not starting with a digit, with a maximum length of 255
  54. characters. For example, "Ping".</tp:docstring>
  55. </tp:simple-type>
  56. <tp:simple-type name="DBus_Qualified_Member" type="s"
  57. array-name="DBus_Qualified_Member_List">
  58. <tp:docstring>A string representing the full name of a D-Bus method,
  59. signal or property, consisting of a DBus_Interface, followed by
  60. a dot, followed by a DBus_Member. For example,
  61. "org.freedesktop.DBus.Peer.Ping".</tp:docstring>
  62. </tp:simple-type>
  63. <tp:mapping name="Qualified_Property_Value_Map"
  64. array-name="Qualified_Property_Value_Map_List">
  65. <tp:docstring>A mapping from strings representing D-Bus
  66. properties (by their namespaced names) to their values.</tp:docstring>
  67. <tp:member type="s" name="Key" tp:type="DBus_Qualified_Member">
  68. <tp:docstring>
  69. A D-Bus interface name, followed by a dot and a D-Bus property name.
  70. </tp:docstring>
  71. </tp:member>
  72. <tp:member type="v" name="Value">
  73. <tp:docstring>
  74. The value of the property.
  75. </tp:docstring>
  76. </tp:member>
  77. </tp:mapping>
  78. <tp:mapping name="String_Variant_Map" array-name="String_Variant_Map_List">
  79. <tp:docstring>A mapping from strings to variants representing extra
  80. key-value pairs.</tp:docstring>
  81. <tp:member type="s" name="Key"/>
  82. <tp:member type="v" name="Value"/>
  83. </tp:mapping>
  84. <tp:mapping name="String_String_Map" array-name="String_String_Map_List">
  85. <tp:docstring>A mapping from strings to strings representing extra
  86. key-value pairs.</tp:docstring>
  87. <tp:member type="s" name="Key"/>
  88. <tp:member type="s" name="Value"/>
  89. </tp:mapping>
  90. <tp:struct name="Socket_Address_IP" array-name="Socket_Address_IP_List">
  91. <tp:docstring>An IP address and port.</tp:docstring>
  92. <tp:member type="s" name="Address">
  93. <tp:docstring>Either a dotted-quad IPv4 address literal as for
  94. <tp:type>Socket_Address_IPv4</tp:type>, or an RFC2373 IPv6 address
  95. as for <tp:type>Socket_Address_IPv6</tp:type>.
  96. </tp:docstring>
  97. </tp:member>
  98. <tp:member type="q" name="Port">
  99. <tp:docstring>The TCP or UDP port number.</tp:docstring>
  100. </tp:member>
  101. </tp:struct>
  102. <tp:struct name="Socket_Address_IPv4">
  103. <tp:docstring>An IPv4 address and port.</tp:docstring>
  104. <tp:member type="s" name="Address">
  105. <tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
  106. numbers, each between 0 and 255 inclusive, e.g.
  107. "192.168.0.1".</tp:docstring>
  108. </tp:member>
  109. <tp:member type="q" name="Port">
  110. <tp:docstring>The TCP or UDP port number.</tp:docstring>
  111. </tp:member>
  112. </tp:struct>
  113. <tp:struct name="Socket_Address_IPv6">
  114. <tp:docstring>An IPv6 address and port.</tp:docstring>
  115. <tp:member type="s" name="Address">
  116. <tp:docstring>An IPv6 address literal as specified by RFC2373
  117. section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
  118. </tp:member>
  119. <tp:member type="q" name="Port">
  120. <tp:docstring>The TCP or UDP port number.</tp:docstring>
  121. </tp:member>
  122. </tp:struct>
  123. <tp:struct name="Socket_Netmask_IPv4">
  124. <tp:docstring>An IPv4 network or subnet.</tp:docstring>
  125. <tp:member type="s" name="Address">
  126. <tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
  127. numbers, each between 0 and 255 inclusive, e.g.
  128. "192.168.0.1".</tp:docstring>
  129. </tp:member>
  130. <tp:member type="y" name="Prefix_Length">
  131. <tp:docstring>The number of leading bits of the address that must
  132. match, for this netmask to be considered to match an
  133. address.</tp:docstring>
  134. </tp:member>
  135. </tp:struct>
  136. <tp:struct name="Socket_Netmask_IPv6">
  137. <tp:docstring>An IPv6 network or subnet.</tp:docstring>
  138. <tp:member type="s" name="Address">
  139. <tp:docstring>An IPv6 address literal as specified by RFC2373
  140. section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
  141. </tp:member>
  142. <tp:member type="y" name="Prefix_Length">
  143. <tp:docstring>The number of leading bits of the address that must
  144. match, for this netmask to be considered to match an
  145. address.</tp:docstring>
  146. </tp:member>
  147. </tp:struct>
  148. </tp:generic-types>