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.
Represents the configuration of a chatroom, some aspects of which may be modifiable by the user, depending on their privileges. This corresponds to the room configuration on XMPP, and various channel mode flags on IRC.
The “topic” (on IRC) or “subject” (on XMPP) is not part of this
interface; it can be found on the
True
if people may join the channel without other members being made
aware of their identity.
True
if people may not join the channel until they have been invited.
True
if channel membership is not sufficient to allow participation.
On XMPP, this represents the muc#roomconfig_roomname
field of the muc#roomconfig
form. So for jdev@conference.jabber.org
, for example:
"jdev"
;"conference.jabber.org"
;"General Jabber
development discussion"
.XEP-0045 is awful.
True
if the channel will remain in existence on the server after all
members have left it.
True
if the channel is not visible to non-members.
True
if contacts joining this channel must provide a
password to be granted entry. Note that this property does not
indicate that a password is required right now; see the
True
, the password required to enter the channel, if
known. If the password is unknown, or
False
, the empty string.
If True
, an optional hint for the password.
On protocols supporting PasswordHint (indicated by its presence
in
True
, the user may call
A list of (unqualified) property names on this interface which may
be modified using True
). Properties not listed here cannot be
modified.
For example, IRC does not have the concept of joining a room without
other participants knowing your true identity; so on IRC the
False
, and
"Anonymous"
.
True
once the initial room configuration has been
retrieved, or False
otherwise. On some services, this
may take some time after you've joined a room to fetch the
configuration. Once this property changes to True
, the
other properties on this interface can be assumed to be accurate;
this property MUST not change to False
after it becomes
True
.
An application's “configure this room” dialog might choose to
display a spinner while this property is False
, rather
than allowing the user to edit probably-inaccurate
configuration.
The new values of one or more properties on this interface, which
must be listed in
{ 'Private': True, 'InviteOnly': True, 'Description': "The first rule of #inteltakeover is: do not talk about #inteltakeover", }
If True
, modifies the current values of one or more
room properties. This method SHOULD NOT return until the change has
been accepted or declined by the server.
Note that the server may ostensibly accept the changes (thus
allowing this method to return success) but signal different values;
for example, the server might truncate
PropertiesChanged
signal, and trust the values it signals over those provided to this
method.
True
.