--- a/libpurple/purplefiletransfer.c Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplefiletransfer.c Thu Feb 29 21:36:49 2024 -0600
@@ -321,7 +321,7 @@
* The account that this file transfer is for.
properties[PROP_ACCOUNT] = g_param_spec_object(
@@ -334,7 +334,7 @@
* The [class@ContactInfo] for the remote user of this file transfer.
properties[PROP_REMOTE] = g_param_spec_object(
@@ -347,7 +347,7 @@
* The [class@ContactInfo] that initiated this file transfer.
properties[PROP_INITIATOR] = g_param_spec_object(
"initiator", "initiator",
@@ -361,7 +361,7 @@
* The [class@Gio.Cancellable] for this transfer. It may be used to cancel
* the file transfer at any time.
properties[PROP_CANCELLABLE] = g_param_spec_object(
"cancellable", "cancellable",
@@ -380,7 +380,7 @@
* If the state is set to error then [property@FileTransfer:error]
properties[PROP_STATE] = g_param_spec_enum(
@@ -398,7 +398,7 @@
* This should be used to tell the user about network issues or if the
* transfer was cancelled and so on.
properties[PROP_ERROR] = g_param_spec_boxed(
@@ -414,7 +414,7 @@
* When sending a file, this is the file that's being sent. When receiving
* a file, this is the file where the transfer is being written.
properties[PROP_LOCAL_FILE] = g_param_spec_object(
"local-file", "local-file",
@@ -428,7 +428,7 @@
* The base filename for the transfer. This is used as the default filename
* for the receiving side.
properties[PROP_FILENAME] = g_param_spec_string(
@@ -442,7 +442,7 @@
* The size of the file in bytes. A value of %0 typically means the size is
* unknown, but it is possible to transfer empty files as well.
properties[PROP_FILE_SIZE] = g_param_spec_uint64(
"file-size", "file-size",
@@ -460,7 +460,7 @@
* See the [Media Types page](https://www.iana.org/assignments/media-types/media-types.xhtml)
properties[PROP_CONTENT_TYPE] = g_param_spec_string(
"content-type", "content-type",
@@ -474,7 +474,7 @@
* Some protocols support sending a message with the file transfer. This
* field is to hold that message.
properties[PROP_MESSAGE] = g_param_spec_string(
--- a/libpurple/purplefiletransfer.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplefiletransfer.h Thu Feb 29 21:36:49 2024 -0600
@@ -61,7 +61,7 @@
* A peer to peer file transfer object.
#define PURPLE_TYPE_FILE_TRANSFER (purple_file_transfer_get_type())
@@ -85,7 +85,7 @@
* Returns: (transfer full): The new file transfer.
PurpleFileTransfer *purple_file_transfer_new_send(PurpleAccount *account, PurpleContactInfo *remote, GFile *local_file);
@@ -105,7 +105,7 @@
* Returns: (transfer full): The new file transfer.
PurpleFileTransfer *purple_file_transfer_new_receive(PurpleAccount *account, PurpleContactInfo *remote, const char *filename, guint64 file_size);
@@ -118,7 +118,7 @@
* Returns: (transfer none): The account.
PurpleAccount *purple_file_transfer_get_account(PurpleFileTransfer *transfer);
@@ -132,7 +132,7 @@
* Returns: (transfer none): The remote contact info.
PurpleContactInfo *purple_file_transfer_get_remote(PurpleFileTransfer *transfer);
@@ -145,7 +145,7 @@
* Returns: (transfer none): The contact info who initiated the file transfer.
PurpleContactInfo *purple_file_transfer_get_initiator(PurpleFileTransfer *transfer);
@@ -159,7 +159,7 @@
* Returns: (transfer none): The cancellable.
GCancellable *purple_file_transfer_get_cancellable(PurpleFileTransfer *transfer);
@@ -172,7 +172,7 @@
* Returns: The state of @transfer.
PurpleFileTransferState purple_file_transfer_get_state(PurpleFileTransfer *transfer);
@@ -187,7 +187,7 @@
* This method should only be called by protocol plugins to match what it is
void purple_file_transfer_set_state(PurpleFileTransfer *transfer, PurpleFileTransferState state);
@@ -200,7 +200,7 @@
* Returns: (transfer none) (nullable): The error for the transfer.
GError *purple_file_transfer_get_error(PurpleFileTransfer *transfer);
@@ -212,7 +212,7 @@
* Sets the error of @transfer to @error.
void purple_file_transfer_set_error(PurpleFileTransfer *transfer, GError *error);
@@ -225,7 +225,7 @@
* Returns: (transfer none): The local file.
GFile *purple_file_transfer_get_local_file(PurpleFileTransfer *transfer);
@@ -237,7 +237,7 @@
* Sets the local file of @transfer to @local_file.
void purple_file_transfer_set_local_file(PurpleFileTransfer *transfer, GFile *local_file);
@@ -250,7 +250,7 @@
* Returns: (transfer none): The base filename.
const char *purple_file_transfer_get_filename(PurpleFileTransfer *transfer);
@@ -263,7 +263,7 @@
* Returns: The size of the file in bytes or %0 if the size is unknown.
guint64 purple_file_transfer_get_file_size(PurpleFileTransfer *transfer);
@@ -276,7 +276,7 @@
* Returns: (nullable): The content type.
const char *purple_file_transfer_get_content_type(PurpleFileTransfer *transfer);
@@ -288,7 +288,7 @@
* Sets the content type of @transfer to @content_type.
void purple_file_transfer_set_content_type(PurpleFileTransfer *transfer, const char *content_type);
@@ -302,7 +302,7 @@
* Returns: The message sent with the transfer.
const char *purple_file_transfer_get_message(PurpleFileTransfer *transfer);
@@ -314,7 +314,7 @@
* Sets the message to send with @transfer to @message.
void purple_file_transfer_set_message(PurpleFileTransfer *transfer, const char *message);
--- a/libpurple/purplehistoryadapter.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplehistoryadapter.h Thu Feb 29 21:36:49 2024 -0600
@@ -41,7 +41,7 @@
* A #GError domain for errors.
#define PURPLE_HISTORY_ADAPTER_DOMAIN \
g_quark_from_static_string("purple-history-adapter") \
@@ -54,7 +54,7 @@
* history adapters. It defines the behavior of all history adapters
* and implements some shared properties.
#define PURPLE_TYPE_HISTORY_ADAPTER (purple_history_adapter_get_type())
@@ -69,7 +69,7 @@
* #PurpleHistoryAdapterClass defines the interface for interacting with
* history adapters like sqlite, and so on.
struct _PurpleHistoryAdapterClass {
@@ -96,7 +96,7 @@
* Returns: The identifier of @adapter.
const gchar *purple_history_adapter_get_id(PurpleHistoryAdapter *adapter);
@@ -109,7 +109,7 @@
* Returns: The name of @adapter.
const gchar *purple_history_adapter_get_name(PurpleHistoryAdapter *adapter);
@@ -125,7 +125,7 @@
* Returns: If the write was successful to the @adapter.
gboolean purple_history_adapter_write(PurpleHistoryAdapter *adapter,
@@ -143,7 +143,7 @@
* Returns: (element-type PurpleMessage) (transfer container): A list of messages that match @query.
GList *purple_history_adapter_query(PurpleHistoryAdapter *adapter,
@@ -160,7 +160,7 @@
* Returns: If removing the messages was successful.
gboolean purple_history_adapter_remove(PurpleHistoryAdapter *adapter,
--- a/libpurple/purplehistorymanager.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplehistorymanager.h Thu Feb 29 21:36:49 2024 -0600
@@ -40,7 +40,7 @@
* A #GError domain for errors from #PurpleHistoryManager.
#define PURPLE_HISTORY_MANAGER_DOMAIN \
g_quark_from_static_string("purple-history-manager") \
@@ -58,7 +58,7 @@
* #PurpleHistoryManager keeps track of all adapters and emits signals when
* adapters are registered and unregistered.
@@ -69,7 +69,7 @@
* A function to be used as a callback with
* purple_history_manager_foreach().
PURPLE_AVAILABLE_TYPE_IN_3_0
typedef void (*PurpleHistoryManagerForeachFunc)(PurpleHistoryAdapter *adapter, gpointer data);
@@ -85,7 +85,7 @@
* Returns: %TRUE if startup was successful, otherwise %FALSE with @error
gboolean purple_history_manager_startup(PurpleHistoryAdapter *adapter, GError **error);
@@ -95,7 +95,7 @@
* Shuts down the history manager by destroying the default instance.
void purple_history_manager_shutdown(void);
@@ -107,7 +107,7 @@
* Returns: (transfer none): The default #PurpleHistoryManager instance.
PurpleHistoryManager *purple_history_manager_get_default(void);
@@ -120,7 +120,7 @@
* Returns: (transfer none): The active @adapter
PurpleHistoryAdapter *purple_history_manager_get_active(PurpleHistoryManager *manager);
@@ -136,7 +136,7 @@
* Returns: %TRUE if setting the @adapter was successful with @manager
gboolean purple_history_manager_set_active(PurpleHistoryManager *manager, const gchar *id, GError **error);
@@ -152,7 +152,7 @@
* Returns: %TRUE if @adapter was successfully registered with @manager,
gboolean purple_history_manager_register(PurpleHistoryManager *manager, PurpleHistoryAdapter *adapter, GError **error);
@@ -168,7 +168,7 @@
* Returns: %TRUE if @adapter was successfully unregistered from @manager,
gboolean purple_history_manager_unregister(PurpleHistoryManager *manager, PurpleHistoryAdapter *adapter, GError **error);
@@ -182,7 +182,7 @@
* Returns: (transfer none): The #PurpleHistoryAdapter identified by @id or %NULL.
PurpleHistoryAdapter *purple_history_manager_find(PurpleHistoryManager *manager, const gchar *id);
@@ -197,7 +197,7 @@
* Returns: (transfer container) (element-type PurpleHistoryAdapter): The list
* containing all of the #PurpleHistoryAdapter's registered with @manager.
GList *purple_history_manager_get_all(PurpleHistoryManager *manager);
@@ -214,7 +214,7 @@
* containing all of the #PurpleMessage's that matched the query
GList *purple_history_manager_query(PurpleHistoryManager *manager, const gchar *query, GError **error);
@@ -230,7 +230,7 @@
* Returns: %TRUE if messages matching @query were successfully removed from
* the active adapter of @manager, %FALSE otherwise.
gboolean purple_history_manager_remove(PurpleHistoryManager *manager, const gchar *query, GError **error);
@@ -246,7 +246,7 @@
* Returns: %TRUE if @message was successfully written, %FALSE otherwise.
gboolean purple_history_manager_write(PurpleHistoryManager *manager, PurpleConversation *conversation, PurpleMessage *message, GError **error);
@@ -259,7 +259,7 @@
* Calls @func for each #PurpleHistoryAdapter that @manager knows about.
void purple_history_manager_foreach(PurpleHistoryManager *manager, PurpleHistoryManagerForeachFunc func, gpointer data);
--- a/libpurple/purpleimconversation.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purpleimconversation.h Thu Feb 29 21:36:49 2024 -0600
@@ -85,7 +85,7 @@
* Returns: The #GType for the IMConversation object.
GType purple_im_conversation_get_type(void);
@@ -100,7 +100,7 @@
* Returns: The new conversation.
PurpleConversation *purple_im_conversation_new(PurpleAccount *account, const gchar *name);
@@ -112,7 +112,7 @@
* Sets the IM's typing state.
void purple_im_conversation_set_typing_state(PurpleIMConversation *im, PurpleIMTypingState state);
@@ -125,7 +125,7 @@
* Returns: The IM's typing state.
PurpleIMTypingState purple_im_conversation_get_typing_state(PurpleIMConversation *im);
@@ -138,7 +138,7 @@
* Starts the IM's typing timeout.
void purple_im_conversation_start_typing_timeout(PurpleIMConversation *im, int timeout);
@@ -149,7 +149,7 @@
* Stops the IM's typing timeout.
void purple_im_conversation_stop_typing_timeout(PurpleIMConversation *im);
@@ -162,7 +162,7 @@
guint purple_im_conversation_get_typing_timeout(PurpleIMConversation *im);
@@ -179,7 +179,7 @@
* typing after this quiet-period, then another #PURPLE_IM_TYPING message
void purple_im_conversation_set_type_again(PurpleIMConversation *im, guint val);
@@ -193,7 +193,7 @@
* Returns: The time in seconds since the epoch. Or 0 if no additional
* PURPLE_IM_TYPING message should be sent.
time_t purple_im_conversation_get_type_again(PurpleIMConversation *im);
@@ -204,7 +204,7 @@
* Starts the IM's type again timeout.
void purple_im_conversation_start_send_typed_timeout(PurpleIMConversation *im);
@@ -215,7 +215,7 @@
* Stops the IM's type again timeout.
void purple_im_conversation_stop_send_typed_timeout(PurpleIMConversation *im);
@@ -228,7 +228,7 @@
* Returns: The type again timeout interval.
guint purple_im_conversation_get_send_typed_timeout(PurpleIMConversation *im);
@@ -239,7 +239,7 @@
* Updates the visual typing notification for an IM conversation.
void purple_im_conversation_update_typing(PurpleIMConversation *im);
--- a/libpurple/purplemarkup.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplemarkup.h Thu Feb 29 21:36:49 2024 -0600
@@ -41,7 +41,7 @@
* Converts HTML markup to XHTML.
void purple_markup_html_to_xhtml(const char *html, char **dest_xhtml,
@@ -56,7 +56,7 @@
* Returns: The new string without HTML. You must g_free this string
char *purple_markup_strip_html(const char *str);
@@ -71,7 +71,7 @@
* HTML <a href="whatever"></a> tags. You must g_free()
* this string when finished with it.
char *purple_markup_linkify(const char *str);
@@ -95,7 +95,7 @@
* Returns: The text with HTML entities literalized. You must g_free
* this string when finished with it.
char *purple_unescape_text(const char *text);
@@ -112,7 +112,7 @@
* Returns: The text with HTML entities literalized. You must g_free
* this string when finished with it.
char *purple_unescape_html(const char *html);
@@ -138,7 +138,7 @@
* Returns: The HTML slice of string, with all formatting retained.
char *purple_markup_slice(const char *str, guint x, guint y);
@@ -154,7 +154,7 @@
* Returns: A string containing the name of the tag.
char *purple_markup_get_tag_name(const char *tag);
@@ -176,7 +176,7 @@
* Returns: A constant string containing the character representation of the given entity.
const char * purple_markup_unescape_entity(const char *text, int *length);
--- a/libpurple/purplemenu.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplemenu.h Thu Feb 29 21:36:49 2024 -0600
@@ -47,7 +47,7 @@
* model that was passed to [func@Purple.menu_walk] for its immediate
PURPLE_AVAILABLE_TYPE_IN_3_0
typedef void (*PurpleMenuWalkFunc)(GMenuModel *model, gint index, gpointer data);
@@ -60,7 +60,7 @@
* Recursively calls @func for each item in @model and all of its children.
void purple_menu_walk(GMenuModel *model, PurpleMenuWalkFunc func, gpointer data);
@@ -84,7 +84,7 @@
* call purple_menu_populate_dynamic_targets() with a property pair of
* "account" and [method@Purple.ContactInfo.get_id].
void purple_menu_populate_dynamic_targets(GMenu *menu, const gchar *first_property, ...) G_GNUC_NULL_TERMINATED;
@@ -106,7 +106,7 @@
* [func@Purple.menu_populate_dynamic_targetsv] with a hash table containing
* the key `"account"` and value from [method@Purple.ContactInfo.get_id].
void purple_menu_populate_dynamic_targetsv(GMenu *menu, GHashTable *properties);
@@ -120,7 +120,7 @@
* Returns: (transfer full): The new menu.
GMenu *purple_menu_copy(GMenuModel *model);
--- a/libpurple/purplemessage.c Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplemessage.c Thu Feb 29 21:36:49 2024 -0600
@@ -239,7 +239,7 @@
* The protocol-specific identifier of the message.
properties[PROP_ID] = g_param_spec_string(
@@ -252,7 +252,7 @@
* The author of the message.
properties[PROP_AUTHOR] = g_param_spec_string(
@@ -265,7 +265,7 @@
* The hex color for the author's name.
properties[PROP_AUTHOR_NAME_COLOR] = g_param_spec_string(
"author-name-color", "author-name-color",
@@ -278,7 +278,7 @@
* The alias of the author.
properties[PROP_AUTHOR_ALIAS] = g_param_spec_string(
"author-alias", "Author's alias",
@@ -291,7 +291,7 @@
* The recipient of the message.
properties[PROP_RECIPIENT] = g_param_spec_string(
"recipient", "Recipient",
@@ -304,7 +304,7 @@
* The contents of the message.
properties[PROP_CONTENTS] = g_param_spec_string(
@@ -322,7 +322,7 @@
* interface hint that this message is different than a normal text
properties[PROP_ACTION] = g_param_spec_boolean(
@@ -335,7 +335,7 @@
* The timestamp of the message.
properties[PROP_TIMESTAMP] = g_param_spec_boxed(
"timestamp", "timestamp",
@@ -348,7 +348,7 @@
* The #PurpleMessageFlags for the message.
properties[PROP_FLAGS] = g_param_spec_flags(
@@ -362,7 +362,7 @@
* An error that this message encountered. This could be something like a
* failed delivery, or failed redaction, or rate limited, etc.
properties[PROP_ERROR] = g_param_spec_boxed(
@@ -377,7 +377,7 @@
* possibly client dependent as well. So if this is %FALSE that doesn't
* necessarily mean the message was not delivered.
properties[PROP_DELIVERED] = g_param_spec_boolean(
"delivered", "delivered",
@@ -392,7 +392,7 @@
* possibly client dependent as well. So if this is %NULL that doesn't
* necessarily mean the message was not delivered.
properties[PROP_DELIVERED_AT] = g_param_spec_boxed(
"delivered-at", "delivered-at",
@@ -407,7 +407,7 @@
* This should typically only be set by a protocol plugin.
properties[PROP_EDITED] = g_param_spec_boolean(
@@ -422,7 +422,7 @@
* and possibly client dependent as well. So if this is %NULL that doesn't
* necessarily mean the message was not edited.
properties[PROP_EDITED_AT] = g_param_spec_boxed(
"edited-at", "edited-at",
--- a/libpurple/purplemessage.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplemessage.h Thu Feb 29 21:36:49 2024 -0600
@@ -53,11 +53,11 @@
* @PURPLE_MESSAGE_RAW: "Raw" message - don't apply formatting.
* @PURPLE_MESSAGE_NOTIFY: Message is a notification.
* @PURPLE_MESSAGE_NO_LINKIFY: Message should not be auto-linkified.
* @PURPLE_MESSAGE_INVISIBLE: Message should not be displayed.
* @PURPLE_MESSAGE_FORWARDED: The message has been forward to the recipient.
* Flags applicable to a message. Most will have send, recv or system.
@@ -84,7 +84,7 @@
* #PurpleMessage represents any message passed between users in libpurple.
G_DECLARE_FINAL_TYPE(PurpleMessage, purple_message, PURPLE, MESSAGE, GObject)
@@ -103,7 +103,7 @@
* Returns: (transfer full): The new #PurpleMessage instance.
PurpleMessage *purple_message_new_outgoing(const char *author, const char *recipient, const char *contents, PurpleMessageFlags flags);
@@ -121,7 +121,7 @@
* Returns: the new #PurpleMessage.
PurpleMessage *purple_message_new_incoming(const char *who, const char *contents, PurpleMessageFlags flags, guint64 timestamp);
@@ -137,7 +137,7 @@
* Returns: the new #PurpleMessage.
PurpleMessage *purple_message_new_system(const char *contents, PurpleMessageFlags flags);
@@ -151,7 +151,7 @@
* Returns: the global identifier of @message.
const char *purple_message_get_id(PurpleMessage *message);
@@ -166,7 +166,7 @@
* > Note: This should really only be used by protocol plugins to update an id
* of a sent message when the server has assigned the final id to the message.
void purple_message_set_id(PurpleMessage *message, const char *id);
@@ -179,7 +179,7 @@
* Returns: the author of @message.
const char *purple_message_get_author(PurpleMessage *message);
@@ -194,7 +194,7 @@
* interface might not use this exact color, as it might need to adapt for
* contrast or limits on the number of colors.
void purple_message_set_author_name_color(PurpleMessage *message, const char *color);
@@ -207,7 +207,7 @@
* Returns: (transfer none): The hex color for the author of @message's name.
const char *purple_message_get_author_name_color(PurpleMessage *message);
@@ -219,7 +219,7 @@
* Sets the recipient of @message to @recipient.
void purple_message_set_recipient(PurpleMessage *message, const char *recipient);
@@ -232,7 +232,7 @@
* Returns: the recipient of @message.
const char *purple_message_get_recipient(PurpleMessage *message);
@@ -244,7 +244,7 @@
* Sets the alias of @message's author. You don't normally need to call this.
void purple_message_set_author_alias(PurpleMessage *message, const char *alias);
@@ -257,7 +257,7 @@
* Returns: the @message author's alias.
const char *purple_message_get_author_alias(PurpleMessage *message);
@@ -269,7 +269,7 @@
* Sets the contents of the @message. It might be HTML.
void purple_message_set_contents(PurpleMessage *message, const char *cont);
@@ -282,7 +282,7 @@
* Returns: the contents of @message.
const char *purple_message_get_contents(PurpleMessage *message);
@@ -295,7 +295,7 @@
* Returns: %TRUE, if @message is empty.
gboolean purple_message_is_empty(PurpleMessage *message);
@@ -307,7 +307,7 @@
* Sets the timestamp of @message.
void purple_message_set_timestamp(PurpleMessage *message, GDateTime *timestamp);
@@ -321,7 +321,7 @@
* Returns: (transfer none): The #GDateTime timestamp from @message.
GDateTime *purple_message_get_timestamp(PurpleMessage *message);
@@ -335,7 +335,7 @@
* Returns: The formatted timestamp.
char *purple_message_format_timestamp(PurpleMessage *message, const char *format);
@@ -348,7 +348,7 @@
* Sets flags for @message. It shouldn't be in a conflict with a message type,
void purple_message_set_flags(PurpleMessage *message, PurpleMessageFlags flags);
@@ -361,7 +361,7 @@
* Returns: the flags of a @message.
PurpleMessageFlags purple_message_get_flags(PurpleMessage *message);
@@ -374,7 +374,7 @@
* Sets the error of @message to @error. Primarily this will be used for
void purple_message_set_error(PurpleMessage *message, GError *error);
@@ -387,7 +387,7 @@
* Returns: (nullable) (transfer none): The error from @message or %NULL.
GError *purple_message_get_error(PurpleMessage *message);
@@ -401,7 +401,7 @@
* Returns %TRUE if an attachment with the same ID did not already exist.
gboolean purple_message_add_attachment(PurpleMessage *message, PurpleAttachment *attachment);
@@ -416,7 +416,7 @@
* Returns: %TRUE if the #PurpleAttachment was found and removed, %FALSE
gboolean purple_message_remove_attachment(PurpleMessage *message, guint64 id);
@@ -431,7 +431,7 @@
* Returns: (transfer full): The #PurpleAttachment if it was found, otherwise
PurpleAttachment *purple_message_get_attachment(PurpleMessage *message, guint64 id);
@@ -444,7 +444,7 @@
* Calls @func for each #PurpleAttachment that's attached to @message.
void purple_message_foreach_attachment(PurpleMessage *message, PurpleAttachmentForeachFunc func, gpointer data);
@@ -455,7 +455,7 @@
* Removes all attachments from @message.
void purple_message_clear_attachments(PurpleMessage *message);
@@ -470,7 +470,7 @@
* Returns: %TRUE if @message is an action, otherwise %FALSE.
gboolean purple_message_get_action(PurpleMessage *message);
@@ -484,7 +484,7 @@
* See also [property@Message:action] for more information.
void purple_message_set_action(PurpleMessage *message, gboolean action);
@@ -504,7 +504,7 @@
* Returns: %TRUE if @message has been delivered and the protocol supports
* delivery notifications, otherwise %FALSE.
gboolean purple_message_get_delivered(PurpleMessage *message);
@@ -520,7 +520,7 @@
* @delivered is %TRUE it will be set to the current time, otherwise it will be
void purple_message_set_delivered(PurpleMessage *message, gboolean delivered);
@@ -534,7 +534,7 @@
* Returns: (transfer none) (nullable): The delivery time of @message.
GDateTime *purple_message_get_delivered_at(PurpleMessage *message);
@@ -549,7 +549,7 @@
* > Note: Setting this will also set [property@Message:delivered]. If
* @datetime is %NULL it will be set to %FALSE, otherwise %TRUE.
void purple_message_set_delivered_at(PurpleMessage *message, GDateTime *datetime);
@@ -562,7 +562,7 @@
* Returns: %TRUE if edited, otherwise %FALSE.
gboolean purple_message_get_edited(PurpleMessage *message);
@@ -578,7 +578,7 @@
* @edited is %TRUE it will be set to the current time, otherwise it will be
void purple_message_set_edited(PurpleMessage *message, gboolean edited);
@@ -592,7 +592,7 @@
* Returns: (transfer none) (nullable): The last edit time of @message.
GDateTime *purple_message_get_edited_at(PurpleMessage *message);
@@ -607,7 +607,7 @@
* > Note: Setting this will also set [property@Message:edited]. If
* @datetime is %NULL it will be set to %FALSE, otherwise %TRUE.
void purple_message_set_edited_at(PurpleMessage *message, GDateTime *datetime);
--- a/libpurple/purplenotification.c Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplenotification.c Thu Feb 29 21:36:49 2024 -0600
@@ -276,7 +276,7 @@
* Emitted when the notification is deleted. This is typically done by a
* user interface calling [method@PurpleNotification.delete].
signals[SIG_DELETED] = g_signal_new_class_handler(
@@ -295,7 +295,7 @@
* The ID of the notification. Used for things that need to address it.
* This is auto populated at creation time.
properties[PROP_ID] = g_param_spec_string(
@@ -309,7 +309,7 @@
* The [enum@NotificationType] of this notification.
properties[PROP_TYPE] = g_param_spec_enum(
@@ -323,7 +323,7 @@
* An optional [class@Account] that this notification is for.
properties[PROP_ACCOUNT] = g_param_spec_object(
@@ -337,7 +337,7 @@
* The creation time of this notification. This always represented as UTC
* internally, and will be set to UTC now by default.
properties[PROP_CREATED_TIMESTAMP] = g_param_spec_boxed(
"created-timestamp", "created-timestamp",
@@ -352,7 +352,7 @@
* choose to use this when displaying the notification. Regardless, this
* should be a translated string.
properties[PROP_TITLE] = g_param_spec_string(
@@ -367,7 +367,7 @@
* interface may or may not choose to use this when display the
properties[PROP_ICON_NAME] = g_param_spec_string(
"icon-name", "icon-name",
@@ -380,7 +380,7 @@
* Whether or not the notification has been read.
properties[PROP_READ] = g_param_spec_boolean(
@@ -393,7 +393,7 @@
* Whether or not the notification can be interacted with.
properties[PROP_INTERACTIVE] = g_param_spec_boolean(
"interactive", "interactive",
@@ -406,7 +406,7 @@
* Data specific to the [enum@NotificationType] for the notification.
properties[PROP_DATA] = g_param_spec_pointer(
@@ -418,7 +418,7 @@
* A function to call to free [property@PurpleNotification:data].
properties[PROP_DATA_DESTROY_FUNC] = g_param_spec_pointer(
"data-destroy-func", "data-destroy-func",
--- a/libpurple/purplenotification.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplenotification.h Thu Feb 29 21:36:49 2024 -0600
@@ -40,7 +40,7 @@
* PurpleNotificationType:
PURPLE_AVAILABLE_TYPE_IN_3_0
@@ -60,7 +60,7 @@
* An object that represents a notification.
#define PURPLE_TYPE_NOTIFICATION (purple_notification_get_type())
@@ -84,7 +84,7 @@
* Returns: (transfer full): The new notification.
PurpleNotification *purple_notification_new(PurpleNotificationType type, PurpleAccount *account, gpointer data, GDestroyNotify data_destroy_func);
@@ -99,7 +99,7 @@
* Returns: (transfer full): The new notification.
PurpleNotification *purple_notification_new_from_add_contact_request(PurpleAddContactRequest *request);
@@ -115,7 +115,7 @@
* Returns: (transfer full): The new notification.
PurpleNotification *purple_notification_new_from_authorization_request(PurpleAuthorizationRequest *authorization_request);
@@ -131,7 +131,7 @@
* Returns: (transfer full): The new notification.
PurpleNotification *purple_notification_new_from_connection_error(PurpleAccount *account, PurpleConnectionErrorInfo *info);
@@ -144,7 +144,7 @@
* Returns: The identifier of @notification.
const gchar *purple_notification_get_id(PurpleNotification *notification);
@@ -157,7 +157,7 @@
* Returns: The type of @notification.
PurpleNotificationType purple_notification_get_notification_type(PurpleNotification *notification);
@@ -170,7 +170,7 @@
* Returns: (transfer none): The account of @notification.
PurpleAccount *purple_notification_get_account(PurpleNotification *notification);
@@ -183,7 +183,7 @@
* Returns: (transfer none): The creation time of @notification.
GDateTime *purple_notification_get_created_timestamp(PurpleNotification *notification);
@@ -200,7 +200,7 @@
* If @timestamp is %NULL, the current time will be used.
void purple_notification_set_created_timestamp(PurpleNotification *notification, GDateTime *timestamp);
@@ -213,7 +213,7 @@
* Returns: The title of @notification.
const gchar *purple_notification_get_title(PurpleNotification *notification);
@@ -225,7 +225,7 @@
* Sets the title of @notification to @title.
void purple_notification_set_title(PurpleNotification *notification, const gchar *title);
@@ -238,7 +238,7 @@
* Returns: The named icon for @notification.
const gchar *purple_notification_get_icon_name(PurpleNotification *notification);
@@ -250,7 +250,7 @@
* Sets the named icon for @notification to @icon_name.
void purple_notification_set_icon_name(PurpleNotification *notification, const gchar *icon_name);
@@ -263,7 +263,7 @@
* Returns: %TRUE if @notification has been read, %FALSE otherwise.
gboolean purple_notification_get_read(PurpleNotification *notification);
@@ -275,7 +275,7 @@
* Sets @notification's read state to @read.
void purple_notification_set_read(PurpleNotification *notification, gboolean read);
@@ -288,7 +288,7 @@
* Returns: %TRUE if @notification can be interacted with, %FALSE otherwise.
gboolean purple_notification_get_interactive(PurpleNotification *notification);
@@ -300,7 +300,7 @@
* Sets @notification's interactive state to @interactive.
void purple_notification_set_interactive(PurpleNotification *notification, gboolean interactive);
@@ -313,7 +313,7 @@
* Returns: (transfer none): The data for @notification.
gpointer purple_notification_get_data(PurpleNotification *notification);
@@ -329,7 +329,7 @@
* Returns: -1 if @a's created timestamp occurred before @b, 0 if they were
* created at the same time, or 1 if @b was created before @a.
gint purple_notification_compare(gconstpointer a, gconstpointer b);
@@ -344,7 +344,7 @@
* If this is called more than once for @notification, the signal will not be
void purple_notification_delete(PurpleNotification *notification);
--- a/libpurple/purplenotificationmanager.h Thu Feb 29 21:35:42 2024 -0600
+++ b/libpurple/purplenotificationmanager.h Thu Feb 29 21:36:49 2024 -0600
@@ -48,7 +48,7 @@
* Purple Notification Manager manages all notifications between protocols and
* plugins and how the user interface interacts with them.
@@ -58,7 +58,7 @@
* Returns: (transfer none): The default instance.
PurpleNotificationManager *purple_notification_manager_get_default(void);
@@ -70,7 +70,7 @@
* Returns: (transfer none): The model.
GListModel *purple_notification_manager_get_default_as_model(void);
@@ -82,7 +82,7 @@
* Adds @notification into @manager.
void purple_notification_manager_add(PurpleNotificationManager *manager, PurpleNotification *notification);
@@ -94,7 +94,7 @@
* Removes @notification from @manager.
void purple_notification_manager_remove(PurpleNotificationManager *manager, PurpleNotification *notification);
@@ -112,7 +112,7 @@
* treated differently from other notifications tied to accounts, as those are
* transient and depend on the account being connected to be valid.
void purple_notification_manager_remove_with_account(PurpleNotificationManager *manager, PurpleAccount *account, gboolean all);
@@ -125,7 +125,7 @@
* Returns: The number of unread notifications.
guint purple_notification_manager_get_unread_count(PurpleNotificationManager *manager);
@@ -136,7 +136,7 @@
* Removes all notifications from @manager.
void purple_notification_manager_clear(PurpleNotificationManager *manager);