| Home · All Classes · All Namespaces · Modules · Functions · Files

# Flag type constants
[Types and constants]

Collaboration diagram for Flag type constants:

## Typedefs

- typedef QFlags< ConnMgrParamFlag > ConnMgrParamFlags
- typedef QFlags
  < ConnectionAliasFlag > ConnectionAliasFlags
- typedef QFlags
  < ConnectionCapabilityFlag > ConnectionCapabilityFlags
- typedef QFlags
  < MediaStreamPending > MediaStreamPendingSend
- typedef QFlags
  < ChannelMediaCapability > ChannelMediaCapabilities
- typedef QFlags
  < ChannelTextMessageFlag > ChannelTextMessageFlags
- typedef QFlags< ChannelCallState > ChannelCallStateFlags
- typedef QFlags< ChannelGroupFlag > ChannelGroupFlags
- typedef QFlags
  < MessagePartSupportFlag > MessagePartSupportFlags
- typedef QFlags
  < MessageSendingFlag > MessageSendingFlags
- typedef QFlags
  < DeliveryReportingSupportFlag > DeliveryReportingSupportFlags
- typedef QFlags
  < ChannelPasswordFlag > ChannelPasswordFlags
- typedef QFlags< PropertyFlag > PropertyFlags

## Enumerations

- enum ConnMgrParamFlag {
  ConnMgrParamFlagRequired, ConnMgrParamFlagRegister, ConnMgrParamFlagHasDefault, ConnMgrParamFlagSecret,
  ConnMgrParamFlagDBusProperty
  }
- enum ConnectionAliasFlag { ConnectionAliasFlagUserSet }
- enum ConnectionCapabilityFlag { ConnectionCapabilityFlagCreate, ConnectionCapabilityFlagInvite }
- enum MediaStreamPending { MediaStreamPendingLocalSend, MediaStreamPendingRemoteSend }
- enum ChannelMediaCapability {
  ChannelMediaCapabilityAudio, ChannelMediaCapabilityVideo, ChannelMediaCapabilityNATTraversalSTUN, ChannelMediaCapabilityNATTraversalGTalkP2P,
  ChannelMediaCapabilityNATTraversalICEUDP, ChannelMediaCapabilityImmutableStreams
  }
- enum ChannelTextMessageFlag { ChannelTextMessageFlagTruncated, ChannelTextMessageFlagNonTextContent, ChannelTextMessageFlagScrollback, ChannelTextMessageFlagRescued }
- enum ChannelCallState {
  ChannelCallStateRinging, ChannelCallStateQueued, ChannelCallStateHeld, ChannelCallStateForwarded,
  ChannelCallStateInProgress
  }
- enum ChannelGroupFlag {
  ChannelGroupFlagCanAdd, ChannelGroupFlagCanRemove, ChannelGroupFlagCanRescind, ChannelGroupFlagMessageAdd,
  ChannelGroupFlagMessageRemove, ChannelGroupFlagMessageAccept, ChannelGroupFlagMessageReject, ChannelGroupFlagMessageRescind,
  ChannelGroupFlagChannelSpecificHandles, ChannelGroupFlagOnlyOneGroup, ChannelGroupFlagHandleOwnersNotAvailable, ChannelGroupFlagProperties,
  ChannelGroupFlagMembersChangedDetailed, ChannelGroupFlagMessageDepart
  }
- enum MessagePartSupportFlag { MessagePartSupportFlagOneAttachment, MessagePartSupportFlagMultipleAttachments }
- enum MessageSendingFlag { MessageSendingFlagReportDelivery }
- enum DeliveryReportingSupportFlag { DeliveryReportingSupportFlagReceiveFailures, DeliveryReportingSupportFlagReceiveSuccesses }
- enum ChannelPasswordFlag { ChannelPasswordFlagProvide }
- enum PropertyFlag { PropertyFlagRead, PropertyFlagWrite }

## Detailed Description

Types generated from the specification representing bit flag constants and combinations of them (bitfields).

## Typedef Documentation

QFlags< ConnMgrParamFlag > ConnMgrParamFlags

Type representing combinations of ConnMgrParamFlag values.

QFlags< ConnectionAliasFlag > ConnectionAliasFlags

Type representing combinations of ConnectionAliasFlag values.

QFlags< ConnectionCapabilityFlag > ConnectionCapabilityFlags

Type representing combinations of ConnectionCapabilityFlag values.

QFlags< MediaStreamPending > MediaStreamPendingSend

Type representing combinations of MediaStreamPending values.

QFlags< ChannelMediaCapability > ChannelMediaCapabilities

Type representing combinations of ChannelMediaCapability values.

The channel-type-specific capability flags used for Channel.Type.StreamedMedia in the Connection.Interface.Capabilities interface. See the InitialAudio property for details of the mechanisms that will replace this.

QFlags< ChannelTextMessageFlag > ChannelTextMessageFlags

Type representing combinations of ChannelTextMessageFlag values.

QFlags< ChannelCallState > ChannelCallStateFlags

Type representing combinations of ChannelCallState values.

A set of flags representing call states.

QFlags< ChannelGroupFlag > ChannelGroupFlags

Type representing combinations of ChannelGroupFlag values.

QFlags< MessagePartSupportFlag > MessagePartSupportFlags

Type representing combinations of MessagePartSupportFlag values.

Flags indicating the level of support for message parts on this channel. They are designed such that setting more flags always implies that the channel has more capabilities.

If no flags are set, this indicates that messages may contain a single message part whose content-type is any of the types from SupportedContentTypes, possibly with some alternatives.

There is no flag indicating support for alternatives. This is because the SendMessage implementation can always accept messages containing alternatives, even if the underlying protocol does not, by deleting all alternatives except the first (most preferred) that is supported.

<tp:rationale> Each of the flags so far implies the previous flag, so we could have used a simple enumeration here; however, we've defined the message-part support indicator as a flag set for future expansion. </tp:rationale>

See <tp:member-ref>SupportedContentTypes</tp:member-ref> for some examples.

QFlags< MessageSendingFlag > MessageSendingFlags

Type representing combinations of MessageSendingFlag values.

Flags altering the way a message is sent. The "most usual" action should always be to have these flags unset.

QFlags< DeliveryReportingSupportFlag > DeliveryReportingSupportFlags

Type representing combinations of DeliveryReportingSupportFlag values.

Flags indicating the level of support for delivery reporting on this channel. Any future flags added to this set will conform to the convention that the presence of an extra flag implies that more operations will succeed.

QFlags< ChannelPasswordFlag > ChannelPasswordFlags

Type representing combinations of ChannelPasswordFlag values.

QFlags< PropertyFlag > PropertyFlags

Type representing combinations of PropertyFlag values.

## Enumeration Type Documentation

enum ConnMgrParamFlag

Flag type generated from the specification.

Enumerator:

  ConnMgrParamFlagRequired | This parameter is required for connecting to the server.
  ConnMgrParamFlagRegister | This parameter is required for registering an account on the server.
  ConnMgrParamFlagHasDefault | This parameter has a default value, which is returned in GetParameters; not providing this parameter is equivalent to providing the default.
  ConnMgrParamFlagSecret | This parameter should be considered private or secret; for instance, clients should store it in a "password safe" like gnome-keyring or kwallet, omit it from debug logs, and use a text input widget that hides the value of the parameter. (Clients that support older connection managers may also treat any parameter whose name contains "password" as though it had this flag.)

  ConnMgrParamFlagDBusProperty

  This parameter is also a D-Bus property on the resulting <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>; a parameter named `com.example.Duck.Macaroni` with this flag corresponds to the `Macaroni` property on the `com.example.Duck` interface. Its value can be queried and possibly changed on an existing Connection using methods on the `org.freedesktop.DBus.Properties` interface.

enum ConnectionAliasFlag

Flag type generated from the specification.

Enumerator:

  ConnectionAliasFlagUserSet

  The aliases of contacts on this connection may be changed by the user of the service, not just by the contacts themselves. This is the case on Jabber, for instance.

  It is possible that aliases can be changed by the contacts too - which alias takes precedence is not defined by this specification, and depends on the server and/or connection manager implementation.

  This flag only applies to the aliases of "globally valid" contact handles. At this time, clients should not expect to be able to change the aliases corresponding to any channel-specific handles. If this becomes possible in future, a new flag will be defined.

enum ConnectionCapabilityFlag

Flag type generated from the specification.

Enumerator:

  ConnectionCapabilityFlagCreate | The given channel type and handle can be given to RequestChannel to create a new channel of this type.
  ConnectionCapabilityFlagInvite | The given contact can be invited to an existing channel of this type.

enum MediaStreamPending

Flag type generated from the specification.

Enumerator:

  MediaStreamPendingLocalSend | The local user has been asked to send media by the remote user. Call RequestStreamDirection to indicate whether or not this is acceptable.
  MediaStreamPendingRemoteSend | The remote user has been asked to send media by the local user. The StreamDirectionChanged signal will be emitted when the remote user accepts or rejects this change.

enum ChannelMediaCapability

Flag type generated from the specification.

Enumerator:

  ChannelMediaCapabilityAudio | The handle is capable of using audio streams within a media channel.
  ChannelMediaCapabilityVideo | The handle is capable of using video streams within a media channel.
  ChannelMediaCapabilityNATTraversalSTUN | The handle is capable of performing STUN to traverse NATs.
  ChannelMediaCapabilityNATTraversalGTalkP2P | The handle is capable of establishing Google Talk peer-to-peer connections (as implemented in libjingle 0.3) to traverse NATs.
  ChannelMediaCapabilityNATTraversalICEUDP | The handle is capable of establishing ICE UDP peer-to-peer connections (as defined by the IETF MMUSIC working group) to traverse NATs.
  ChannelMediaCapabilityImmutableStreams | Channels whose target handle is this contact will have ImmutableStreams = True.

enum ChannelTextMessageFlag

Flag type generated from the specification.

Enumerator:

  ChannelTextMessageFlagTruncated | The incoming message was truncated to a shorter length by the server or the connection manager.

  ChannelTextMessageFlagNonTextContent

  The incoming message contained non-text content which cannot be represented by this interface, but has been signalled in the <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Interface">Messages</tp:dbus-ref> interface.

  Connection managers SHOULD only set this flag if the non-text content appears to be relatively significant (exactly how significant is up to the implementor). The intention is that if this flag is set, clients using this interface SHOULD inform the user that part of the message was not understood.

  ChannelTextMessageFlagScrollback

  The incoming message was part of a replay of message history.

  <tp:rationale>

  In XMPP multi-user chat, a few past messages are replayed when you join a chatroom. A sufficiently capable IRC connection manager could also set this flag on historical messages when connected to a proxy like bip or irssi-proxy. The existence of this flag allows loggers and UIs to use better heuristics when eliminating duplicates (a simple implementation made possible by this flag would be to avoid logging scrollback at all). </tp:rationale>

  ChannelTextMessageFlagRescued

  The incoming message has been seen in a previous channel during the lifetime of the <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection</tp:dbus-ref>, but had not been acknowledged when that channel closed, causing an identical channel (the channel in which the message now appears) to open.

  <tp:rationale>

  This means that a logger (which should already have seen the message in the previous channel) is able to recognise and ignore these replayed messages. </tp:rationale>

enum ChannelCallState

Flag type generated from the specification.

Enumerator:

  ChannelCallStateRinging | The contact has been alerted about the call but has not responded (e.g. 180 Ringing in SIP).
  ChannelCallStateQueued | The contact is temporarily unavailable, and the call has been placed in a queue (e.g. 182 Queued in SIP, or call-waiting in telephony).
  ChannelCallStateHeld | The contact has placed the call on hold, and will not receive media from the local user or any other participants until they unhold the call again.
  ChannelCallStateForwarded | The initiator of the call originally called a contact other than the current recipient of the call, but the call was then forwarded or diverted.
  ChannelCallStateInProgress | Progress has been made in placing the outgoing call, but the destination contact may not have been made aware of the call yet (so the Ringing state is not appropriate). This corresponds to SIP's status code 183 Session Progress, and could be used when the outgoing call has reached a gateway, for instance.

enum ChannelGroupFlag

Flag type generated from the specification.

Enumerator:

  ChannelGroupFlagCanAdd | The AddMembers method can be used to add or invite members who are not already in the local pending list (which is always valid).
  ChannelGroupFlagCanRemove | The RemoveMembers method can be used to remove channel members (removing those on the pending local list is always valid).
  ChannelGroupFlagCanRescind | The RemoveMembers method can be used on people on the remote pending list.
  ChannelGroupFlagMessageAdd | A message may be sent to the server when calling AddMembers on contacts who are not currently pending members.
  ChannelGroupFlagMessageRemove | A message may be sent to the server when calling RemoveMembers on contacts who are currently channel members.
  ChannelGroupFlagMessageAccept | A message may be sent to the server when calling AddMembers on contacts who are locally pending.
  ChannelGroupFlagMessageReject | A message may be sent to the server when calling RemoveMembers on contacts who are locally pending.
  ChannelGroupFlagMessageRescind | A message may be sent to the server when calling RemoveMembers on contacts who are remote pending.

  ChannelGroupFlagChannelSpecificHandles

  The members of this group have handles which are specific to this channel, and are not valid as general-purpose handles on the connection. Depending on the channel, it may be possible to check the <tp:member-ref>HandleOwners</tp:member-ref> property or call <tp:member-ref>GetHandleOwners</tp:member-ref> to find the owners of these handles, which should be done if you wish to (e.g.) subscribe to the contact's presence.

  Connection managers must ensure that any given handle is not simultaneously a general-purpose handle and a channel-specific handle.

  ChannelGroupFlagOnlyOneGroup | Placing a contact in multiple groups of this type is not allowed and will raise NotAvailable (on services where contacts may only be in one user-defined group, user-defined groups will have this flag).
  ChannelGroupFlagHandleOwnersNotAvailable | In rooms with channel specific handles (ie Channel_Specific_Handles flag is set), this flag indicates that no handle owners are available, apart from the owner of the SelfHandle. This used to be an important optimization to avoid repeated GetHandleOwners calls, before we introduced the HandleOwners property and HandleOwnersChanged signal.
  ChannelGroupFlagProperties | This flag indicates that all the properties introduced in specification 0.17.6 are fully supported.

  ChannelGroupFlagMembersChangedDetailed

  Indicates that MembersChangedDetailed will be emitted for changes to this group's members in addition to MembersChanged. Clients can then connect to the former and ignore emission of the latter. This flag's state MUST NOT change over the lifetime of a channel. If it were allowed to change, client bindings would have to always connect to MembersChanged just in case the flag ever went away (and generally be unnecessarily complicated), which would mostly negate the point of having this flag in the first place.

  ChannelGroupFlagMessageDepart | A message may be sent to the server when calling RemoveMembers on the SelfHandle. This would be set for XMPP Multi-User Chat or IRC channels, but not for a typical implementation of streamed media calls.

enum MessagePartSupportFlag

Flag type generated from the specification.

Enumerator:

  MessagePartSupportFlagOneAttachment | SendMessage will accept messages containing a textual message body, plus a single attachment of any type listed in the SupportedContentTypes property. It does not make sense for this flag to be set if Message_Part_Support_Flag_Data_Only is not also set (because the connection manager can trivially provide an empty text part if necessary).
  MessagePartSupportFlagMultipleAttachments | SendMessage will accept messages containing a textual message body, plus an arbitrary number of attachments of any type listed in the SupportedContentTypes property. It does not make sense for this flag to be set if Message_Part_Support_Flag_One_Attachment is not also set.

enum MessageSendingFlag

Flag type generated from the specification.

Enumerator:

  MessageSendingFlagReportDelivery

  Provide a successful delivery report if possible, even if this is not the default for this protocol. Ignored if delivery reports are not possible on this protocol.

  <tp:rationale>

  In some protocols, like XMPP, it is not conventional to request or send positive delivery notifications. </tp:rationale>

  Delivery failure reports SHOULD always be sent, but if this flag is present, the connection manager MAY also try harder to obtain failed delivery reports or allow them to be matched to outgoing messages.

enum DeliveryReportingSupportFlag

Flag type generated from the specification.

Enumerator:

  DeliveryReportingSupportFlagReceiveFailures | Clients MAY expect to receive negative delivery reports if Message_Sending_Flag_Report_Delivery is specified when sending. If senders want delivery reports, they should ask for them. If they don't want delivery reports, they can just ignore them, so there's no need to have capability discovery for what will happen if a delivery report isn't requested.
  DeliveryReportingSupportFlagReceiveSuccesses | Clients MAY expect to receive positive delivery reports if Message_Sending_Flag_Report_Delivery is specified when sending. Same rationale as Receive_Failures.

enum ChannelPasswordFlag

Flag type generated from the specification.

Enumerator:

  ChannelPasswordFlagProvide | The ProvidePassword method must be called now for the user to join the channel

enum PropertyFlag

Flag type generated from the specification.

Enumerator:

  PropertyFlagRead | The property can be read
  PropertyFlagWrite | The property can be written