<tp:generic-types
xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<tp:simple-type name="Unix_Timestamp" type="u">
<tp:docstring>An unsigned 32-bit integer representing time as the number
of seconds elapsed since the Unix epoch
(1970-01-01T00:00:00Z)</tp:docstring>
</tp:simple-type>
<tp:simple-type name="Unix_Timestamp64" type="x">
<tp:docstring>An signed 64-bit integer representing time as the number
of seconds elapsed since the Unix epoch
(1970-01-01T00:00:00Z); negative for times before the epoch</tp:docstring>
<tp:rationale>The Text interface is the only user of Unix_Timestamp so
far, and we'd like to be Y2038 compatible in future
interfaces.</tp:rationale>
</tp:simple-type>
<tp:simple-type name="DBus_Bus_Name" type="s"
array-name="DBus_Bus_Name_List">
<tp:docstring>A string representing a D-Bus bus name - either a well-known
name like "org.freedesktop.Telepathy.MissionControl" or a unique name
like ":1.123"</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Well_Known_Name" type="s"
array-name="DBus_Well_Known_Name_List">
<tp:docstring>A string representing a D-Bus well-known
name like "org.freedesktop.Telepathy.MissionControl".</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Unique_Name" type="s"
array-name="DBus_Unique_Name_List">
<tp:docstring>A string representing a D-Bus unique name, such as
":1.123"</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Interface" type="s"
array-name="DBus_Interface_List">
<tp:docstring>An ASCII string representing a D-Bus interface - two or more
elements separated by dots, where each element is a non-empty
string of ASCII letters, digits and underscores, not starting with
a digit. The maximum total length is 255 characters. For example,
"org.freedesktop.DBus.Peer".</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Error_Name" type="s">
<tp:docstring>An ASCII string representing a D-Bus error. This is
syntactically the same as a <tp:type>DBus_Interface</tp:type>, but the
meaning is different.</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Signature" type="s">
<tp:docstring>A string representing a D-Bus signature
(the 'g' type isn't used because of poor interoperability, particularly
with dbus-glib)</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Member" type="s">
<tp:docstring>An ASCII string representing a D-Bus method, signal
or property name - a non-empty string of ASCII letters, digits and
underscores, not starting with a digit, with a maximum length of 255
characters. For example, "Ping".</tp:docstring>
</tp:simple-type>
<tp:simple-type name="DBus_Qualified_Member" type="s"
array-name="DBus_Qualified_Member_List">
<tp:docstring>A string representing the full name of a D-Bus method,
signal or property, consisting of a DBus_Interface, followed by
a dot, followed by a DBus_Member. For example,
"org.freedesktop.DBus.Peer.Ping".</tp:docstring>
</tp:simple-type>
<tp:mapping name="Qualified_Property_Value_Map"
array-name="Qualified_Property_Value_Map_List">
<tp:docstring>A mapping from strings representing D-Bus
properties (by their namespaced names) to their values.</tp:docstring>
<tp:member type="s" name="Key" tp:type="DBus_Qualified_Member">
<tp:docstring>
A D-Bus interface name, followed by a dot and a D-Bus property name.
</tp:docstring>
</tp:member>
<tp:member type="v" name="Value">
<tp:docstring>
The value of the property.
</tp:docstring>
</tp:member>
</tp:mapping>
<tp:mapping name="String_Variant_Map" array-name="String_Variant_Map_List">
<tp:docstring>A mapping from strings to variants representing extra
key-value pairs.</tp:docstring>
<tp:member type="s" name="Key"/>
<tp:member type="v" name="Value"/>
</tp:mapping>
<tp:mapping name="String_String_Map" array-name="String_String_Map_List">
<tp:docstring>A mapping from strings to strings representing extra
key-value pairs.</tp:docstring>
<tp:member type="s" name="Key"/>
<tp:member type="s" name="Value"/>
</tp:mapping>
<tp:struct name="Socket_Address_IP" array-name="Socket_Address_IP_List">
<tp:docstring>An IP address and port.</tp:docstring>
<tp:member type="s" name="Address">
<tp:docstring>Either a dotted-quad IPv4 address literal as for
<tp:type>Socket_Address_IPv4</tp:type>, or an RFC2373 IPv6 address
as for <tp:type>Socket_Address_IPv6</tp:type>.
</tp:docstring>
</tp:member>
<tp:member type="q" name="Port">
<tp:docstring>The TCP or UDP port number.</tp:docstring>
</tp:member>
</tp:struct>
<tp:struct name="Socket_Address_IPv4">
<tp:docstring>An IPv4 address and port.</tp:docstring>
<tp:member type="s" name="Address">
<tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
numbers, each between 0 and 255 inclusive, e.g.
"192.168.0.1".</tp:docstring>
</tp:member>
<tp:member type="q" name="Port">
<tp:docstring>The TCP or UDP port number.</tp:docstring>
</tp:member>
</tp:struct>
<tp:struct name="Socket_Address_IPv6">
<tp:docstring>An IPv6 address and port.</tp:docstring>
<tp:member type="s" name="Address">
<tp:docstring>An IPv6 address literal as specified by RFC2373
section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
</tp:member>
<tp:member type="q" name="Port">
<tp:docstring>The TCP or UDP port number.</tp:docstring>
</tp:member>
</tp:struct>
<tp:struct name="Socket_Netmask_IPv4">
<tp:docstring>An IPv4 network or subnet.</tp:docstring>
<tp:member type="s" name="Address">
<tp:docstring>A dotted-quad IPv4 address literal: four ASCII decimal
numbers, each between 0 and 255 inclusive, e.g.
"192.168.0.1".</tp:docstring>
</tp:member>
<tp:member type="y" name="Prefix_Length">
<tp:docstring>The number of leading bits of the address that must
match, for this netmask to be considered to match an
address.</tp:docstring>
</tp:member>
</tp:struct>
<tp:struct name="Socket_Netmask_IPv6">
<tp:docstring>An IPv6 network or subnet.</tp:docstring>
<tp:member type="s" name="Address">
<tp:docstring>An IPv6 address literal as specified by RFC2373
section 2.2, e.g. "2001:DB8::8:800:200C:4171".</tp:docstring>
</tp:member>
<tp:member type="y" name="Prefix_Length">
<tp:docstring>The number of leading bits of the address that must
match, for this netmask to be considered to match an
address.</tp:docstring>
</tp:member>
</tp:struct>
<tp:simple-type name="User_Action_Timestamp" type="x">
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>The time at which an user action occurred. This type has the 2
following special values:</p>
<p>0: the action doesn't involve any user action. Clients
SHOULD avoid stealing focus when presenting the channel.</p>
<p>MAX_INT64: clients SHOULD behave as though the user action happened
at the current time, e.g. a client MAY request that its window gains
focus.
</p>
<tp:rationale>
<p>This can be used by clients that can't know the X server time like
command line applications for example.</p>
</tp:rationale>
<p>For all the other values it corresponds to the time of the user
action. Clients SHOULD use this for focus-stealing prevention,
if applicable.
Note that the time is dependant on the local
environment and so is not necessarily a wall-clock time.
For example in an X environment it's expected to be the X timestamp
of events.
This corresponds to the _NET_WM_USER_TIME property in
<a href="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html">EWMH</a>.</p>
</tp:docstring>
</tp:simple-type>
<tp:mapping name="Object_Immutable_Properties_Map"
array-name="Object_Immutable_Properties_Map_List">
<tp:added version="0.19.12"/>
<tp:docstring>A mapping from object path to the immutable properties of
the object.</tp:docstring>
<tp:member type="o" name="Path">
<tp:docstring>
The object path of an object
</tp:docstring>
</tp:member>
<tp:member type="a{sv}" name="Immutable_Properties" tp:type="Qualified_Property_Value_Map">
<tp:docstring>
The immutable properties of the object
</tp:docstring>
</tp:member>
</tp:mapping>
</tp:generic-types>