Methods
UpdateConfiguration | (a{sv}: Properties) | → | nothing |
Properties
Anonymous | b | Read only | ||
InviteOnly | b | Read only | ||
Limit | u | Read only | ||
Moderated | b | Read only | ||
Title | s | Read only | ||
Description | s | Read only | ||
Persistent | b | Read only | ||
Private | b | Read only | ||
PasswordProtected | b | Read only | ||
Password | s | Read only | ||
CanUpdateConfiguration | b | Read only | ||
MutableProperties | as | Read only | ||
ConfigurationRetrieved | b | Read only |
Description
Represents the configuration of a chatroom, some aspects of which may be modifiable by the user, depending on their priviledges. 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 Subject2 interface.
Methods
UpdateConfiguration (a{sv}: Properties) → nothing
Parameters
- Properties — a{sv}
The new values of one or more properties on this interface, which must be listed in MutableProperties. For instance, to set up a channel for discussing top-secret corporate merge plans, this parameter might be:
{ 'Private': True, 'InviteOnly': True, 'Description': "The first rule of #inteltakeover is: do not talk about #inteltakeover", }
If CanUpdateConfiguration is
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
Title to some maximum length. Callers
SHOULD continue to listen for the PropertiesChanged
signal, and trust the values it signals over those provided to this
method.
Possible Errors
- Permission Denied
- Invalid Argument
- Not Implemented
- Not Available
True
.
Properties
Anonymous — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
if people may join the channel without other members being made
aware of their identity.
InviteOnly — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
if people may not join the channel until they have been invited.
Limit — u
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
Moderated — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
if channel membership is not sufficient to allow participation.
Title — s
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
Rationale:
On XMPP, this represents the muc#roomconfig_roomname
field of the muc#roomconfig
form. So for jdev@conference.jabber.org
, for example:
- Room2.RoomName
=
"jdev"
; - Room2.Server
=
"conference.jabber.org"
; - Title =
"General Jabber development discussion"
.
XEP-0045 is awful.
Description — s
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
Persistent — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
if the channel will remain in existence on the server after all
members have left it.
Private — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
if the channel is not visible to non-members.
PasswordProtected — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
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
Password
interface for the API used to provide a password while joining a room.
Password — s
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
, the password required to enter the channel, if
known. If the password is unknown, or
PasswordProtected is
False
, the empty string.
Rationale:
CanUpdateConfiguration — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
True
, the user may call
UpdateConfiguration to change the values
of the properties listed in
MutableProperties.
MutableProperties — as
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
A list of (unqualified) property names on this interface which may
be modified using UpdateConfiguration
(if CanUpdateConfiguration is
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
Anonymous property will always be
False
, and
MutableProperties will not include
"Anonymous"
.
ConfigurationRetrieved — b
org.freedesktop.DBus.Properties.PropertiesChanged
signal is emitted with the new value.
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
.
Rationale:
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.