Interface Channel.Interface.RoomConfig1

Interface Index (Compact) | Summary | Description | Methods | Properties

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
Added in 0.24.0. version 1. This replaces the old-school Telepathy properties on Text.
Objects implementing this interface must also implement:

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

(Permalink)

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
  • The user is not allowed to reconfigure this room.
  • Invalid Argument
  • One or more of the specified properties is unknown, or ill-typed.
  • Not Implemented
  • One or more of the specified properties cannot be modified on this protocol.
  • Not Available
  • The room's current configuration has not yet been retrieved, so we cannot update it just yet. The application might like to try again once the ConfigurationRetrieved property becomes True.

Properties

Accessed using the org.freedesktop.DBus.Properties interface.
(Permalink)

Anonymous — b

Read only
When this property changes, the 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.
(Permalink)

InviteOnly — b

Read only
When this property changes, the 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.
(Permalink)

Limit — u

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
The limit to the number of members; or 0 if there is no limit.
(Permalink)

Moderated — b

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
True if channel membership is not sufficient to allow participation.
(Permalink)

Title — s

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
A human-visible name for the channel, if it differs from Room2.RoomName; the empty string, otherwise.
Rationale:

On XMPP, this represents the muc#roomconfig_roomname field of the muc#roomconfig form. So for jdev@conference.jabber.org, for example:

XEP-0045 is awful.

(Permalink)

Description — s

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
A human-readable description of the channel's overall purpose; if any.
(Permalink)

Persistent — b

Read only
When this property changes, the 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.
(Permalink)

Private — b

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
True if the channel is not visible to non-members.
(Permalink)

PasswordProtected — b

Read only
When this property changes, the 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.
(Permalink)

Password — s

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
If PasswordProtected is True, the password required to enter the channel, if known. If the password is unknown, or PasswordProtected is False, the empty string.
Rationale:
On XMPP—bless its cotton socks!—non-owners of a MUC cannot see its current password, even if they just provided the password in order to join the room…
(Permalink)

CanUpdateConfiguration — b

Read only
When this property changes, the org.freedesktop.DBus.Properties.PropertiesChanged signal is emitted with the new value.
If True, the user may call UpdateConfiguration to change the values of the properties listed in MutableProperties.
(Permalink)

MutableProperties — as

Read only
When this property changes, the 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".

(Permalink)

ConfigurationRetrieved — b

Read only
When this property changes, the 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.