Top |
guint | delivery-reporting-support | Read |
gboolean | is-sms-channel | Read |
guint | message-part-support-flags | Read |
gboolean | sms-flash | Read |
GStrv | supported-content-types | Read |
void | chat-state-changed | Has Details |
void | message-received | Run Last |
void | message-sent | Run Last |
void | pending-message-removed | Run Last |
struct | TpTextChannel |
struct | TpTextChannelClass |
#define | TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES |
#define | TP_TEXT_CHANNEL_FEATURE_SMS |
#define | TP_TEXT_CHANNEL_FEATURE_CHAT_STATES |
TpTextChannel is a sub-class of TpChannel providing convenient API to send and receive TpMessage.
const gchar * const *
tp_text_channel_get_supported_content_types
(TpTextChannel *self
);
Return the “supported-content-types” property
Since 0.13.10
TpMessagePartSupportFlags
tp_text_channel_get_message_part_support_flags
(TpTextChannel *self
);
Return the “message-part-support-flags” property
Since 0.13.10
TpDeliveryReportingSupportFlags
tp_text_channel_get_delivery_reporting_support
(TpTextChannel *self
);
Return the “delivery-reporting-support” property
Since 0.13.10
GList *
tp_text_channel_dup_pending_messages (TpTextChannel *self
);
Return a newly allocated list of unacknowledged TpSignalledMessage objects.
It is guaranteed that the “sender” of each
TpSignalledMessage has all of the features previously passed to
tp_simple_client_factory_add_contact_features()
prepared.
a GList of reffed TpSignalledMessage.
[transfer full][element-type TelepathyGLib.SignalledMessage]
Since 0.19.9
void tp_text_channel_send_message_async (TpTextChannel *self
,TpMessage *message
,TpMessageSendingFlags flags
,GAsyncReadyCallback callback
,gpointer user_data
);
Submit a message to the server for sending. Once the message has been
submitted to the sever, callback
will be called. You can then call
tp_text_channel_send_message_finish()
to get the result of the operation.
self |
||
message |
||
flags |
flags affecting how the message is sent |
|
callback |
a callback to call when the message has been submitted to the server |
|
user_data |
data to pass to |
Since 0.13.10
gboolean tp_text_channel_send_message_finish (TpTextChannel *self
,GAsyncResult *result
,gchar **token
,GError **error
);
Completes a call to tp_text_channel_send_message_async()
.
token
can be used to match any incoming delivery or failure reports
against the sent message. If this function returns true but the returned
token is NULL
, the message was sent successfully but the protocol does not
provide a way to identify it later.
self |
||
result |
a GAsyncResult passed to the callback for |
|
token |
if not |
[out][transfer full] |
error |
a GError to fill |
Since 0.13.10
void tp_text_channel_ack_messages_async (TpTextChannel *self
,const GList *messages
,GAsyncReadyCallback callback
,gpointer user_data
);
Acknowledge all the messages in messages
.
Once the messages have been acked, callback
will be called.
You can then call tp_text_channel_ack_messages_finish()
to get the
result of the operation.
You should use the TpSignalledMessage received from
tp_text_channel_dup_pending_messages()
or the
“message-received” signal.
See tp_text_channel_ack_message_async()
about acknowledging messages.
self |
||
messages |
a GList of TpSignalledMessage. |
[element-type TelepathyGLib.SignalledMessage] |
callback |
a callback to call when the message have been acked |
|
user_data |
data to pass to |
Since 0.13.10
gboolean tp_text_channel_ack_messages_finish (TpTextChannel *self
,GAsyncResult *result
,GError **error
);
Finishes acknowledging a list of messages.
self |
||
result |
a GAsyncResult passed to the callback for |
|
error |
a GError to fill |
Since 0.13.10
void tp_text_channel_ack_message_async (TpTextChannel *self
,TpMessage *message
,GAsyncReadyCallback callback
,gpointer user_data
);
Acknowledge message
. Once the message has been acked, callback
will be
called. You can then call tp_text_channel_ack_message_finish()
to get the
result of the operation.
A message should be acknowledged once it has been shown to the user by the Handler of the channel. So Observers and Approvers should NOT acknowledge messages themselves. Once a message has been acknowledged, it is removed from the pending-message queue and so the “pending-message-removed” signal is fired.
You should use the TpSignalledMessage received from
tp_text_channel_dup_pending_messages()
or the
“message-received” signal.
self |
||
message |
||
callback |
a callback to call when the message have been acked |
|
user_data |
data to pass to |
Since 0.13.10
gboolean tp_text_channel_ack_message_finish (TpTextChannel *self
,GAsyncResult *result
,GError **error
);
Finishes acknowledging a message.
self |
||
result |
a GAsyncResult passed to the callback for |
|
error |
a GError to fill |
Since 0.13.10
void tp_text_channel_ack_all_pending_messages_async (TpTextChannel *self
,GAsyncReadyCallback callback
,gpointer user_data
);
Acknowledge all the pending messages. This is equivalent of calling
tp_text_channel_ack_messages_async()
with the list of TpSignalledMessage
returned by tp_text_channel_dup_pending_messages()
.
Once the messages have been acked, callback
will be called.
You can then call tp_text_channel_ack_all_pending_messages_finish()
to get
the result of the operation.
See tp_text_channel_ack_message_async()
about acknowledging messages.
self |
||
callback |
a callback to call when the messages have been acked |
|
user_data |
data to pass to |
Since 0.15.3
gboolean tp_text_channel_ack_all_pending_messages_finish (TpTextChannel *self
,GAsyncResult *result
,GError **error
);
Finish an asynchronous acknowledgement operation of all messages.
Since 0.15.3
gboolean tp_text_channel_supports_message_type (TpTextChannel *self
,TpChannelTextMessageType message_type
);
Check if message of type message_type
can be sent on this channel.
Since 0.13.16
gboolean
tp_text_channel_is_sms_channel (TpTextChannel *self
);
Return the “is-sms-channel” property
Since 0.15.1
gboolean
tp_text_channel_get_sms_flash (TpTextChannel *self
);
Return the “sms-flash” property
Since 0.15.1
void tp_text_channel_get_sms_length_async (TpTextChannel *self
,TpMessage *message
,GAsyncReadyCallback callback
,gpointer user_data
);
Starts an async call to get the number of 140 octet chunks required to send a message via SMS on self, as well as the number of remaining characters available in the final chunk and, if possible, an estimate of the cost.
Once the request has been satisfied, callback
will be called.
You can then call tp_text_channel_get_sms_length_finish()
to get the
result of the operation.
self |
||
message |
||
callback |
a callback to call when the request has been satisfied |
|
user_data |
data to pass to |
Since 0.15.1
gboolean tp_text_channel_get_sms_length_finish (TpTextChannel *self
,GAsyncResult *result
,guint *chunks_required
,gint *remaining_characters
,gint *estimated_cost
,GError **error
);
Finishes an async SMS length request.
self |
||
result |
||
chunks_required |
if not |
[out] |
remaining_characters |
if not |
[out] |
estimated_cost |
if not |
[out] |
error |
a GError to fill |
TRUE
if the number of 140 octet chunks required to send
the message has been retrieved, FALSE
otherwise.
Since 0.15.1
TpChannelChatState tp_text_channel_get_chat_state (TpTextChannel *self
,TpContact *contact
);
Return the chat state for the given contact. If tp_proxy_is_prepared()
would return FALSE
for the feature TP_TEXT_CHANNEL_FEATURE_CHAT_STATES
,
the result will always be TP_CHANNEL_CHAT_STATE_INACTIVE
.
the chat state for contact
, or TP_CHANNEL_CHAT_STATE_INACTIVE
if their chat state is not known
Since 0.19.0
void tp_text_channel_set_chat_state_async (TpTextChannel *self
,TpChannelChatState state
,GAsyncReadyCallback callback
,gpointer user_data
);
Set the local state on channel self
to state
.
Once the state has been set, callback
will be called.
You can then call tp_text_channel_set_chat_state_finish()
to get the
result of the operation.
self |
||
state |
a TpChannelChatState to set |
|
callback |
a callback to call when the chat state has been set |
|
user_data |
data to pass to |
Since 0.13.10
gboolean tp_text_channel_set_chat_state_finish (TpTextChannel *self
,GAsyncResult *result
,GError **error
);
Completes a call to tp_text_channel_set_chat_state_async()
.
self |
||
result |
a GAsyncResult passed to the callback for |
|
error |
a GError to fill |
Since 0.13.10
struct TpTextChannel;
Data structure representing a TpTextChannel.
Since 0.13.10
struct TpTextChannelClass { };
The class of a TpTextChannel.
Since 0.13.10
#define TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES
Expands to a call to a function that returns a quark representing the incoming messages features of a TpTextChannel.
When this feature is prepared, tp_text_channel_dup_pending_messages()
will
return a non-empty list if any unacknowledged messages are waiting, and the
“message-received” and “pending-message-removed”
signals will be emitted.
One can ask for a feature to be prepared using the
tp_proxy_prepare_async()
function, and waiting for it to callback.
Since 0.13.10
#define TP_TEXT_CHANNEL_FEATURE_SMS
Expands to a call to a function that returns a quark representing the SMS feature of a TpTextChannel.
When this feature is prepared, the TpTextChannel:is-sms-channel property will have a meaningful value and will be updated when needed.
One can ask for a feature to be prepared using the
tp_proxy_prepare_async()
function, and waiting for it to callback.
Since 0.15.1
#define TP_TEXT_CHANNEL_FEATURE_CHAT_STATES
Expands to a call to a function that returns a quark representing the chat states feature on a TpTextChannel.
When this feature is prepared, tp_text_channel_get_chat_state()
and the
“contact-chat-state-changed” signal become useful.
One can ask for a feature to be prepared using the
tp_proxy_prepare_async()
function, and waiting for it to callback.
Since 0.19.0
“delivery-reporting-support”
property“delivery-reporting-support” guint
A TpDeliveryReportingSupportFlags indicating features supported by this channel.
Flags: Read
Default value: 0
Since 0.13.10
“is-sms-channel”
property“is-sms-channel” gboolean
TRUE
if messages sent and received on this channel are transmitted
via SMS.
This property is not guaranteed to have a meaningful value until TP_TEXT_CHANNEL_FEATURE_SMS has been prepared.
Flags: Read
Default value: FALSE
Since 0.15.1
“message-part-support-flags”
property“message-part-support-flags” guint
A TpMessagePartSupportFlags indicating the level of support for message parts on this channel.
Flags: Read
Default value: 0
Since 0.13.10
“sms-flash”
property“sms-flash” gboolean
TRUE
if this channel is exclusively for receiving class 0 SMSes
(and no SMSes can be sent using tp_text_channel_send_message_async()
on this channel). If FALSE
, no incoming class 0 SMSes will appear
on this channel.
Flags: Read
Default value: FALSE
Since 0.15.1
“chat-state-changed”
signalvoid user_function (TpTextChannel *self, TpContact *contact, guint state, gpointer user_data)
Emitted when a contact's chat state changes after tp_proxy_prepare_async()
has finished preparing features TP_TEXT_CHANNEL_FEATURE_CHAT_STATES
.
For group chats, it is not guaranteed this signal will be emitted for every
members, until TP_CHANNEL_FEATURE_GROUP
has ben prepared using
tp_proxy_prepare_async()
.
self |
a channel |
|
contact |
a TpContact for the local user or another contact |
|
state |
the new TpChannelChatState for the contact |
|
user_data |
user data set when the signal handler was connected. |
Flags: Has Details
Since 0.99.1
“message-received”
signalvoid user_function (TpTextChannel *self, TpSignalledMessage *message, gpointer user_data)
The ::message-received signal is emitted when a new message has been
received on self
.
The same message
object will be used by the
“pending-message-removed” signal once message
has been
acked so you can simply compare pointers to identify the message.
Note that this signal is only fired once the TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES has been prepared.
It is guaranteed that message
's “sender” has all of the
features previously passed to
tp_client_factory_add_contact_features()
prepared.
self |
the TpTextChannel |
|
message |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since 0.13.10
“message-sent”
signalvoid user_function (TpTextChannel *self, TpSignalledMessage *message, guint flags, gchar *token, gpointer user_data)
The ::message-sent signal is emitted when message
has been submitted for sending.
It is guaranteed that message
's “sender” has all of the
features previously passed to
tp_client_factory_add_contact_features()
prepared.
self |
the TpTextChannel |
|
message |
||
flags |
the TpMessageSendingFlags affecting how the message was sent |
|
token |
an opaque token used to match any incoming delivery or failure
reports against this message, or |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since 0.13.10
“pending-message-removed”
signalvoid user_function (TpTextChannel *self, TpSignalledMessage *message, gpointer user_data)
The ::pending-message-removed signal is emitted when message
has been acked and so removed from the pending messages list.
Note that this signal is only fired once the TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES has been prepared.
It is guaranteed that message
's “sender” has all of the
features previously passed to
tp_client_factory_add_contact_features()
prepared.
self |
the TpTextChannel |
|
message |
||
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since 0.13.10