Home · All Classes · All Namespaces · Modules · Functions · Files |
The TextChannel class represents a Telepathy channel of type Text. More...
#include <TelepathyQt4/TextChannel>
Inherits Tp::Channel.
The TextChannel class represents a Telepathy channel of type Text.
For more details, please refer to Telepathy specification.
See Asynchronous Object Model, Shared Pointer Usage
Tp::TextChannel::~TextChannel | ( | ) | [virtual] |
Class destructor.
Tp::TextChannel::TextChannel | ( | const ConnectionPtr & | connection, | |
const QString & | objectPath, | |||
const QVariantMap & | immutableProperties, | |||
const Feature & | coreFeature = TextChannel::FeatureCore |
|||
) | [protected] |
Construct a new TextChannel object.
connection | Connection owning this channel, and specifying the service. | |
objectPath | The channel object path. | |
immutableProperties | The channel immutable properties. | |
coreFeature | The core feature of the channel type, if any. The corresponding introspectable should depend on TextChannel::FeatureCore. |
TextChannelPtr Tp::TextChannel::create | ( | const ConnectionPtr & | connection, | |
const QString & | objectPath, | |||
const QVariantMap & | immutableProperties | |||
) | [static] |
Create a new TextChannel object.
connection | Connection owning this channel, and specifying the service. | |
objectPath | The channel object path. | |
immutableProperties | The channel immutable properties. |
Reimplemented from Tp::Channel.
bool Tp::TextChannel::hasMessagesInterface | ( | ) | const |
Return whether this channel supports the Messages interface.
If the interface is not supported, some advanced functionality will be unavailable.
This method requires TextChannel::FeatureCore to be ready.
true
if the Messages interface is supported, false
otherwise.bool Tp::TextChannel::hasChatStateInterface | ( | ) | const |
Return whether this channel supports the ChatState interface.
If the interface is not supported, requestChatState() will fail and all contacts' chat states will appear to be ChannelChatStateInactive.
This method requires TextChannel::FeatureCore to be ready.
true
if the ChatState interface is supported, false
otherwise.bool Tp::TextChannel::canInviteContacts | ( | ) | const |
Return whether contacts can be invited into this channel using inviteContacts() (which is equivalent to Channel::groupAddContacts()).
Whether this is the case depends on the underlying protocol, the type of channel, and the user's privileges (in some chatrooms, only a privileged user can invite other contacts).
This is an alias for Channel::groupCanAddContacts(), to indicate its meaning more clearly for Text channels.
This method requires Channel::FeatureCore to be ready.
true
if contacts can be invited, false
otherwise.QStringList Tp::TextChannel::supportedContentTypes | ( | ) | const |
Return a list of supported MIME content types for messages on this channel.
For a simple text channel this will be a list containing one item, "text/plain".
This list may contain the special value "*<!--x-->/<!--x-->*", which indicates that any content type is supported.
This method requires TextChannel::FeatureMessageCapabilities to be ready.
MessagePartSupportFlags Tp::TextChannel::messagePartSupport | ( | ) | const |
Return a set of flags indicating support for multi-part messages on this channel.
This is zero on simple text channels, or greater than zero if there is partial or full support for multi-part messages.
This method requires TextChannel::FeatureMessageCapabilities to be ready.
DeliveryReportingSupportFlags Tp::TextChannel::deliveryReportingSupport | ( | ) | const |
Return a set of flags indicating support for delivery reporting on this channel.
This is zero if there are no particular guarantees, or greater than zero if delivery reports can be expected under certain circumstances.
This method requires TextChannel::FeatureMessageCapabilities to be ready.
QList< ReceivedMessage > Tp::TextChannel::messageQueue | ( | ) | const |
Return a list of messages received in this channel.
Messages are added to this list when they are received from the instant messaging service; the messageReceived() signal is emitted.
There is a small delay between the message being received over D-Bus and becoming available to users of this C++ API, since a small amount of additional information needs to be fetched. However, the relative ordering of all the messages in a channel is preserved.
Messages are removed from this list when they are acknowledged with the acknowledge() or forget() methods. On channels where hasMessagesInterface() returns true
, they will also be removed when acknowledged by a different client. In either case, the pendingMessageRemoved() signal is emitted.
This method requires TextChannel::FeatureMessageQueue to be ready.
ChannelChatState Tp::TextChannel::chatState | ( | const ContactPtr & | contact | ) | const |
Return the current chat state for contact.
If hasChatStateInterface() returns false
, this method will always return ChannelChatStateInactive.
This method requires TextChannel::FeatureChatState to be ready.
void Tp::TextChannel::acknowledge | ( | const QList< ReceivedMessage > & | messages | ) | [slot] |
Acknowledge that received messages have been displayed to the user.
Note that this method should only be called by the main handler of a channel, usually meaning the user interface process that displays the channel to the user (when a channel dispatcher is used, the handler must acknowledge messages, and other approvers or observers must not acknowledge messages).
Processes other than the main handler of a channel can free memory used by the library by calling forget() instead.
This method requires TextChannel::FeatureMessageQueue to be ready.
messages | A list of received messages that have now been displayed. |
void Tp::TextChannel::forget | ( | const QList< ReceivedMessage > & | messages | ) | [slot] |
Remove messages from the message queue without acknowledging them.
Note that this method frees memory used by the library, but does not free the corresponding memory in the CM process. It should be used by clients that are not the main handler for a channel; the main handler for a channel should use acknowledge() instead.
This method requires TextChannel::FeatureMessageQueue to be ready.
messages | A list of received messages that have now been processed. |
PendingSendMessage * Tp::TextChannel::send | ( | const QString & | text, | |
ChannelTextMessageType | type = ChannelTextMessageTypeNormal , |
|||
MessageSendingFlags | flags = 0 |
|||
) | [slot] |
Request that a message be sent on this channel.
When the message has been submitted for delivery, this method will return and the messageSent() signal will be emitted.
If the message cannot be submitted for delivery, the returned pending operation will fail and no signal is emitted.
This method requires TextChannel::FeatureCore to be ready.
text | The message body. | |
type | The message type. | |
flags | Flags affecting how the message is sent. Note that the channel may ignore some or all flags, depending on deliveryReportingSupport(); the flags that were handled by the CM are provided in messageSent(). |
PendingSendMessage * Tp::TextChannel::send | ( | const MessagePartList & | parts, | |
MessageSendingFlags | flags = 0 |
|||
) | [slot] |
Request that a message be sent on this channel.
When the message has been submitted for delivery, this method will return and the messageSent() signal will be emitted.
If the message cannot be submitted for delivery, the returned pending operation will fail and no signal is emitted.
This method requires TextChannel::FeatureCore to be ready.
part | The message parts. | |
flags | Flags affecting how the message is sent. Note that the channel may ignore some or all flags, depending on deliveryReportingSupport(); the flags that were handled by the CM are provided in messageSent(). |
PendingOperation* Tp::TextChannel::inviteContacts | ( | const QList< ContactPtr > & | contacts, | |
const QString & | message = QString() |
|||
) | [inline, slot] |
PendingOperation * Tp::TextChannel::requestChatState | ( | ChannelChatState | state | ) | [slot] |
Set the local chat state and notify other members of the channel that it has changed.
Note that only the primary handler of the channel should set its chat state.
This method requires TextChannel::FeatureCore to be ready.
state | The new state. |
void Tp::TextChannel::messageSent | ( | const Tp::Message & | message, | |
Tp::MessageSendingFlags | flags, | |||
const QString & | sentMessageToken | |||
) | [signal] |
Emitted when a message is sent, if the TextChannel::FeatureMessageSentSignal has been enabled.
This signal is emitted regardless of whether the message is sent by this client, or another client using the same channel via D-Bus.
message | A message. This may differ slightly from what the client requested to send, for instance if it has been altered due to limitations of the instant messaging protocol used. | |
flags | MessageSendingFlags that were in effect when the message was sent. Clients can use these in conjunction with deliveryReportingSupport() to determine whether delivery reporting can be expected. | |
sentMessageToken | Either an empty QString, or an opaque token used to match the message to any delivery reports. |
void Tp::TextChannel::messageReceived | ( | const Tp::ReceivedMessage & | message | ) | [signal] |
Emitted when a message is added to messageQueue(), if the TextChannel::FeatureMessageQueue Feature has been enabled.
This occurs slightly later than the message being received over D-Bus; see messageQueue() for details.
message | The message received. |
void Tp::TextChannel::pendingMessageRemoved | ( | const Tp::ReceivedMessage & | message | ) | [signal] |
Emitted when a message is removed from messageQueue(), if the TextChannel::FeatureMessageQueue Feature has been enabled. See messageQueue() for the circumstances in which this happens.
message | The message removed. |
void Tp::TextChannel::chatStateChanged | ( | const Tp::ContactPtr & | contact, | |
Tp::ChannelChatState | state | |||
) | [signal] |
Emitted when the state of a member of the channel has changed, if the TextChannel::FeatureChatState feature has been enabled.
Local state changes are also emitted here.
contact | The contact whose chat state changed. | |
state | The new chat state for contact. |
const Feature Tp::TextChannel::FeatureCore [static] |
Feature representing the core that needs to become ready to make the TextChannel object usable.
This is currently the same as Channel::FeatureCore, but may change to include more.
When calling isReady(), becomeReady(), this feature is implicitly added to the requested features.
Reimplemented from Tp::Channel.
const Feature Tp::TextChannel::FeatureMessageQueue [static] |
Feature used in order to access the message queue info.
See message queue methods' documentation for more details.
const Feature Tp::TextChannel::FeatureMessageCapabilities [static] |
Feature used in order to access message capabilities info.
See message capabilities methods' documentation for more details.
const Feature Tp::TextChannel::FeatureMessageSentSignal [static] |
Feature used in order to receive notification when a message is sent.
const Feature Tp::TextChannel::FeatureChatState [static] |
Feature used in order to keep track of chat state changes.
See chat state methods' documentation for more details.
Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation |
Telepathy-Qt4 0.6.5
|