Interface

PurpleProtocolConversation

since: 3.0

Description [src]

interface Purple.ProtocolConversation : Purple.Protocol

This interface defines the behavior for interacting with conversations at the protocol layer. These methods will primarily be called by the user interface.

Available since: 3.0

Prerequisite

In order to implement ProtocolConversation, your type must inherit fromPurpleProtocol.

Instance methods

purple_protocol_conversation_create_conversation_async

Starts the process of creating a dm or group dm conversation on account.

since: 3.0

purple_protocol_conversation_create_conversation_finish

Finishes a previous call to purple_protocol_conversation_create_conversation_async(). This should be called from the callback of that function to get the result of whether or not the conversation was created successfully.

since: 3.0

purple_protocol_conversation_get_channel_join_details

User interfaces will use this function to get an instance of PurpleChannelJoinDetails that can be presented to a user for them to edit.

since: 3.0

purple_protocol_conversation_get_create_conversation_details

Gets a PurpleCreateConversationDetails from protocol for account.

since: 3.0

purple_protocol_conversation_implements_create_conversation

Checks if protocol implements Purple.ProtocolConversationInterface.get_create_conversation_details, Purple.ProtocolConversationInterface.create_conversation_async, and Purple.ProtocolConversationInterface.create_conversation_finish.

since: 3.0

purple_protocol_conversation_join_channel_async

Attempts to join the channel identified by details using account.

since: 3.0

purple_protocol_conversation_join_channel_finish

Finishes a previous call to purple_protocol_conversation_join_channel_async(). This should be called from the callback of that function to get the result of whether or not the channel was joined successfully.

since: 3.0

purple_protocol_conversation_send_message_async

Starts the process of sending message to conversation.

since: 3.0

purple_protocol_conversation_send_message_finish

Finishes a previous call to purple_protocol_conversation_send_message_async(). This should be called from the callback of that function to get the result of whether or not the message was sent successfully.

since: 3.0

purple_protocol_conversation_send_typing

Sends the libpurple user’s typing state for the conversation.

since: 3.0

purple_protocol_conversation_set_avatar_async

Sets the avatar for conversation to pixbuf. Pass NULL to clear the current avatar.

since: 3.0

purple_protocol_conversation_set_avatar_finish

Finishes a previous call to purple_protocol_conversation_set_avatar_async(). This should be called from the callback of that function to get the result of whether or not the avatar was set successfully.

since: 3.0

purple_protocol_conversation_set_topic_async

Starts the process of setting the topic of conversation to topic.

since: 3.0

purple_protocol_conversation_set_topic_finish

Finishes a previous call to purple_protocol_conversation_set_topic_async(). This should be called from the callback of that function to get the result of whether or not the message was sent successfully.

since: 3.0

Interface structure

struct PurpleProtocolConversationInterface {
  PurpleCreateConversationDetails* (* get_create_conversation_details) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account
  );
  void (* create_conversation_async) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account,
    PurpleCreateConversationDetails* details,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  );
  PurpleConversation* (* create_conversation_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  );
  void (* send_message_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleMessage* message,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  );
  gboolean (* send_message_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  );
  void (* set_topic_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    const char* topic,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  );
  gboolean (* set_topic_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  );
  PurpleChannelJoinDetails* (* get_channel_join_details) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account
  );
  void (* join_channel_async) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account,
    PurpleChannelJoinDetails* details,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  );
  gboolean (* join_channel_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  );
  void (* set_avatar_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleAvatar* avatar,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  );
  gboolean (* set_avatar_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  );
  void (* send_typing) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleTypingState state
  );
  
}
No description available.
Interface members
get_create_conversation_details
PurpleCreateConversationDetails* (* get_create_conversation_details) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account
  )
 No description available.
create_conversation_async
void (* create_conversation_async) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account,
    PurpleCreateConversationDetails* details,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  )
 No description available.
create_conversation_finish
PurpleConversation* (* create_conversation_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  )
 No description available.
send_message_async
void (* send_message_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleMessage* message,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  )
 No description available.
send_message_finish
gboolean (* send_message_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  )
 No description available.
set_topic_async
void (* set_topic_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    const char* topic,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  )
 No description available.
set_topic_finish
gboolean (* set_topic_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  )
 No description available.
get_channel_join_details
PurpleChannelJoinDetails* (* get_channel_join_details) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account
  )
 No description available.
join_channel_async
void (* join_channel_async) (
    PurpleProtocolConversation* protocol,
    PurpleAccount* account,
    PurpleChannelJoinDetails* details,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  )
 No description available.
join_channel_finish
gboolean (* join_channel_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  )
 No description available.
set_avatar_async
void (* set_avatar_async) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleAvatar* avatar,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer data
  )
 No description available.
set_avatar_finish
gboolean (* set_avatar_finish) (
    PurpleProtocolConversation* protocol,
    GAsyncResult* result,
    GError** error
  )
 No description available.
send_typing
void (* send_typing) (
    PurpleProtocolConversation* protocol,
    PurpleConversation* conversation,
    PurpleTypingState state
  )
 No description available.

Virtual methods

Purple.ProtocolConversation.create_conversation_async

Starts the process of creating a dm or group dm conversation on account.

since: 3.0

Purple.ProtocolConversation.create_conversation_finish

Finishes a previous call to purple_protocol_conversation_create_conversation_async(). This should be called from the callback of that function to get the result of whether or not the conversation was created successfully.

since: 3.0

Purple.ProtocolConversation.get_channel_join_details

User interfaces will use this function to get an instance of PurpleChannelJoinDetails that can be presented to a user for them to edit.

since: 3.0

Purple.ProtocolConversation.get_create_conversation_details

Gets a PurpleCreateConversationDetails from protocol for account.

since: 3.0

Purple.ProtocolConversation.join_channel_async

Attempts to join the channel identified by details using account.

since: 3.0

Purple.ProtocolConversation.join_channel_finish

Finishes a previous call to purple_protocol_conversation_join_channel_async(). This should be called from the callback of that function to get the result of whether or not the channel was joined successfully.

since: 3.0

Purple.ProtocolConversation.send_message_async

Starts the process of sending message to conversation.

since: 3.0

Purple.ProtocolConversation.send_message_finish

Finishes a previous call to purple_protocol_conversation_send_message_async(). This should be called from the callback of that function to get the result of whether or not the message was sent successfully.

since: 3.0

Purple.ProtocolConversation.send_typing

Sends the libpurple user’s typing state for the conversation.

since: 3.0

Purple.ProtocolConversation.set_avatar_async

Sets the avatar for conversation to pixbuf. Pass NULL to clear the current avatar.

since: 3.0

Purple.ProtocolConversation.set_avatar_finish

Finishes a previous call to purple_protocol_conversation_set_avatar_async(). This should be called from the callback of that function to get the result of whether or not the avatar was set successfully.

since: 3.0

Purple.ProtocolConversation.set_topic_async

Starts the process of setting the topic of conversation to topic.

since: 3.0

Purple.ProtocolConversation.set_topic_finish

Finishes a previous call to purple_protocol_conversation_set_topic_async(). This should be called from the callback of that function to get the result of whether or not the message was sent successfully.

since: 3.0