summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spec/Connection_Interface_Simple_Presence.xml41
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/Connection_Interface_Simple_Presence.xml b/spec/Connection_Interface_Simple_Presence.xml
index 7788161e1..c1c47ec4d 100644
--- a/spec/Connection_Interface_Simple_Presence.xml
+++ b/spec/Connection_Interface_Simple_Presence.xml
@@ -276,6 +276,47 @@
</tp:docstring>
</property>
+ <property name="MaximumStatusMessageLength"
+ tp:name-for-bindings="Maximum_Status_Message_Length" access="read"
+ type="u">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>The maximum length in characters for any individual status
+ message, or 0 if there is no limit.</p>
+
+ <p>While the connection is in the DISCONNECTED state, this property will
+ be 0. The connection manager will attempt to set the appropriate value
+ when the connection becomes connected, but cannot necessarily
+ guarantee it. The maximum length cannot change until the
+ connection status changes, so there is no change notification.</p>
+
+ <p>While the connection is in the CONNECTED state, this property
+ contains the maximum length in characters for any individual status
+ message which is actually allowed on this protocol.
+ This value is constant for the remaining lifetime
+ of the connection, so again, there is no change notification.</p>
+
+ <p>While the connection is in the CONNECTING state, the value of
+ this property is undefined and SHOULD NOT be used. It can change
+ at any time without notification (in particular, any cached values
+ from when the connection was in the DISCONNECTED or CONNECTING
+ state MUST NOT be assumed to still be correct when the state has
+ become CONNECTED).</p>
+
+ <p>The connection manager MUST truncate the status message being set if
+ its length is bigger than the value of this property and
+ PresencesChanged MUST be emitted properly with the truncated
+ status message.</p>
+
+ <tp:rationale>
+ <p>Some XMPP servers, like Google Talk, define a maximum length for
+ status messages. Whether the user's server is one of
+ these cannot be detected until quite late in the connection
+ process.</p>
+ </tp:rationale>
+
+ </tp:docstring>
+ </property>
+
<signal name="PresencesChanged" tp:name-for-bindings="Presences_Changed">
<arg name="Presence" type="a{u(uss)}" tp:type="Simple_Contact_Presences">
<tp:docstring>