Copyright © 2010–2011 Collabora Ltd.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

(version 2)

An interface channels can implement to support subjects. Most of the time this will be implemented by channels implementing the Room2 interface, but some protocols support subjects in 1-to-1 chats (such as XMPP). Note that this interface is not restricted to Text channels, and can also be used on Call channels.

The new subject.

Set the room's subject. Clients SHOULD look at the subject flags before calling this method as the user might not have permission to set the subject.

A successful return of this method indicates a successful change in subject, but clients should still listen for changes to the Subject property for further changes by other users or the server.

The human-readable subject on the channel such as the topic in an IRC channel, or the room name in XMPP MUCs.

This property replaces the subject Telepathy property of Text channels, as Telepathy properties are soon to be deprecated completely.

This property may change during the lifetime of the channel and MUST not be included in a channel request.

The normalized contact ID representing who last modified the subject, or the empty string if it is not known.

This property replaces the subject-contact Telepathy property of Text channels, as Telepathy properties are soon to be deprecated completely.

The handle corresponding to Actor, or 0 if the Actor is unknown.

A unix timestamp indicating when the subject was last modified, or INT_MAX64 if unknown.

This property replaces the subject-timestamp Telepathy property of Text channels, as Telepathy properties are soon to be deprecated completely.

TRUE if the Subject property can be set by the user by calling SetSubject, otherwise FALSE.

If implementations are unsure of what this value should be it SHOULD still be set to what it believes the value is. As a result, clients should be aware that SetSubject can still fail even with this property set to TRUE.

In XMPP it is impossible to know whether an occupant can set the subject as XMPP server implementations are wildly inconsistent.