Tue, 24 Oct 2023 02:02:49 -0500
Add Since and symbol visibility to new-in-3.0 things
Mostly found through comparing ABI on `release-2.x.y` and `default`.
Note this only covers things that show up in the ABI, so macros, typedefs and the like won't be tagged.
Testing Done:
Compiled only.
Bugs closed: PIDGIN-17838
Reviewed at https://reviews.imfreedom.org/r/2688/
--- a/libpurple/accounts.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/accounts.h Tue Oct 24 02:02:49 2023 -0500 @@ -27,6 +27,7 @@ #define PURPLE_ACCOUNTS_H #include "purpleaccount.h" +#include "purpleversion.h" #include "status.h" G_BEGIN_DECLS @@ -91,7 +92,10 @@ * purple_accounts_schedule_save: * * Schedules saving of accounts + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_accounts_schedule_save(void); G_END_DECLS
--- a/libpurple/action.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/action.h Tue Oct 24 02:02:49 2023 -0500 @@ -29,9 +29,14 @@ #include <glib.h> #include <glib-object.h> +#include "purpleversion.h" + #define PURPLE_TYPE_PROTOCOL_ACTION (purple_protocol_action_get_type()) + +PURPLE_AVAILABLE_TYPE_IN_3_0 typedef struct _PurpleProtocolAction PurpleProtocolAction; +PURPLE_AVAILABLE_TYPE_IN_3_0 typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action); /** @@ -41,6 +46,7 @@ * place this is used is by protocols to tell the core the list of available * right-click actions for a buddy list row. */ +PURPLE_AVAILABLE_TYPE_IN_3_0 typedef struct _PurpleActionMenu PurpleActionMenu; #include "connection.h" @@ -80,7 +86,10 @@ * Creates a new PurpleActionMenu. * * Returns: (transfer full): The PurpleActionMenu. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleActionMenu *purple_action_menu_new(const gchar *label, GCallback callback, gpointer data, GList *children); /** @@ -88,7 +97,10 @@ * @act: The PurpleActionMenu to free. * * Frees a PurpleActionMenu + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_action_menu_free(PurpleActionMenu *act); /** @@ -98,7 +110,10 @@ * Returns the label of the PurpleActionMenu. * * Returns: The label string. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_action_menu_get_label(const PurpleActionMenu *act); /** @@ -108,7 +123,10 @@ * Returns the callback of the PurpleActionMenu. * * Returns: (transfer none): The callback function. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GCallback purple_action_menu_get_callback(const PurpleActionMenu *act); /** @@ -118,7 +136,10 @@ * Returns the data stored in the PurpleActionMenu. * * Returns: The data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gpointer purple_action_menu_get_data(const PurpleActionMenu *act); /** @@ -128,7 +149,10 @@ * Returns the children of the PurpleActionMenu. * * Returns: (element-type PurpleActionMenu) (transfer none): The menu children. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList* purple_action_menu_get_children(const PurpleActionMenu *act); /** @@ -137,7 +161,10 @@ * @label: The label for the menu action. * * Set the label to the PurpleActionMenu. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label); /** @@ -146,7 +173,10 @@ * @callback: (scope notified): The callback. * * Set the callback that will be used by the PurpleActionMenu. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_action_menu_set_callback(PurpleActionMenu *act, GCallback callback); /** @@ -155,7 +185,10 @@ * @data: The data used by this PurpleActionMenu * * Set the label to the PurpleActionMenu. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_action_menu_set_data(PurpleActionMenu *act, gpointer data); /** @@ -164,7 +197,10 @@ * @children: (element-type PurpleActionMenu) (transfer full): The menu children * * Set the children of the PurpleActionMenu. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_action_menu_set_children(PurpleActionMenu *act, GList *children); /****************************************************************************** @@ -175,7 +211,10 @@ * purple_protocol_action_get_type: * * Returns: The #GType for the #PurpleProtocolAction boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_protocol_action_get_type(void); /** @@ -188,7 +227,10 @@ * a list in the get_actions function of the protocol. * * Returns: (transfer full): The new #PurpleProtocolAction. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleProtocolAction *purple_protocol_action_new(const gchar *label, PurpleProtocolActionCallback callback); /** @@ -198,7 +240,10 @@ * Creates a newly allocated copy of @action. * * Returns: (transfer full): A copy of @action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleProtocolAction *purple_protocol_action_copy(PurpleProtocolAction *action); /** @@ -206,7 +251,10 @@ * @action: The PurpleProtocolAction to free. * * Frees a PurpleProtocolAction + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_action_free(PurpleProtocolAction *action);
--- a/libpurple/blistnode.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/blistnode.h Tue Oct 24 02:02:49 2023 -0500 @@ -155,7 +155,10 @@ * Returns a node's settings * * Returns: (transfer none): The hash table with the node's settings. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GHashTable *purple_blist_node_get_settings(PurpleBlistNode *node); /** @@ -166,7 +169,10 @@ * Checks whether a named setting exists for a node in the buddy list * * Returns: TRUE if a value exists, or FALSE if there is no setting + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_blist_node_has_setting(PurpleBlistNode *node, const char *key); /**
--- a/libpurple/buddy.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/buddy.h Tue Oct 24 02:02:49 2023 -0500 @@ -100,7 +100,10 @@ * purple_buddy_get_type: * * Returns: The #GType for the #PurpleBuddy object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_buddy_get_type(void); /** @@ -174,7 +177,10 @@ * @name: The name. * * Sets a buddy's name + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_buddy_set_name(PurpleBuddy *buddy, const char *name); /** @@ -242,7 +248,10 @@ * Updates a buddy's status. * * This should only be called from within Purple. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_buddy_update_status(PurpleBuddy *buddy, PurpleStatus *old_status); /** @@ -281,7 +290,10 @@ * @alias: The server alias to be set. * * Sets the server alias for a buddy. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_buddy_set_server_alias(PurpleBuddy *buddy, const char *alias); /** @@ -325,7 +337,10 @@ * @alias: The local alias for the buddy * * Sets the local alias for the buddy. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_buddy_set_local_alias(PurpleBuddy *buddy, const char *alias); /**
--- a/libpurple/buddyicon.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/buddyicon.h Tue Oct 24 02:02:49 2023 -0500 @@ -103,7 +103,10 @@ * purple_buddy_icon_get_type: * * Returns: The #GType for the #PurpleBuddyIcon boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_buddy_icon_get_type(void); /** @@ -493,7 +496,10 @@ * purple_buddy_icon_spec_get_type: * * Returns: The #GType for the #PurpleBuddyIconSpec boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_buddy_icon_spec_get_type(void); /** @@ -510,7 +516,10 @@ * Creates a new #PurpleBuddyIconSpec instance. * * Returns: A new buddy icon spec. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleBuddyIconSpec *purple_buddy_icon_spec_new(char *format, int min_width, int min_height, int max_width, int max_height, size_t max_filesize, PurpleBuddyIconScaleFlags scale_rules); @@ -535,7 +544,10 @@ * constrained by the spec. * * Gets display size for a buddy icon + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_buddy_icon_spec_get_scaled_size(PurpleBuddyIconSpec *spec, int *width, int *height);
--- a/libpurple/buddylist.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/buddylist.h Tue Oct 24 02:02:49 2023 -0500 @@ -55,7 +55,10 @@ * Please note, prpls shouldn't save default group name depending on current * locale. So, this function is mostly for libpurple2 compatibility. And for * improperly written prpls. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar * _purple_blist_get_localized_default_group_name(void); @@ -169,7 +172,10 @@ * purple_buddy_list_get_type: * * Returns: The #GType for the #PurpleBuddyList object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurpleBuddyList, purple_buddy_list, PURPLE, BUDDY_LIST, GObject) @@ -244,7 +250,10 @@ * Updates the buddies hash table when a buddy has been renamed. This only * updates the cache, the caller is responsible for the actual renaming of * the buddy after updating the cache. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_blist_update_buddies_cache(PurpleBuddy *buddy, const char *new_name); /** @@ -255,7 +264,10 @@ * Updates the groups hash table when a group has been renamed. This only * updates the cache, the caller is responsible for the actual renaming of * the group after updating the cache. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_blist_update_groups_cache(PurpleGroup *group, const char *new_name); /** @@ -361,7 +373,10 @@ * Finds the buddy struct given a name and an account * * Returns: (transfer none): The buddy or %NULL if the buddy does not exist. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleBuddy *purple_blist_find_buddy(PurpleAccount *account, const char *name); /** @@ -374,7 +389,10 @@ * * Returns: (transfer none): The buddy or %NULL if the buddy does not exist in * the group. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleBuddy *purple_blist_find_buddy_in_group(PurpleAccount *account, const char *name, PurpleGroup *group); @@ -387,7 +405,10 @@ * * Returns: (element-type PurpleBuddy) (transfer container): %NULL if the buddy * doesn't exist, or a GSList of PurpleBuddy structs. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GSList *purple_blist_find_buddies(PurpleAccount *account, const char *name); /** @@ -397,7 +418,10 @@ * Finds a group by name * * Returns: (transfer none): The group or %NULL if the group does not exist. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleGroup *purple_blist_find_group(const char *name); /** @@ -406,7 +430,10 @@ * Finds or creates default group. * * Returns: (transfer none): The default group. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleGroup *purple_blist_get_default_group(void); /** @@ -613,7 +640,10 @@ * Loads the buddy list. * * You shouldn't call this. purple_core_init() will do it for you. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_blist_boot(void); /**
--- a/libpurple/chat.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/chat.h Tue Oct 24 02:02:49 2023 -0500 @@ -39,6 +39,7 @@ #include "blistnode.h" #include "group.h" #include "purpleaccount.h" +#include "purpleversion.h" /** * PurpleChat: @@ -65,7 +66,10 @@ * purple_chat_get_type: * * Returns: The #GType for the #PurpleChat object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_chat_get_type(void); /** @@ -99,7 +103,10 @@ * Returns the name of the chat * * Returns: The first component value. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_chat_get_name_only(PurpleChat *chat); /** @@ -108,7 +115,10 @@ * @alias: The alias * * Sets the alias for a blist chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_set_alias(PurpleChat *chat, const char *alias); /**
--- a/libpurple/circularbuffer.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/circularbuffer.h Tue Oct 24 02:02:49 2023 -0500 @@ -27,6 +27,8 @@ #include <glib.h> #include <glib-object.h> +#include "purpleversion.h" + G_BEGIN_DECLS #define PURPLE_TYPE_CIRCULAR_BUFFER (purple_circular_buffer_get_type()) @@ -58,7 +60,10 @@ * actual buffer until data is appended to it. * * Returns: The new PurpleCircularBuffer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleCircularBuffer *purple_circular_buffer_new(gsize growsize); /** @@ -69,7 +74,10 @@ * * Append data to the PurpleCircularBuffer. This will grow the internal * buffer to fit the added data, if needed. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_circular_buffer_append(PurpleCircularBuffer *buffer, gconstpointer src, gsize len); /** @@ -84,7 +92,10 @@ * more data is available to read. * * Returns: the number of bytes that can be read from the PurpleCircularBuffer + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gsize purple_circular_buffer_get_max_read(PurpleCircularBuffer *buffer); /** @@ -96,7 +107,10 @@ * * Returns: TRUE if we successfully marked the bytes as having been read, FALSE * otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_circular_buffer_mark_read(PurpleCircularBuffer *buffer, gsize len); /** @@ -106,7 +120,10 @@ * * Increases the buffer size by a multiple of grow size, so that it can hold at * least 'len' bytes. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_circular_buffer_grow(PurpleCircularBuffer *buffer, gsize len); /** @@ -117,7 +134,10 @@ * needed. * * Returns: The grow size of the buffer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gsize purple_circular_buffer_get_grow_size(PurpleCircularBuffer *buffer); /** @@ -127,7 +147,10 @@ * Returns the number of bytes of this buffer that contain unread data. * * Returns: The number of bytes that contain unread data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gsize purple_circular_buffer_get_used(PurpleCircularBuffer *buffer); /** @@ -140,7 +163,10 @@ * call purple_circular_buffer_mark_read() to mark the retrieved data as read. * * Returns: The output pointer for the buffer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_circular_buffer_get_output(PurpleCircularBuffer *buffer); /** @@ -148,7 +174,10 @@ * @buffer: The PurpleCircularBuffer to reset. * * Resets the buffer input and output pointers to the start of the buffer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_circular_buffer_reset(PurpleCircularBuffer *buffer); G_END_DECLS
--- a/libpurple/connection.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/connection.h Tue Oct 24 02:02:49 2023 -0500 @@ -34,6 +34,8 @@ G_BEGIN_DECLS #define PURPLE_TYPE_CONNECTION purple_connection_get_type() + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurpleConnection, purple_connection, PURPLE, CONNECTION, GObject) @@ -328,7 +330,10 @@ * Returns the protocol managing a connection. * * Returns: (transfer none): The protocol. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleProtocol *purple_connection_get_protocol(PurpleConnection *gc); /** @@ -523,7 +528,10 @@ * Checks if at least one account is online. * * Returns: %TRUE if at least one account is online. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_connections_is_online(void); /**************************************************************************/ @@ -534,7 +542,10 @@ * purple_connection_ui_ops_get_type: * * Returns: The #GType for the #PurpleConnectionUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_connection_ui_ops_get_type(void); /**
--- a/libpurple/contact.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/contact.h Tue Oct 24 02:02:49 2023 -0500 @@ -39,6 +39,7 @@ #include "countingnode.h" #include "group.h" #include "purpleaccount.h" +#include "purpleversion.h" /** * PurpleMetaContact: @@ -72,7 +73,10 @@ * purple_meta_contact_get_type: * * Returns: The #GType for the #PurpleMetaContact object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_meta_contact_get_type(void); /** @@ -81,7 +85,10 @@ * Creates a new contact * * Returns: A new contact struct + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleMetaContact *purple_meta_contact_new(void); /** @@ -91,7 +98,10 @@ * Gets the PurpleGroup from a PurpleMetaContact * * Returns: (transfer none): The group. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleGroup *purple_meta_contact_get_group(const PurpleMetaContact *contact); /** @@ -101,7 +111,10 @@ * Returns the highest priority buddy for a given contact. * * Returns: (transfer none): The highest priority buddy. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleBuddy *purple_meta_contact_get_priority_buddy(PurpleMetaContact *contact); /** @@ -110,7 +123,10 @@ * @alias: The alias * * Sets the alias for a contact. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_meta_contact_set_alias(PurpleMetaContact *contact, const char *alias); /** @@ -120,7 +136,10 @@ * Gets the alias for a contact. * * Returns: The alias, or NULL if it is not set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_meta_contact_get_alias(PurpleMetaContact *contact); /** @@ -131,7 +150,10 @@ * Determines whether an account owns any buddies in a given contact * * Returns: TRUE if there are any buddies from account in the contact, or FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_meta_contact_on_account(PurpleMetaContact *contact, PurpleAccount *account); /** @@ -140,7 +162,10 @@ * * Invalidates the priority buddy so that the next call to * purple_meta_contact_get_priority_buddy recomputes it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_meta_contact_invalidate_priority_buddy(PurpleMetaContact *contact); /** @@ -151,7 +176,10 @@ * Merges two contacts * * All of the buddies from source will be moved to target + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_meta_contact_merge(PurpleMetaContact *source, PurpleBlistNode *node);
--- a/libpurple/conversations.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/conversations.h Tue Oct 24 02:02:49 2023 -0500 @@ -27,6 +27,7 @@ #define PURPLE_CONVERSATIONS_H #include "purpleconversation.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -48,7 +49,10 @@ * Gets the default conversation UI operations structure. * * Returns: The UI conversation operations structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConversationUiOps *purple_conversations_get_ui_ops(void); /**
--- a/libpurple/countingnode.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/countingnode.h Tue Oct 24 02:02:49 2023 -0500 @@ -39,6 +39,7 @@ #define PURPLE_IS_COUNTING_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_COUNTING_NODE)) #define PURPLE_COUNTING_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_COUNTING_NODE, PurpleCountingNodeClass)) +PURPLE_AVAILABLE_TYPE_IN_3_0 typedef struct _PurpleCountingNode PurpleCountingNode; typedef struct _PurpleCountingNodeClass PurpleCountingNodeClass;
--- a/libpurple/eventloop.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/eventloop.h Tue Oct 24 02:02:49 2023 -0500 @@ -29,6 +29,8 @@ #include <glib.h> #include <glib-object.h> +#include "purpleversion.h" + /** * PurpleInputCondition: * @PURPLE_INPUT_READ: A read condition. @@ -93,7 +95,10 @@ * systems pipe() is used. * * Returns: 0 on success, -1 on error. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_input_pipe(int pipefd[2]);
--- a/libpurple/group.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/group.h Tue Oct 24 02:02:49 2023 -0500 @@ -41,6 +41,7 @@ #include "blistnode.h" #include "buddyicon.h" #include "purpleaccount.h" +#include "purpleversion.h" #include "status.h" /**************************************************************************/ @@ -79,7 +80,10 @@ * purple_group_get_type: * * Returns: The #GType for the #PurpleGroup object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_group_get_type(void); /** @@ -123,7 +127,10 @@ * @name: The name of the group. * * Sets the name of a group. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_group_set_name(PurpleGroup *group, const char *name); /**
--- a/libpurple/image-store.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/image-store.h Tue Oct 24 02:02:49 2023 -0500 @@ -39,6 +39,7 @@ */ #include "image.h" +#include "purpleversion.h" /** * PURPLE_IMAGE_STORE_PROTOCOL: @@ -62,7 +63,10 @@ * use #purple_image_store_add_weak. * * Returns: the unique identifier for the @image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_image_store_add(PurpleImage *image); @@ -76,7 +80,10 @@ * If the @image is already in the store, it will return its current id. * * Returns: the unique identifier for the @image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_image_store_add_weak(PurpleImage *image); @@ -93,7 +100,10 @@ * management, implement it on your own. * * Returns: the unique identifier for the @image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_image_store_add_temporary(PurpleImage *image); @@ -105,7 +115,10 @@ * * Returns: (transfer none): the image referenced by @id, or %NULL if it * doesn't exists. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage * purple_image_store_get(guint id); @@ -121,7 +134,10 @@ * * Returns: (transfer none): the image referenced by @uri, or %NULL if it * doesn't point to any valid image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage * purple_image_store_get_from_uri(const gchar *uri); @@ -134,7 +150,10 @@ * * Returns: (transfer full): the URI for the @image. Should be #g_free'd when * you done using it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gchar * purple_image_store_get_uri(PurpleImage *image); @@ -142,7 +161,10 @@ * _purple_image_store_init: (skip) * * Initializes the image store subsystem. + * + * Since: 3.0.0 */ +G_GNUC_INTERNAL void _purple_image_store_init(void); @@ -150,7 +172,10 @@ * _purple_image_store_uninit: (skip) * * Uninitializes the image store subsystem. + * + * Since: 3.0.0 */ +G_GNUC_INTERNAL void _purple_image_store_uninit(void);
--- a/libpurple/image.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/image.h Tue Oct 24 02:02:49 2023 -0500 @@ -28,6 +28,8 @@ #include <glib-object.h> +#include "purpleversion.h" + #define PURPLE_TYPE_IMAGE purple_image_get_type() struct _PurpleImageClass { @@ -52,8 +54,10 @@ * This class also provides certain file-related features, like: friendly * filenames (not necessarily real filename for displaying); remote images * (which data is not yet loaded) or guessing file format from its header. + * + * Since: 3.0.0 */ - +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurpleImage, purple_image, PURPLE, IMAGE, GObject) /** @@ -63,7 +67,10 @@ * Loads a raw image data as a new #PurpleImage object. * * Returns: the new #PurpleImage. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage *purple_image_new_from_bytes(GBytes *bytes); /** @@ -77,7 +84,10 @@ * you access its data. * * Returns: the new #PurpleImage. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage *purple_image_new_from_file(const gchar *path, GError **error); /** @@ -91,7 +101,10 @@ * to g_memdup2() it first. * * Returns: the new #PurpleImage. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage *purple_image_new_from_data(const guint8 *data, gsize length); /** @@ -105,7 +118,10 @@ * to g_memdup2() it first. * * Returns: the new #PurpleImage. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleImage *purple_image_new_take_data(guint8 *data, gsize length); /** @@ -116,7 +132,10 @@ * Saves an @image to the disk. * * Returns: %TRUE if succeeded, %FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_image_save(PurpleImage *image, const gchar *path); /** @@ -126,7 +145,10 @@ * Returns a new reference to the #GBytes that contains the image data. * * Returns: (transfer full): A #GBytes containing the image data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GBytes *purple_image_get_contents(PurpleImage *image); @@ -138,7 +160,10 @@ * really backed by an existing file. In the other case it returns %NULL. * * Returns: the physical path of the @image, or %NULL. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_image_get_path(PurpleImage *image); /** @@ -148,7 +173,10 @@ * Returns the size of @image's data. * * Returns: the size of data, or 0 in case of failure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gsize purple_image_get_data_size(PurpleImage *image); /** @@ -158,7 +186,10 @@ * Returns the pointer to the buffer containing image data. * * Returns: (transfer none): the @image data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gconstpointer purple_image_get_data(PurpleImage *image); /** @@ -168,7 +199,10 @@ * Guesses the @image format based on its contents. * * Returns: (transfer none): the file extension suitable for @image format. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_image_get_extension(PurpleImage *image); /** @@ -178,7 +212,10 @@ * Guesses the @image mime-type based on its contents. * * Returns: (transfer none): the mime-type suitable for @image format. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_image_get_mimetype(PurpleImage *image); /** @@ -190,7 +227,10 @@ * is SHA-1, because it may change in the future. * * Returns: (transfer none): the generated file name. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_image_generate_filename(PurpleImage *image); /** @@ -204,7 +244,10 @@ * * The provided @filename may either be a full path, or contain * filesystem-unfriendly characters, because it will be reformatted. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_image_set_friendly_filename(PurpleImage *image, const gchar *filename); /** @@ -219,7 +262,10 @@ * #purple_image_generate_filename. * * Returns: (transfer none): the friendly filename. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_image_get_friendly_filename(PurpleImage *image); G_END_DECLS
--- a/libpurple/media.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/media.h Tue Oct 24 02:02:49 2023 -0500 @@ -116,7 +116,10 @@ * Gets the protocol data from the media session. * * Returns: The protocol data retrieved. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gpointer purple_media_get_protocol_data(PurpleMedia *media); /** @@ -125,7 +128,10 @@ * @protocol_data: The data to set on the media session. * * Sets the protocol data on the media session. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_media_set_protocol_data(PurpleMedia *media, gpointer protocol_data); /**
--- a/libpurple/media/enum-types.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/media/enum-types.h Tue Oct 24 02:02:49 2023 -0500 @@ -28,6 +28,8 @@ #include <glib-object.h> +#include "purpleversion.h" + G_BEGIN_DECLS /** @@ -279,7 +281,10 @@ * Gets the type of the state enum * * Returns: The state enum's GType + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_media_state_get_type(void); G_END_DECLS
--- a/libpurple/notify.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/notify.h Tue Oct 24 02:02:49 2023 -0500 @@ -466,14 +466,20 @@ * purple_notify_search_button_get_type: * * Returns: The #GType for #PurpleNotifiySearchButton boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_notify_search_button_get_type(void); /** * purple_notify_user_info_get_type: * * Returns: The #GType for the #PurpleNotifyUserInfo boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_notify_user_info_get_type(void); /** @@ -538,7 +544,10 @@ * * Add a label/value pair to a #PurpleNotifyUserInfo object. * #PurpleNotifyUserInfo keeps track of the order in which pairs are added. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_notify_user_info_add_pair_html(PurpleNotifyUserInfo *user_info, const char *label, const char *value); /** @@ -575,7 +584,10 @@ * * Like purple_notify_user_info_add_pair_html(), but the pair is inserted * at the beginning of the list. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_notify_user_info_prepend_pair_html(PurpleNotifyUserInfo *user_info, const char *label, const char *value); /** @@ -734,7 +746,10 @@ * Get the type of a PurpleNotifyUserInfoEntry * * Returns: The PurpleNotifyUserInfoEntryType + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleNotifyUserInfoEntryType purple_notify_user_info_entry_get_entry_type( PurpleNotifyUserInfoEntry *user_info_entry); @@ -744,7 +759,10 @@ * @type: The PurpleNotifyUserInfoEntryType * * Set the type of a PurpleNotifyUserInfoEntry + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_notify_user_info_entry_set_entry_type( PurpleNotifyUserInfoEntry *user_info_entry, PurpleNotifyUserInfoEntryType type); @@ -770,7 +788,10 @@ * Checks, if passed UI handle is valid. * * Returns: TRUE, if handle is valid, FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_notify_is_valid_ui_handle(void *ui_handle, PurpleNotifyType *type); @@ -847,7 +868,10 @@ * purple_notify_ui_ops_get_type: * * Returns: The #GType for the #PurpleNotifyUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_notify_ui_ops_get_type(void); /**
--- a/libpurple/plugins.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/plugins.h Tue Oct 24 02:02:49 2023 -0500 @@ -47,6 +47,7 @@ typedef GPluginPluginInterface PurplePluginInterface; #include "purpleplugininfo.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -103,7 +104,10 @@ * is to avoid managing the reference counts everywhere in our codebase * where we use the plugin info. The plugin info instance is guaranteed to * exist as long as the plugin exists. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurplePluginInfo *purple_plugin_get_info(PurplePlugin *plugin); /** @@ -128,7 +132,10 @@ * plugins, loaders etc. * * Returns: %TRUE if the plugin is an internal plugin, %FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_plugin_is_internal(PurplePlugin *plugin); /** @@ -139,7 +146,10 @@ * * Returns: (element-type PurplePlugin) (transfer none): The list of a plugins that depend on the specified * plugin. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GSList *purple_plugin_get_dependent_plugins(PurplePlugin *plugin); /**************************************************************************/ @@ -154,7 +164,10 @@ * Returns: (element-type PurplePlugin) (transfer full): A list of all plugins. * The list is owned by the caller, and must be * g_list_free()d to avoid leaking the nodes. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList *purple_plugins_find_all(void); /** @@ -181,7 +194,10 @@ * that are to be auto-loaded. * * See purple_plugins_add_search_path(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_plugins_refresh(void); /** @@ -191,7 +207,10 @@ * Finds a plugin with the specified plugin ID. * * Returns: (transfer none): The plugin if found, or %NULL if not found. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurplePlugin *purple_plugins_find_plugin(const gchar *id); /** @@ -201,7 +220,10 @@ * Finds a plugin with the specified filename (filename with a path). * * Returns: (transfer none): The plugin if found, or %NULL if not found. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurplePlugin *purple_plugins_find_by_filename(const char *filename); /**
--- a/libpurple/prefs.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/prefs.h Tue Oct 24 02:02:49 2023 -0500 @@ -290,7 +290,10 @@ * Get pref type * * Returns: The type of the pref + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurplePrefType purple_prefs_get_pref_type(const char *name); /**
--- a/libpurple/protocols.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/protocols.h Tue Oct 24 02:02:49 2023 -0500 @@ -54,7 +54,10 @@ * Notifies Purple that a buddy's idle state and time have changed. * * This is meant to be called from protocols. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_got_user_idle(PurpleAccount *account, const char *name, gboolean idle, time_t idle_time); @@ -68,7 +71,10 @@ * Notifies Purple that a buddy's status has been activated. * * This is meant to be called from protocols. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_got_user_status(PurpleAccount *account, const char *name, const char *status_id, ...) G_GNUC_NULL_TERMINATED; @@ -99,7 +105,10 @@ * Notifies libpurple that a buddy's status has been deactivated * * This is meant to be called from protocols. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_got_user_status_deactive(PurpleAccount *account, const char *name, const char *status_id); @@ -112,7 +121,10 @@ * (in the case of independent statuses). * * Informs the server that our account's status changed. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_change_account_status(PurpleAccount *account, PurpleStatus *old_status, PurpleStatus *new_status); @@ -125,7 +137,10 @@ * Retrieves the list of stock status types from a protocol. * * Returns: (transfer full) (element-type PurpleStatus): List of statuses + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList *purple_protocol_get_statuses(PurpleAccount *account, PurplePresence *presence); @@ -137,7 +152,10 @@ * Determines if the contact supports the given media session type. * * Returns: The media caps the contact supports. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleMediaCaps purple_protocol_get_media_caps(PurpleAccount *account, const char *who); @@ -151,7 +169,10 @@ * * Returns: TRUE if the call succeeded else FALSE. (Doesn't imply the media * session or stream will be successfully created) + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_protocol_initiate_media(PurpleAccount *account, const char *who, PurpleMediaSessionType type); @@ -164,7 +185,10 @@ * Signals that the protocol received capabilities for the given contact. * * This function is intended to be used only by protocols. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_got_media_caps(PurpleAccount *account, const char *who); G_END_DECLS
--- a/libpurple/proxy.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/proxy.h Tue Oct 24 02:02:49 2023 -0500 @@ -32,6 +32,7 @@ #include "eventloop.h" #include "purpleaccount.h" #include "purpleproxyinfo.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -97,7 +98,10 @@ * Returns: (transfer full): NULL if there was an error with the * account's (or system) proxy settings, or a reference to * a #GProxyResolver on success. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GProxyResolver *purple_proxy_get_proxy_resolver(PurpleAccount *account, GError **error);
--- a/libpurple/purpleaccount.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleaccount.h Tue Oct 24 02:02:49 2023 -0500 @@ -53,7 +53,7 @@ * account. User interfaces typically allow users to create these in a dialog * or wizard. */ - +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleAccount, purple_account, PURPLE, ACCOUNT, PurpleContactInfo) @@ -617,7 +617,10 @@ * of the current error, or %NULL if there is no current error. This * pointer is guaranteed to remain valid until the @ref * account-error-changed signal is emitted for @account. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const PurpleConnectionErrorInfo *purple_account_get_error(PurpleAccount *account); /**
--- a/libpurple/purpleaccountoption.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleaccountoption.h Tue Oct 24 02:02:49 2023 -0500 @@ -175,7 +175,10 @@ * Sets the masking for an account option. Setting this to %TRUE acts * as a hint to the UI that the option's value should be obscured from * view, like a password. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_account_option_string_set_masked(PurpleAccountOption *option, gboolean masked); /** @@ -187,7 +190,10 @@ * * The list passed will be owned by the account option, and the * strings inside will be freed automatically. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_account_option_string_set_hints(PurpleAccountOption *option, GSList *hints); /** @@ -223,7 +229,10 @@ * Returns the specified account option's type. * * Returns: The account option's type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurplePrefType purple_account_option_get_pref_type(const PurpleAccountOption *option); /** @@ -297,7 +306,10 @@ * as a '*' (for example). * * Returns: %TRUE if the option's value should be obscured. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_account_option_string_get_masked(const PurpleAccountOption *option); /** @@ -307,7 +319,10 @@ * Returns the list of hints for an account option. * * Returns: (element-type utf8) (transfer none): A list of hints. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const GSList *purple_account_option_string_get_hints(const PurpleAccountOption *option); /**
--- a/libpurple/purpleaccountpresence.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleaccountpresence.h Tue Oct 24 02:02:49 2023 -0500 @@ -37,9 +37,13 @@ * * A #PurpleAccountPresence represent the #PurplePresence for a specific * #PurpleAccount. + * + * Since: 3.0.0 */ #define PURPLE_TYPE_ACCOUNT_PRESENCE (purple_account_presence_get_type()) + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleAccountPresence, purple_account_presence, PURPLE, ACCOUNT_PRESENCE, PurplePresence) @@ -63,7 +67,10 @@ * Returns an account presence's account. * * Returns: (transfer none): The presence's account. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleAccount *purple_account_presence_get_account(PurpleAccountPresence *presence); G_END_DECLS
--- a/libpurple/purpleaccountusersplit.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleaccountusersplit.h Tue Oct 24 02:02:49 2023 -0500 @@ -45,6 +45,7 @@ G_BEGIN_DECLS +PURPLE_AVAILABLE_IN_3_0 GType purple_account_user_split_get_type(void); /** @@ -139,7 +140,10 @@ * in configuration dialog. * * Returns: %TRUE, if the split is constant. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_account_user_split_is_constant(PurpleAccountUserSplit *split); /** @@ -148,7 +152,10 @@ * @constant: %TRUE, if the split is a constant part. * * Sets the constant parameter of account split. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_account_user_split_set_constant(PurpleAccountUserSplit *split, gboolean constant); G_END_DECLS
--- a/libpurple/purpleattachment.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleattachment.h Tue Oct 24 02:02:49 2023 -0500 @@ -38,8 +38,11 @@ * PurpleAttachment: * * #PurpleAttachment represents a file attached to a #PurpleMessage. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleAttachment, purple_attachment, PURPLE, ATTACHMENT, GObject) /**
--- a/libpurple/purplebuddypresence.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplebuddypresence.h Tue Oct 24 02:02:49 2023 -0500 @@ -37,9 +37,13 @@ * * A #PurpleBuddyPresence represent the #PurplePresence for a specific * #PurpleBuddy. + * + * Since: 3.0.0 */ #define PURPLE_TYPE_BUDDY_PRESENCE (purple_buddy_presence_get_type()) + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleBuddyPresence, purple_buddy_presence, PURPLE, BUDDY_PRESENCE, PurplePresence) @@ -63,7 +67,10 @@ * Returns the buddy presence's buddy. * * Returns: (transfer none): The presence's buddy. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleBuddy *purple_buddy_presence_get_buddy(PurpleBuddyPresence *presence); /** @@ -76,7 +83,10 @@ * Returns: -1 if @buddy_presence1 is more available than @buddy_presence2. * 0 if @buddy_presence1 is equal to @buddy_presence2. * 1 if @buddy_presence1 is less available than @buddy_presence2. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gint purple_buddy_presence_compare(PurpleBuddyPresence *buddy_presence1, PurpleBuddyPresence *buddy_presence2);
--- a/libpurple/purplechatconversation.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplechatconversation.h Tue Oct 24 02:02:49 2023 -0500 @@ -40,6 +40,7 @@ #include "purplechatuser.h" #include "purpleconversation.h" #include "purpleimconversation.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -68,7 +69,10 @@ * purple_chat_conversation_get_type: * * Returns: The #GType for the ChatConversation object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_chat_conversation_get_type(void); /** @@ -80,7 +84,10 @@ * Creates a new chat conversation. * * Returns: The new conversation. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConversation *purple_chat_conversation_new(PurpleAccount *account, const gchar *name); /** @@ -93,7 +100,10 @@ * Returns: (element-type PurpleChatUser) (transfer container): * The list of users. Use g_list_free() when done * using the list. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList *purple_chat_conversation_get_users(PurpleChatConversation *chat); /** @@ -103,7 +113,10 @@ * Returns count of users in the chat room. * * Returns: The count of users in the chat room. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_chat_conversation_get_users_count(PurpleChatConversation *chat); /** @@ -113,7 +126,10 @@ * @topic: The topic. * * Sets the chat room's topic. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_set_topic(PurpleChatConversation *chat, const gchar *who, const gchar *topic); /** @@ -123,7 +139,10 @@ * Returns the chat room's topic. * * Returns: The chat's topic. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_chat_conversation_get_topic(PurpleChatConversation *chat); /** @@ -133,7 +152,10 @@ * Returns who set the chat room's topic. * * Returns: Who set the topic. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_chat_conversation_get_topic_who(PurpleChatConversation *chat); /** @@ -142,7 +164,10 @@ * @id: The ID. * * Sets the chat room's ID. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_set_id(PurpleChatConversation *chat, gint id); /** @@ -152,7 +177,10 @@ * Gets the chat room's ID. * * Returns: The ID. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gint purple_chat_conversation_get_id(PurpleChatConversation *chat); /** @@ -164,7 +192,10 @@ * @new_arrival: Decides whether or not to show a join notice. * * Adds a user to a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_add_user(PurpleChatConversation *chat, const gchar *user, const gchar *extra_msg, PurpleChatUserFlags flags, gboolean new_arrival); /** @@ -186,7 +217,10 @@ * * The data is copied from @users, @extra_msgs, and @flags, so it is up to * the caller to free this list after calling this function. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_add_users(PurpleChatConversation *chat, GList *users, GList *extra_msgs, GList *flags, gboolean new_arrivals); /** @@ -196,7 +230,10 @@ * @new_user: The new username. * * Renames a user in a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_rename_user(PurpleChatConversation *chat, const gchar *old_user, const gchar *new_user); /** @@ -208,7 +245,10 @@ * Removes a user from a chat, optionally with a reason. * * It is up to the developer to free this list after calling this function. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_remove_user(PurpleChatConversation *chat, const gchar *user, const gchar *reason); /** @@ -218,7 +258,10 @@ * @reason: The optional reason given for the removal. Can be %NULL. * * Removes a list of users from a chat, optionally with a single reason. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_remove_users(PurpleChatConversation *chat, GList *users, const gchar *reason); /** @@ -229,7 +272,10 @@ * Checks if a user is in a chat * * Returns: %TRUE if the user is in the chat, %FALSE if not + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_chat_conversation_has_user(PurpleChatConversation *chat, const gchar *user); /** @@ -237,7 +283,10 @@ * @chat: The chat. * * Clears all users from a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_clear_users(PurpleChatConversation *chat); /** @@ -246,7 +295,10 @@ * @nick: The nick. * * Sets your nickname (used for highlighting) for a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_set_nick(PurpleChatConversation *chat, const gchar *nick); /** @@ -256,7 +308,10 @@ * Gets your nickname (used for highlighting) for a chat. * * Returns: The nick. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_chat_conversation_get_nick(PurpleChatConversation *chat); /** @@ -265,7 +320,10 @@ * * Lets the core know we left a chat, without destroying it. * Called from purple_serv_got_chat_left(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_leave(PurpleChatConversation *chat); /** @@ -277,7 +335,10 @@ * * Returns: (transfer none): The #PurpleChatUser with the name referred by * @name. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleChatUser *purple_chat_conversation_find_user(PurpleChatConversation *chat, const gchar *name); /** @@ -291,7 +352,10 @@ * Invite a user to a chat. * The user will be prompted to enter the user's name or a message if one is * not given. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_conversation_invite_user(PurpleChatConversation *chat, const gchar *user, const gchar *message, gboolean confirm); /** @@ -301,7 +365,10 @@ * Gets whether we're no longer in this chat, and just left the window open. * * Returns: %TRUE if we left the chat already, %FALSE if we're still there. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_chat_conversation_has_left(PurpleChatConversation *chat); G_END_DECLS
--- a/libpurple/purplechatuser.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplechatuser.h Tue Oct 24 02:02:49 2023 -0500 @@ -79,7 +79,10 @@ * Creates a new chat user * * Returns: The new chat user + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleChatUser *purple_chat_user_new(PurpleChatConversation *chat, const gchar *name, const gchar *alias, @@ -131,7 +134,10 @@ * Get the name of a chat user. * * Returns: The name of the chat user. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_chat_user_get_name(PurpleChatUser *chat_user); /** @@ -140,7 +146,10 @@ * @flags: The new flags. * * Set the flags of a chat user. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_chat_user_set_flags(PurpleChatUser *chat_user, PurpleChatUserFlags flags); @@ -179,7 +188,10 @@ * first, 0 if sorted equally, and 1 if @a should be sorted after @b. * * Returns: The sorting order of @a and @b. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gint purple_chat_user_compare(PurpleChatUser *a, PurpleChatUser *b); G_END_DECLS
--- a/libpurple/purpleconnectionerrorinfo.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleconnectionerrorinfo.h Tue Oct 24 02:02:49 2023 -0500 @@ -125,6 +125,8 @@ #define PURPLE_TYPE_CONNECTION_ERROR_INFO (purple_connection_error_info_get_type()) + +PURPLE_AVAILABLE_IN_3_0 GType purple_connection_error_info_get_type(void); /**
--- a/libpurple/purplecontactinfo.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplecontactinfo.h Tue Oct 24 02:02:49 2023 -0500 @@ -34,6 +34,8 @@ G_BEGIN_DECLS #define PURPLE_TYPE_CONTACT_INFO (purple_contact_info_get_type()) + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurpleContactInfo, purple_contact_info, PURPLE, CONTACT_INFO, GObject) @@ -80,6 +82,8 @@ * The information about a contact. This information is used everywhere you * need to refer to a user. Be it a chat, an direct message, a file transfer, * etc. + * + * Since: 3.0.0 */ /**
--- a/libpurple/purpleconversation.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleconversation.h Tue Oct 24 02:02:49 2023 -0500 @@ -241,7 +241,10 @@ * Returns the specified conversation's purple_connection. * * Returns: (transfer none): The conversation's purple_connection. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConnection *purple_conversation_get_connection(PurpleConversation *conv); /** @@ -300,7 +303,10 @@ * @msg: The message to write. * * Writes to a chat or an IM. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_conversation_write_message(PurpleConversation *conv, PurpleMessage *msg); /** @@ -309,8 +315,11 @@ * @message: The message to write. * @flags: The message flags (you don't need to set %PURPLE_MESSAGE_SYSTEM. * - * Wites a system message to a chat or an IM. + * Writes a system message to a chat or an IM. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_conversation_write_system_message(PurpleConversation *conv, const gchar *message, PurpleMessageFlags flags); /** @@ -320,7 +329,10 @@ * * Sends a message to this conversation. This function calls * purple_conversation_send_with_flags() with no additional flags. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_conversation_send(PurpleConversation *conv, const gchar *message); /** @@ -331,7 +343,10 @@ * PURPLE_MESSAGE_SEND. * * Sends a message to this conversation with specified flags. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_conversation_send_with_flags(PurpleConversation *conv, const gchar *message, PurpleMessageFlags flags); /** @@ -383,7 +398,10 @@ * hasn't explicitly and knowingly caused a message to be sent. * The confirmation ensures that the user isn't sending a * message by mistake. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_conversation_send_confirm(PurpleConversation *conv, const gchar *message); /** @@ -412,7 +430,10 @@ * the error another way (purple_notify_error, most likely) * * Returns: TRUE if the error was presented, else FALSE + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_conversation_present_error(const gchar *who, PurpleAccount *account, const gchar *what); /**
--- a/libpurple/purpleconversationuiops.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleconversationuiops.h Tue Oct 24 02:02:49 2023 -0500 @@ -123,7 +123,10 @@ * purple_conversation_ui_ops_get_type: * * Returns: The #GType for the #PurpleConversationUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_conversation_ui_ops_get_type(void); G_END_DECLS
--- a/libpurple/purplegdkpixbuf.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplegdkpixbuf.h Tue Oct 24 02:02:49 2023 -0500 @@ -32,6 +32,7 @@ #include <gdk-pixbuf/gdk-pixbuf.h> #include "image.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -40,7 +41,10 @@ * @pixbuf: The buddy icon to transform * * Rounds the corners of a GdkPixbuf in place. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_gdk_pixbuf_make_round(GdkPixbuf *pixbuf); /** @@ -51,7 +55,10 @@ * alpha at any of the edge pixels. * * Returns: TRUE if the pixbuf is opaque around the edges, FALSE otherwise + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_gdk_pixbuf_is_opaque(GdkPixbuf *pixbuf); /** @@ -63,7 +70,10 @@ * * Returns: (transfer full): A GdkPixbuf created from the image data, or NULL if * there was an error parsing the data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GdkPixbuf *purple_gdk_pixbuf_from_data(const guchar *buf, gsize count); /** @@ -73,7 +83,10 @@ * Create a GdkPixbuf from a PurpleImage. * * Returns: (transfer full): a GdkPixbuf created from the @image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GdkPixbuf * purple_gdk_pixbuf_from_image(PurpleImage *image); @@ -98,7 +111,10 @@ * * Returns: (transfer full): The GdkPixbuf if successful. Otherwise NULL is returned and * a warning is logged. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GdkPixbuf *purple_gdk_pixbuf_new_from_file(const char *filename); /** @@ -124,7 +140,10 @@ * * Returns: (transfer full): The GdkPixbuf if successful. Otherwise NULL is returned and * a warning is logged. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GdkPixbuf *purple_gdk_pixbuf_new_from_file_at_size(const char *filename, int width, int height); G_END_DECLS
--- a/libpurple/purplegio.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplegio.h Tue Oct 24 02:02:49 2023 -0500 @@ -30,6 +30,7 @@ #include <gio/gio.h> #include "purpleaccount.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -43,7 +44,10 @@ * asynchronously waits for the operations to finish before closing the * arguments. Ensure the Gio callbacks can safely handle this being done * asynchronously. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_gio_graceful_close(GIOStream *stream, GInputStream *input, GOutputStream *output); /** @@ -57,7 +61,10 @@ * Returns: (transfer full): A new #GSocketClient with the appropriate * GProxyResolver, based on the #PurpleAccount settings and * TLS Certificate handling, or NULL if an error occurred. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GSocketClient *purple_gio_socket_client_new(PurpleAccount *account, GError **error); /** @@ -72,7 +79,10 @@ * range in the settings, than a port will be chosen from that range. * * Returns: The port number, or 0 in case of failure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint16 purple_socket_listener_add_any_inet_port(GSocketListener *listener, GObject *source_object, GError **error); G_END_DECLS
--- a/libpurple/purpleimconversation.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleimconversation.h Tue Oct 24 02:02:49 2023 -0500 @@ -57,6 +57,7 @@ #include "purpleaccount.h" #include "purpleconversation.h" +#include "purpleversion.h" /** * PurpleIMConversation: @@ -82,7 +83,10 @@ * purple_im_conversation_get_type: * * Returns: The #GType for the IMConversation object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_im_conversation_get_type(void); /** @@ -94,7 +98,10 @@ * Creates a new IM conversation. * * Returns: The new conversation. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConversation *purple_im_conversation_new(PurpleAccount *account, const gchar *name); /** @@ -103,7 +110,10 @@ * @state: The typing state. * * Sets the IM's typing state. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_set_typing_state(PurpleIMConversation *im, PurpleIMTypingState state); /** @@ -113,7 +123,10 @@ * Returns the IM's typing state. * * Returns: The IM's typing state. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleIMTypingState purple_im_conversation_get_typing_state(PurpleIMConversation *im); /** @@ -123,7 +136,10 @@ * PURPLE_IM_NOT_TYPING. * * Starts the IM's typing timeout. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_start_typing_timeout(PurpleIMConversation *im, int timeout); /** @@ -131,7 +147,10 @@ * @im: The IM. * * Stops the IM's typing timeout. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_stop_typing_timeout(PurpleIMConversation *im); /** @@ -141,7 +160,10 @@ * Returns the IM's typing timeout. * * Returns: The timeout. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_im_conversation_get_typing_timeout(PurpleIMConversation *im); /** @@ -155,7 +177,10 @@ * Few protocols need this (maybe only MSN). If the user is still * typing after this quiet-period, then another #PURPLE_IM_TYPING message * will be sent. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_set_type_again(PurpleIMConversation *im, guint val); /** @@ -166,7 +191,10 @@ * * Returns: The time in seconds since the epoch. Or 0 if no additional * PURPLE_IM_TYPING message should be sent. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 time_t purple_im_conversation_get_type_again(PurpleIMConversation *im); /** @@ -174,7 +202,10 @@ * @im: The IM. * * Starts the IM's type again timeout. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_start_send_typed_timeout(PurpleIMConversation *im); /** @@ -182,7 +213,10 @@ * @im: The IM. * * Stops the IM's type again timeout. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_stop_send_typed_timeout(PurpleIMConversation *im); /** @@ -192,7 +226,10 @@ * Returns the IM's type again timeout interval. * * Returns: The type again timeout interval. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_im_conversation_get_send_typed_timeout(PurpleIMConversation *im); /** @@ -200,7 +237,10 @@ * @im: The IM. * * Updates the visual typing notification for an IM conversation. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_im_conversation_update_typing(PurpleIMConversation *im); G_END_DECLS
--- a/libpurple/purplekeyvaluepair.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplekeyvaluepair.h Tue Oct 24 02:02:49 2023 -0500 @@ -62,7 +62,10 @@ * The standard %_GET_TYPE function for #PurpleKeyValuePair. * * Returns: The #GType for #PurpleKeyValuePair. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_key_value_pair_get_type(void); /** @@ -117,7 +120,10 @@ * has no way to know how to allocate a new copy of the value. * * Returns: (transfer full): A new copy of @kvp. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleKeyValuePair *purple_key_value_pair_copy(PurpleKeyValuePair *kvp); G_END_DECLS
--- a/libpurple/purplemessage.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplemessage.h Tue Oct 24 02:02:49 2023 -0500 @@ -106,8 +106,10 @@ * PurpleMessage: * * #PurpleMessage represents any message passed between users in libpurple. + * + * Since: 3.0.0 */ - +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleMessage, purple_message, PURPLE, MESSAGE, GObject) /** @@ -380,7 +382,10 @@ * Formats the timestamp of @message and returns it. * * Returns: The formatted timestamp. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gchar *purple_message_format_timestamp(PurpleMessage *message, const gchar *format); /**
--- a/libpurple/purplenoopcredentialprovider.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplenoopcredentialprovider.h Tue Oct 24 02:02:49 2023 -0500 @@ -56,7 +56,10 @@ * for itself. * * Returns: (transfer full): The new #PurpleNoopCredentialProvider instance. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleCredentialProvider *purple_noop_credential_provider_new(void); G_END_DECLS
--- a/libpurple/purpleoptions.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleoptions.h Tue Oct 24 02:02:49 2023 -0500 @@ -29,6 +29,8 @@ #include <glib.h> +#include "purpleversion.h" + G_BEGIN_DECLS /** @@ -41,7 +43,10 @@ * * Returns: (transfer full): a #GOptionGroup for the commandline arguments * recognized by LibPurple. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GOptionGroup *purple_get_option_group(void); G_END_DECLS
--- a/libpurple/purplepath.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplepath.h Tue Oct 24 02:02:49 2023 -0500 @@ -25,6 +25,8 @@ #include <glib.h> +#include "purpleversion.h" + G_BEGIN_DECLS /** @@ -45,7 +47,10 @@ * sub-directory of DIR argument passed to -c option. * * Returns: The purple cache directory. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_cache_dir(void); /** @@ -57,7 +62,10 @@ * sub-directory of DIR argument passed to -c option. * * Returns: The purple configuration directory. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_config_dir(void); /** @@ -69,7 +77,10 @@ * sub-directory of DIR argument passed to -c option. * * Returns: The purple data directory. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar *purple_data_dir(void); /**
--- a/libpurple/purpleplugininfo.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleplugininfo.h Tue Oct 24 02:02:49 2023 -0500 @@ -72,6 +72,7 @@ * * Since: 3.0.0 */ +PURPLE_AVAILABLE_TYPE_IN_3_0 typedef enum /*< flags >*/ { PURPLE_PLUGIN_INFO_FLAGS_INTERNAL = 1 << 1,
--- a/libpurple/purplepresence.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplepresence.h Tue Oct 24 02:02:49 2023 -0500 @@ -108,6 +108,8 @@ }; #define PURPLE_TYPE_PRESENCE purple_presence_get_type() + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurplePresence, purple_presence, PURPLE, PRESENCE, GObject) @@ -293,10 +295,7 @@ * Returns: -1 if @presence1 is more available than @presence2. * 0 if @presence1 is equal to @presence2. * 1 if @presence1 is less available than @presence2. - * - * Since: 3.0.0 */ -PURPLE_AVAILABLE_IN_3_0 gint purple_presence_compare(PurplePresence *presence1, PurplePresence *presence2); /**
--- a/libpurple/purpleprotocolclient.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleprotocolclient.h Tue Oct 24 02:02:49 2023 -0500 @@ -36,6 +36,8 @@ #include "purpleversion.h" #define PURPLE_TYPE_PROTOCOL_CLIENT (purple_protocol_client_get_type()) + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_INTERFACE(PurpleProtocolClient, purple_protocol_client, PURPLE, PROTOCOL_CLIENT, PurpleProtocol) @@ -44,6 +46,8 @@ * * #PurpleProtocolClient interface defines the behavior of a typical chat * service's client interface. + * + * Since: 3.0.0 */ /** @@ -108,6 +112,8 @@ * The protocol client interface. * * This interface provides a gateway between purple and the protocol. + * + * Since: 3.0.0 */ struct _PurpleProtocolClientInterface { /*< private >*/
--- a/libpurple/purpleprotocolim.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleprotocolim.h Tue Oct 24 02:02:49 2023 -0500 @@ -67,6 +67,8 @@ * * The protocol IM interface that needs to be implemented to send one to one * messages. + * + * Since: 3.0.0 */ struct _PurpleProtocolIMInterface { /*< private >*/ @@ -96,7 +98,10 @@ * * Returns: >= 0 on success, or < 0 on error. If 0 is returned the message * should not be output locally. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gint purple_protocol_im_send(PurpleProtocolIM *im, PurpleConnection *connection, PurpleConversation *conversation, @@ -120,7 +125,10 @@ * need to be sent. If this is 5, for example, then Purple will wait * five seconds, and if the Purple user is still typing then Purple * will send another #PURPLE_IM_TYPING message. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_protocol_im_send_typing(PurpleProtocolIM *im, PurpleConnection *connection, const gchar *name,
--- a/libpurple/purpleprotocolmedia.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleprotocolmedia.h Tue Oct 24 02:02:49 2023 -0500 @@ -36,6 +36,8 @@ #include "purpleversion.h" #define PURPLE_TYPE_PROTOCOL_MEDIA (purple_protocol_media_get_type()) + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_INTERFACE(PurpleProtocolMedia, purple_protocol_media, PURPLE, PROTOCOL_MEDIA, PurpleProtocol) @@ -46,6 +48,8 @@ * * #PurpleProtocolMedia describes the multimedia api that is available for * protocols. + * + * Since: 3.0.0 */ /** @@ -70,6 +74,8 @@ * The protocol media interface. * * This interface provides callbacks for media sessions on the protocol. + * + * Since: 3.0.0 */ struct _PurpleProtocolMediaInterface { /*< private >*/
--- a/libpurple/purpleprotocolroomlist.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleprotocolroomlist.h Tue Oct 24 02:02:49 2023 -0500 @@ -43,6 +43,8 @@ * * #PurpleProtocolRoomlist is an interface to abstract how to handle rooms * lists at the protocol level. + * + * Since: 3.0.0 */ PURPLE_AVAILABLE_IN_3_0
--- a/libpurple/purpleprotocolserver.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleprotocolserver.h Tue Oct 24 02:02:49 2023 -0500 @@ -86,6 +86,8 @@ * The protocol server interface. * * This interface provides a gateway between purple and the protocol's server. + * + * Since: 3.0.0 */ struct _PurpleProtocolServerInterface { /*< private >*/
--- a/libpurple/purpleproxyinfo.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purpleproxyinfo.h Tue Oct 24 02:02:49 2023 -0500 @@ -71,7 +71,10 @@ * @proxy_type: The new type. * * Sets the type of @info. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_proxy_info_set_proxy_type(PurpleProxyInfo *info, PurpleProxyType proxy_type); /** @@ -81,7 +84,10 @@ * Gets the type of the proxy. * * Returns: The type of the proxy. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleProxyType purple_proxy_info_get_proxy_type(PurpleProxyInfo *info); /**
--- a/libpurple/purplesavedpresence.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplesavedpresence.h Tue Oct 24 02:02:49 2023 -0500 @@ -36,6 +36,8 @@ G_BEGIN_DECLS #define PURPLE_TYPE_SAVED_PRESENCE purple_saved_presence_get_type() + +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleSavedPresence, purple_saved_presence, PURPLE, SAVED_PRESENCE, GObject)
--- a/libpurple/purplewhiteboard.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplewhiteboard.h Tue Oct 24 02:02:49 2023 -0500 @@ -38,6 +38,8 @@ * PurpleWhiteboard: * * A abstract whiteboard object. + * + * Since: 3.0.0 */ G_BEGIN_DECLS @@ -49,6 +51,8 @@ * * Right now this is empty but it will be filled out with the function from * PurpleWhiteboardOps in a future review request. + * + * Since: 3.0.0 */ struct _PurpleWhiteboardClass { /*< private >*/ @@ -63,7 +67,10 @@ * The standard _get_type function for #PurpleWhiteboard. * * Returns: The #GType for the #PurpleWhiteboard object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_DERIVABLE_TYPE(PurpleWhiteboard, purple_whiteboard, PURPLE, WHITEBOARD, GObject) @@ -73,7 +80,10 @@ * @ops: The #PurpleWhiteboardOps to set. * * Sets the protocol operations for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_set_protocol_ops(PurpleWhiteboard *whiteboard, PurpleWhiteboardOps *ops); /** @@ -85,7 +95,10 @@ * Creates a new whiteboard. * * Returns: (transfer full): The new #PurpleWhiteboard instance. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleWhiteboard *purple_whiteboard_new(PurpleAccount *account, const gchar *id, gint state); /** @@ -95,7 +108,10 @@ * Gets the #PurpleAccount that @whiteboard is tied to. * * Returns: (transfer none): The #PurpleAccount for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleAccount *purple_whiteboard_get_account(PurpleWhiteboard *whiteboard); /** @@ -117,7 +133,10 @@ * @state: The state * * Set the state of @whiteboard to @state. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_set_state(PurpleWhiteboard *whiteboard, gint state); /** @@ -127,7 +146,10 @@ * Gets the state of @whiteboard. * * Returns: The state of the @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gint purple_whiteboard_get_state(PurpleWhiteboard *whiteboard); /** @@ -258,7 +280,10 @@ * Gets the drawing list. * * Returns: (transfer none) (element-type gint): The drawing list. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList *purple_whiteboard_get_draw_list(PurpleWhiteboard *whiteboard); /** @@ -267,7 +292,10 @@ * @draw_list: (element-type gint): The drawing list. * * Sets the drawing list. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_set_draw_list(PurpleWhiteboard *whiteboard, GList* draw_list); /** @@ -276,7 +304,10 @@ * @proto_data: The protocol data to set for the whiteboard. * * Sets the protocol data for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_set_protocol_data(PurpleWhiteboard *whiteboard, gpointer proto_data); /** @@ -286,7 +317,10 @@ * Gets the protocol data for a whiteboard. * * Returns: The protocol data for the whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gpointer purple_whiteboard_get_protocol_data(PurpleWhiteboard *whiteboard); /**
--- a/libpurple/purplewhiteboarduiops.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/purplewhiteboarduiops.h Tue Oct 24 02:02:49 2023 -0500 @@ -34,6 +34,7 @@ typedef struct _PurpleWhiteboardUiOps PurpleWhiteboardUiOps; #include "purplewhiteboard.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -66,6 +67,7 @@ gpointer reserved[4]; }; +PURPLE_AVAILABLE_IN_3_0 GType purple_whiteboard_ui_ops_get_type(void); /** @@ -81,7 +83,10 @@ * @whiteboard: A #PurpleWhiteboard instance. * * Creates a user interface for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_create(PurpleWhiteboard *whiteboard); /** @@ -89,7 +94,10 @@ * @whiteboard: A #PurpleWhiteboard instance. * * Destroys the user interface for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_destroy(PurpleWhiteboard *whiteboard); /** @@ -99,7 +107,10 @@ * @height: The new height. * * Sets the user interface dimensions for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_set_dimensions(PurpleWhiteboard *whiteboard, gint width, gint height); /** @@ -109,7 +120,10 @@ * @color: The color to use. * * Sets the size and color of the active brush for @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_set_brush(PurpleWhiteboard *whiteboard, gint size, gint color); /** @@ -121,7 +135,10 @@ * @size: The size of the point. * * Draws a point on @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_draw_point(PurpleWhiteboard *whiteboard, gint x, gint y, gint color, gint size); /** @@ -135,7 +152,10 @@ * @size: The size of the line. * * Draws a line on @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_draw_line(PurpleWhiteboard *whiteboard, gint x1, gint y1, gint x2, gint y2, gint color, gint size); /** @@ -143,7 +163,10 @@ * @whiteboard: A #PurpleWhiteboard instance. * * Clears all the contents of @whiteboard. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_whiteboard_ui_ops_clear(PurpleWhiteboard *whiteboard); G_END_DECLS
--- a/libpurple/request-datasheet.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request-datasheet.h Tue Oct 24 02:02:49 2023 -0500 @@ -29,6 +29,8 @@ #include <glib.h> +#include "purpleversion.h" + /** * PurpleRequestDatasheet: * @@ -71,6 +73,7 @@ * * Returns: (transfer full): The new datasheet. */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheet * purple_request_datasheet_new(void); @@ -80,6 +83,7 @@ * * Destroys datasheet with all its contents. */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_free(PurpleRequestDatasheet *sheet); @@ -92,7 +96,10 @@ * Adds a column to the datasheet. * * You cannot add a column if datasheet contains any data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_add_column(PurpleRequestDatasheet *sheet, PurpleRequestDatasheetColumnType type, const gchar *title); @@ -104,7 +111,10 @@ * Returns the column count of datasheet. * * Returns: The column count. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 guint purple_request_datasheet_get_column_count(PurpleRequestDatasheet *sheet); @@ -116,7 +126,10 @@ * Returns the column type for a datasheet. * * Returns: The column type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheetColumnType purple_request_datasheet_get_column_type(PurpleRequestDatasheet *sheet, guint col_no); @@ -129,7 +142,10 @@ * Returns the column title for a datasheet. * * Returns: The column title. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar * purple_request_datasheet_get_column_title(PurpleRequestDatasheet *sheet, guint col_no); @@ -143,7 +159,10 @@ * You shouldn't modify datasheet's data while iterating through it. * * Returns: (element-type PurpleRequestDatasheetRecord) (transfer none): The list of records. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const GList * purple_request_datasheet_get_records(PurpleRequestDatasheet *sheet); @@ -155,7 +174,10 @@ * Adds an action to the datasheet. * * Action object is owned by the datasheet since this call. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_add_action(PurpleRequestDatasheet *sheet, PurpleRequestDatasheetAction *action); @@ -167,7 +189,10 @@ * Returns the list of actions in a datasheet. * * Returns: (element-type PurpleRequestDatasheetAction) (transfer none): The list of actions. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const GList * purple_request_datasheet_get_actions(PurpleRequestDatasheet *sheet); @@ -182,7 +207,10 @@ * Creates new datasheet action. * * Returns: (transfer full): The new action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheetAction * purple_request_datasheet_action_new(void); @@ -191,7 +219,10 @@ * @act: The action. * * Destroys the datasheet action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_action_free(PurpleRequestDatasheetAction *act); @@ -201,7 +232,10 @@ * @label: The label. * * Sets the localized label for the action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_action_set_label(PurpleRequestDatasheetAction *act, const gchar *label); @@ -213,7 +247,10 @@ * Gets the label of action. * * Returns: The localized label text. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar* purple_request_datasheet_action_get_label(PurpleRequestDatasheetAction *act); @@ -224,7 +261,10 @@ * @user_data: The data to be passed to the callback function. * * Sets the callback for the action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_action_set_cb(PurpleRequestDatasheetAction *act, PurpleRequestDatasheetActionCb cb, gpointer user_data); @@ -235,7 +275,10 @@ * @rec: The user selected record. * * Calls the callback of the action. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_action_call(PurpleRequestDatasheetAction *act, PurpleRequestDatasheetRecord *rec); @@ -250,7 +293,10 @@ * * If there is no callback set, default is used: the action is enabled, if any * record is active. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_action_set_sens_cb( PurpleRequestDatasheetAction *act, @@ -264,7 +310,10 @@ * Checks, if the action is enabled for the active record. * * Returns: %TRUE, if the action is enabled, %FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_datasheet_action_is_sensitive(PurpleRequestDatasheetAction *act, PurpleRequestDatasheetRecord *rec); @@ -281,7 +330,10 @@ * Returns the key of a record. * * Returns: The key. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gpointer purple_request_datasheet_record_get_key( const PurpleRequestDatasheetRecord *rec); @@ -293,7 +345,10 @@ * Returns the datasheet of a record. * * Returns: (transfer none): The datasheet. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheet * purple_request_datasheet_record_get_datasheet( PurpleRequestDatasheetRecord *rec); @@ -306,7 +361,10 @@ * Looks up for a record in datasheet. * * Returns: (transfer none): The record if found, %NULL otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheetRecord * purple_request_datasheet_record_find(PurpleRequestDatasheet *sheet, gpointer key); @@ -321,7 +379,10 @@ * If the specified key already exists in datasheet, old record is returned. * * Returns: (transfer full): The record. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheetRecord * purple_request_datasheet_record_add(PurpleRequestDatasheet *sheet, gpointer key); @@ -332,7 +393,10 @@ * @key: The key. * * Removes a record from a datasheet. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_remove(PurpleRequestDatasheet *sheet, gpointer key); @@ -342,7 +406,10 @@ * @sheet: The datasheet. * * Removes all records from a datasheet. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_remove_all(PurpleRequestDatasheet *sheet); @@ -354,7 +421,10 @@ * purple_request_datasheet_record_add. * * See purple_request_datasheet_record_add(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_mark_all_for_rem(PurpleRequestDatasheet *sheet); @@ -365,7 +435,10 @@ * Removes all marked records. * * See purple_request_datasheet_record_mark_all_for_rem(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_remove_marked(PurpleRequestDatasheet *sheet); @@ -376,7 +449,10 @@ * @data: The data. * * Sets data for a string column of specified record. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_set_string_data( PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *data); @@ -388,7 +464,10 @@ * @stock_id: The stock identifier of a image. * * Sets data for a image column of specified record. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_datasheet_record_set_image_data( PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *stock_id); @@ -401,7 +480,10 @@ * Returns data for a string column of specified record. * * Returns: The data. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar * purple_request_datasheet_record_get_string_data( const PurpleRequestDatasheetRecord *rec, guint col_no); @@ -414,7 +496,10 @@ * Returns data for an image column of specified record. * * Returns: The stock id of an image. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const gchar * purple_request_datasheet_record_get_image_data( const PurpleRequestDatasheetRecord *rec, guint col_no);
--- a/libpurple/request.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request.h Tue Oct 24 02:02:49 2023 -0500 @@ -45,6 +45,7 @@ #include "purpleaccount.h" #include "purpleconversation.h" +#include "purpleversion.h" #include "request/purplerequestpage.h" #include "request/purplerequestgroup.h" #include "request/purplerequestfield.h" @@ -227,7 +228,10 @@ * the UI to display the request. * * Returns: (transfer full): The new parameters set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestCommonParameters * purple_request_cpar_new(void); @@ -238,7 +242,10 @@ * Creates new parameters set initially bound with the #PurpleConnection. * * Returns: (transfer full): The new parameters set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestCommonParameters * purple_request_cpar_from_connection(PurpleConnection *gc); @@ -249,7 +256,10 @@ * Creates new parameters set initially bound with the #PurpleAccount. * * Returns: (transfer full): The new parameters set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestCommonParameters * purple_request_cpar_from_account(PurpleAccount *account); @@ -260,7 +270,10 @@ * Creates new parameters set initially bound with the #PurpleConversation. * * Returns: (transfer full): The new parameters set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestCommonParameters * purple_request_cpar_from_conversation(PurpleConversation *conv); @@ -269,7 +282,10 @@ * @cpar: The object to ref. * * Increases the reference count on the parameters set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_ref(PurpleRequestCommonParameters *cpar); @@ -280,7 +296,10 @@ * Decreases the reference count on the parameters set. * * The object will be destroyed when this reaches 0. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_unref(PurpleRequestCommonParameters *cpar); @@ -290,7 +309,10 @@ * @account: The #PurpleAccount to associate. * * Sets the #PurpleAccount associated with the request, or %NULL, if none is. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_account(PurpleRequestCommonParameters *cpar, PurpleAccount *account); @@ -303,7 +325,10 @@ * * Returns: (transfer none): The associated #PurpleAccount, or %NULL if none is * set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleAccount * purple_request_cpar_get_account(PurpleRequestCommonParameters *cpar); @@ -314,7 +339,10 @@ * * Sets the #PurpleConversation associated with the request, or %NULL, if * none is. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_conversation(PurpleRequestCommonParameters *cpar, PurpleConversation *conv); @@ -327,7 +355,10 @@ * * Returns: (transfer none): The associated #PurpleConversation, or %NULL if * none is set. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConversation * purple_request_cpar_get_conversation(PurpleRequestCommonParameters *cpar); @@ -337,7 +368,10 @@ * @icon_type: The icon type. * * Sets the icon associated with the request. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_icon(PurpleRequestCommonParameters *cpar, PurpleRequestIconType icon_type); @@ -349,7 +383,10 @@ * Gets the icon associated with the request. * * Returns: icon_type The icon type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestIconType purple_request_cpar_get_icon(PurpleRequestCommonParameters *cpar); @@ -360,7 +397,10 @@ * @icon_size: The icon image size. * * Sets the custom icon associated with the request. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_custom_icon(PurpleRequestCommonParameters *cpar, gconstpointer icon_data, gsize icon_size); @@ -374,7 +414,10 @@ * Gets the custom icon associated with the request. * * Returns: The icon image contents. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gconstpointer purple_request_cpar_get_custom_icon(PurpleRequestCommonParameters *cpar, gsize *icon_size); @@ -387,7 +430,10 @@ * redefined in the future. * * Switches the request text to be HTML or not. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_html(PurpleRequestCommonParameters *cpar, gboolean enabled); @@ -399,7 +445,10 @@ * Checks, if the text passed to the request is HTML. * * Returns: %TRUE, if the text is HTML, %FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_cpar_is_html(PurpleRequestCommonParameters *cpar); @@ -409,7 +458,10 @@ * @compact: TRUE for compact, FALSE otherwise. * * Sets dialog display mode to compact or default. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_compact(PurpleRequestCommonParameters *cpar, gboolean compact); @@ -421,7 +473,10 @@ * Gets dialog display mode. * * Returns: TRUE for compact, FALSE for default. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_cpar_is_compact(PurpleRequestCommonParameters *cpar); @@ -432,7 +487,10 @@ * @user_data: The data to be passed to the callback. * * Sets the callback for the Help button. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_help_cb(PurpleRequestCommonParameters *cpar, PurpleRequestHelpCb cb, gpointer user_data); @@ -446,7 +504,10 @@ * Gets the callback for the Help button. * * Returns: (transfer none): The callback. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestHelpCb purple_request_cpar_get_help_cb(PurpleRequestCommonParameters *cpar, gpointer *user_data); @@ -462,7 +523,10 @@ * Should be terminated with the NULL label. * * Sets extra actions for the PurpleRequestPage dialog. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_extra_actions(PurpleRequestCommonParameters *cpar, ...); @@ -474,7 +538,10 @@ * * Returns: (element-type PurpleKeyValuePair) (transfer none): A list of actions (pairs of arguments, as in * setter). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GSList * purple_request_cpar_get_extra_actions(PurpleRequestCommonParameters *cpar); @@ -485,7 +552,10 @@ * * Sets the same parent window for this dialog, as the parent of specified * Notify API or Request API dialog UI handle. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_cpar_set_parent_from(PurpleRequestCommonParameters *cpar, gpointer ui_handle); @@ -497,7 +567,10 @@ * Gets the parent "donor" for this dialog. * * Returns: The donors UI handle. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gpointer purple_request_cpar_get_parent_from(PurpleRequestCommonParameters *cpar); @@ -725,7 +798,10 @@ * Displays a "please wait" dialog. * * Returns: A UI-specific handle. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void * purple_request_wait(void *handle, const char *title, const char *primary, const char *secondary, gboolean with_progress, @@ -738,7 +814,10 @@ * * Notifies the "please wait" dialog that some progress has been made, but you * don't know how much. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_wait_pulse(void *ui_handle); @@ -749,7 +828,10 @@ * inclusive). * * Notifies the "please wait" dialog about progress has been made. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_wait_progress(void *ui_handle, gfloat fraction); @@ -798,7 +880,10 @@ * Checks, if passed UI handle is valid. * * Returns: TRUE, if handle is valid, FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_is_valid_ui_handle(void *ui_handle, PurpleRequestType *type); @@ -809,7 +894,10 @@ * @notify_data: The data to be passed to the callback function. * * Adds a function called when notification dialog is closed. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_add_close_notify(void *ui_handle, GDestroyNotify notify, gpointer notify_data); @@ -974,7 +1062,10 @@ * The standard _get_type function for #PurpleRequestUiOps. * * Returns: The #GType for the #PurpleRequestUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_request_ui_ops_get_type(void); /**
--- a/libpurple/request/purplerequestfield.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfield.h Tue Oct 24 02:02:49 2023 -0500 @@ -121,7 +121,10 @@ * * This is optionally used by the UIs to provide a tooltip for * the field. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_set_tooltip(PurpleRequestField *field, const char *tooltip); /** @@ -190,7 +193,10 @@ * Returns the field's tooltip. * * Returns: The field's tooltip. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_request_field_get_tooltip(PurpleRequestField *field); /** @@ -214,7 +220,10 @@ * notify on [property@RequestField:filled]. * * Returns: TRUE if the field has value, or FALSE. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_is_filled(PurpleRequestField *field); /** @@ -226,7 +235,10 @@ * @destroy_data: A cleanup function for @user_data. * * Set an additional validator for a field. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_set_validator(PurpleRequestField *field, PurpleRequestFieldValidator validator, gpointer user_data, GDestroyNotify destroy_data); /** @@ -244,7 +256,10 @@ * Note: Required, but unfilled, fields are invalid. * * Returns: TRUE, if the field is valid, FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_is_valid(PurpleRequestField *field, gchar **errmsg); /** @@ -253,7 +268,10 @@ * @sensitive: TRUE if the field should be sensitive for user input. * * Sets field editable. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_set_sensitive(PurpleRequestField *field, gboolean sensitive); /** @@ -263,7 +281,10 @@ * Checks, if field is editable. * * Returns: TRUE, if the field is sensitive for user input. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_is_sensitive(PurpleRequestField *field); G_END_DECLS
--- a/libpurple/request/purplerequestfieldchoice.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfieldchoice.h Tue Oct 24 02:02:49 2023 -0500 @@ -83,6 +83,7 @@ * * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_choice_add_full(PurpleRequestFieldChoice *field, const char *label, gpointer data, GDestroyNotify destroy); /** @@ -130,7 +131,10 @@ * Returns a list of elements in a choice field. * * Returns: (element-type PurpleKeyValuePair) (transfer none): The list of pairs of {label, value}. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GList *purple_request_field_choice_get_elements(PurpleRequestFieldChoice *field); G_END_DECLS
--- a/libpurple/request/purplerequestfielddatasheet.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfielddatasheet.h Tue Oct 24 02:02:49 2023 -0500 @@ -58,7 +58,10 @@ * Creates a datasheet item field. * * Returns: (transfer full): The new field. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestField *purple_request_field_datasheet_new(const char *id, const gchar *text, PurpleRequestDatasheet *sheet); /** @@ -68,7 +71,10 @@ * Returns a datasheet for a field. * * Returns: (transfer none): The datasheet object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleRequestDatasheet *purple_request_field_datasheet_get_sheet(PurpleRequestFieldDatasheet *field); G_END_DECLS
--- a/libpurple/request/purplerequestfieldint.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfieldint.h Tue Oct 24 02:02:49 2023 -0500 @@ -77,7 +77,10 @@ * @lower_bound: The lower bound. * * Sets the lower bound in an integer field. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_int_set_lower_bound(PurpleRequestFieldInt *field, int lower_bound); /** @@ -86,7 +89,10 @@ * @upper_bound: The upper bound. * * Sets the upper bound in an integer field. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_request_field_int_set_upper_bound(PurpleRequestFieldInt *field, int upper_bound); /** @@ -115,7 +121,10 @@ * Returns the lower bound in an integer field. * * Returns: The lower bound. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_request_field_int_get_lower_bound(PurpleRequestFieldInt *field); /** @@ -125,7 +134,10 @@ * Returns the upper bound in an integer field. * * Returns: The upper bound. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_request_field_int_get_upper_bound(PurpleRequestFieldInt *field); /**
--- a/libpurple/request/purplerequestfieldlist.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfieldlist.h Tue Oct 24 02:02:49 2023 -0500 @@ -171,6 +171,7 @@ * * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_list_has_icons(PurpleRequestFieldList *field); G_END_DECLS
--- a/libpurple/request/purplerequestfieldstring.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/request/purplerequestfieldstring.h Tue Oct 24 02:02:49 2023 -0500 @@ -140,7 +140,10 @@ * See [method@Purple.RequestField.set_validator]. * * Returns: TRUE, if field contains valid email address. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_email_validator(PurpleRequestField *field, char **errmsg, gpointer user_data); /** @@ -155,7 +158,10 @@ * See [method@Purple.RequestField.set_validator]. * * Returns: TRUE, if field contains only alphanumeric characters. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_request_field_alphanumeric_validator(PurpleRequestField *field, char **errmsg, gpointer allowed_characters); G_END_DECLS
--- a/libpurple/roomlist.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/roomlist.h Tue Oct 24 02:02:49 2023 -0500 @@ -107,7 +107,10 @@ * The standard _get_type function for #PurpleRoomlist. * * Returns: The #GType for the Room List object. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleRoomlist, purple_roomlist, PURPLE, ROOMLIST, GObject) /** @@ -140,7 +143,10 @@ * created. * * Returns: (transfer none): The PurpleAccount tied to this room list. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleAccount *purple_roomlist_get_account(PurpleRoomlist *list); /** @@ -235,7 +241,10 @@ * The standard _get_type function for #PurpleRoomlistUiOps. * * Returns: The #GType for the #PurpleRoomlistUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_roomlist_ui_ops_get_type(void); /**
--- a/libpurple/savedstatuses.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/savedstatuses.h Tue Oct 24 02:02:49 2023 -0500 @@ -62,6 +62,7 @@ typedef struct _PurpleSavedStatusSub PurpleSavedStatusSub; #include "status.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -113,7 +114,10 @@ * @type: The type of saved status. * * Set the type for the given saved status. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_savedstatus_set_primitive_type(PurpleSavedStatus *status, PurpleStatusPrimitive type); @@ -342,7 +346,10 @@ * Return the type of a given saved status. * * Returns: The primitive type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleStatusPrimitive purple_savedstatus_get_primitive_type(const PurpleSavedStatus *saved_status); /** @@ -411,7 +418,10 @@ * Get the status type of a given substatus. * * Returns: The status type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const PurpleStatusType *purple_savedstatus_substatus_get_status_type( const PurpleSavedStatusSub *substatus);
--- a/libpurple/server.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/server.h Tue Oct 24 02:02:49 2023 -0500 @@ -33,6 +33,7 @@ #include "protocols.h" #include "purpleimconversation.h" #include "purplemessage.h" +#include "purpleversion.h" G_BEGIN_DECLS @@ -51,8 +52,11 @@ * example, then Purple will wait five seconds, and if the Purple * user is still typing then Purple will send another PURPLE_IM_TYPING * message. + * + * Since: 3.0.0 */ /* TODO Could probably move this into the conversation API. */ +PURPLE_AVAILABLE_IN_3_0 unsigned int purple_serv_send_typing(PurpleConnection *gc, const char *name, PurpleIMTypingState state); /** @@ -62,7 +66,10 @@ * @dest: Destiny group. * * Move a buddy from one group to another on server. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_move_buddy(PurpleBuddy *buddy, PurpleGroup *orig, PurpleGroup *dest); /** @@ -73,7 +80,10 @@ * Sends the message to the user through the required protocol. * * Returns: The error value returned from the protocol interface function. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_serv_send_im(PurpleConnection *gc, PurpleMessage *msg); /****************************************************************************** @@ -88,7 +98,10 @@ * @name: The name of the remote user to send the invitation to. * * Invite a user to join a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_chat_invite(PurpleConnection *gc, int id, const char *message, const char *name); /** @@ -97,7 +110,10 @@ * @id: The id of the chat to leave. * * Called when the user requests leaving a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_chat_leave(PurpleConnection *gc, int id); /** @@ -118,7 +134,10 @@ * * Returns: A positive number or 0 in case of success, a * negative error number in case of failure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_serv_chat_send(PurpleConnection *gc, int id, PurpleMessage *msg); /****************************************************************************** @@ -130,7 +149,10 @@ * @buddy: The Buddy. * * Save/store buddy's alias on server list/roster + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_alias_buddy(PurpleBuddy *buddy); /** @@ -141,7 +163,9 @@ * * Protocol should call this function when it retrieves an alias form the server. * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_alias(PurpleConnection *gc, const char *who, const char *alias); /** @@ -173,7 +197,10 @@ * purple_serv_got_typing_stopped instead. * * @todo Could probably move this into the conversation API. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_typing(PurpleConnection *gc, const char *name, int timeout, PurpleIMTypingState state); @@ -185,7 +212,10 @@ * Called from a protocol when it has received a type stopped. * * @todo Could probably move this into the conversation API. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_typing_stopped(PurpleConnection *gc, const char *name); /** @@ -197,7 +227,10 @@ * @mtime: The timestamp of the message. * * This function is called by the protocol when it receives an IM message. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_im(PurpleConnection *gc, const char *who, const char *msg, PurpleMessageFlags flags, time_t mtime); @@ -206,7 +239,10 @@ * @gc: The #PurpleConnection * @data: The hash function should be g_str_hash() and the equal * function should be g_str_equal(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_join_chat(PurpleConnection *gc, GHashTable *data); /** @@ -214,7 +250,10 @@ * @gc: The #PurpleConnection * @data: The hash function should be g_str_hash() and the equal * function should be g_str_equal(). + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_reject_chat(PurpleConnection *gc, GHashTable *data); /** @@ -228,7 +267,10 @@ * function should be g_str_equal(). * * Called by a protocol when an account is invited into a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_chat_invite(PurpleConnection *gc, const char *name, const char *who, const char *message, GHashTable *data); @@ -242,9 +284,13 @@ * Called by a protocol when an account has joined a chat. * * Returns: (transfer none): The resulting conversation. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleConversation *purple_serv_got_joined_chat(PurpleConnection *gc, int id, const char *name); + /** * purple_serv_got_join_chat_failed: * @gc: The connection on which chat joining failed @@ -263,7 +309,10 @@ * @id: The id of the chat, as assigned by the protocol. * * Called by a protocol when an account has left a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_chat_left(PurpleConnection *g, int id); /** @@ -276,7 +325,10 @@ * @mtime: The time when the message was received. * * Called by a protocol when a message has been received in a chat. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_got_chat_in(PurpleConnection *g, int id, const char *who, PurpleMessageFlags flags, const char *message, time_t mtime); @@ -287,7 +339,10 @@ * @file: The filename to send. * * Send a filename to a given contact. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_serv_send_file(PurpleConnection *gc, const char *who, const char *file); G_END_DECLS
--- a/libpurple/signals.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/signals.h Tue Oct 24 02:02:49 2023 -0500 @@ -30,6 +30,8 @@ #include <glib.h> #include <glib-object.h> +#include "purpleversion.h" + /** * PurpleSignalMarshalFunc: * @cb: The #GCallback to call. @@ -338,7 +340,10 @@ * * A purple marshaller function for use with signals with a pointer and * two unsigned integer arguments. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_marshal_VOID__POINTER_UINT_UINT( GCallback cb, va_list args, void *data, void **return_val);
--- a/libpurple/status.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/status.h Tue Oct 24 02:02:49 2023 -0500 @@ -167,7 +167,10 @@ * The standard _get_type function for #PurpleStatusType. * * Returns: The #GType for #PurpleStatusType. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_status_type_get_type(void); /** @@ -417,7 +420,10 @@ * The standard _get_type function for #PurpleStatusAttribute. * * Returns: The #GType for the #PurpleStatusAttribute boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_status_attribute_get_type(void); /** @@ -429,7 +435,10 @@ * Creates a new status attribute. * * Returns: A new status attribute. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleStatusAttribute *purple_status_attribute_new(const char *id, const char *name, GValue *value_type); @@ -438,7 +447,10 @@ * @attr: The status attribute to destroy. * * Destroys a status attribute. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_status_attribute_destroy(PurpleStatusAttribute *attr); /** @@ -448,7 +460,10 @@ * Returns the ID of a status attribute. * * Returns: The status attribute's ID. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_status_attribute_get_id(const PurpleStatusAttribute *attr); /** @@ -458,7 +473,10 @@ * Returns the name of a status attribute. * * Returns: The status attribute's name. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_status_attribute_get_name(const PurpleStatusAttribute *attr); /** @@ -468,7 +486,10 @@ * Returns the value of a status attribute. * * Returns: The status attribute's value. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GValue *purple_status_attribute_get_value(const PurpleStatusAttribute *attr); /**************************************************************************/ @@ -532,7 +553,10 @@ * Returns the status's type. * * Returns: The status's type. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleStatusType *purple_status_get_status_type(PurpleStatus *status); /** @@ -701,7 +725,10 @@ * Get the handle for the status subsystem. * * Returns: the handle to the status subsystem + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void *purple_statuses_get_handle(void); /**
--- a/libpurple/util.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/util.h Tue Oct 24 02:02:49 2023 -0500 @@ -74,7 +74,10 @@ * See purple_util_write_data_to_file() * * Returns: TRUE if the file was written successfully. FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_util_write_data_to_cache_file(const char *filename, const char *data, gssize size); @@ -91,7 +94,10 @@ * See purple_util_write_data_to_file() * * Returns: TRUE if the file was written successfully. FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_util_write_data_to_config_file(const char *filename, const char *data, gssize size); @@ -108,7 +114,10 @@ * See purple_util_write_data_to_file() * * Returns: TRUE if the file was written successfully. FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_util_write_data_to_data_file(const char *filename, const char *data, gssize size); @@ -126,7 +135,10 @@ * * Returns: An PurpleXmlNode tree of the contents of the given file. Or NULL, if * the file does not exist or there was an error reading the file. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode * purple_util_read_xml_from_cache_file(const char *filename, const char *description); @@ -144,7 +156,10 @@ * * Returns: An PurpleXmlNode tree of the contents of the given file. Or NULL, if * the file does not exist or there was an error reading the file. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode * purple_util_read_xml_from_config_file(const char *filename, const char *description); @@ -162,7 +177,10 @@ * * Returns: An PurpleXmlNode tree of the contents of the given file. Or NULL, if * the file does not exist or there was an error reading the file. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode * purple_util_read_xml_from_data_file(const char *filename, const char *description); @@ -254,7 +272,10 @@ * Checks, if a string is valid. * * Returns: TRUE, if string is valid, otherwise FALSE. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_validate(PurpleProtocol *protocol, const char *str); /** @@ -330,7 +351,10 @@ * Fills a NUL-terminated string with zeros and frees it. * * It should be used to free sensitive data, like passwords. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_str_wipe(gchar *str); /** @@ -485,7 +509,10 @@ * @value: The GValue to free. * * Frees a GValue. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_value_free(GValue *value); G_END_DECLS
--- a/libpurple/xfer.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/xfer.h Tue Oct 24 02:02:49 2023 -0500 @@ -201,7 +201,10 @@ * Returns the socket file descriptor. * * Returns: The socket file descriptor. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_xfer_get_fd(PurpleXfer *xfer); /** @@ -211,7 +214,10 @@ * Returns the Watcher for the transfer. * * Returns: The watcher. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 int purple_xfer_get_watcher(PurpleXfer *xfer); /** @@ -221,7 +227,10 @@ * Returns the type of file transfer. * * Returns: The type of the file transfer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXferType purple_xfer_get_xfer_type(PurpleXfer *xfer); /** @@ -240,7 +249,10 @@ * @who: The name of the remote user. * * Sets the name of the remote user. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_set_remote_user(PurpleXfer *xfer, const char *who); /** @@ -285,7 +297,10 @@ * Returns true if the file transfer was cancelled. * * Returns: Whether or not the transfer was cancelled. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_xfer_is_cancelled(PurpleXfer *xfer); /** @@ -416,7 +431,10 @@ * @fd: The file descriptor. * * Sets the socket file descriptor. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_set_fd(PurpleXfer *xfer, int fd); /** @@ -425,7 +443,10 @@ * @watcher: The watcher. * * Sets the watcher for the file transfer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_set_watcher(PurpleXfer *xfer, int watcher); /** @@ -443,7 +464,10 @@ * @status: The current status. * * Sets the current status for the file transfer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_set_status(PurpleXfer *xfer, PurpleXferStatus status); /** @@ -476,7 +500,10 @@ * Returns the message for the file transfer. * * Returns: The message. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xfer_get_message(PurpleXfer *xfer); /** @@ -512,7 +539,10 @@ * @local_port: The local port. * * Sets the local port of the file transfer. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_set_local_port(PurpleXfer *xfer, guint16 local_port); /** @@ -683,7 +713,10 @@ * Allows the protocol to signal it's ready to send/receive data (depending on * the direction of the file transfer. Used when the protocol provides read/write * ops and cannot/does not provide a raw fd to the core. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xfer_protocol_ready(PurpleXfer *xfer); /** @@ -742,7 +775,10 @@ * The standard _get_type function for #GType's. * * Returns: The #GType for the #PurpleXferUiOps boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_xfer_ui_ops_get_type(void); /** @@ -838,7 +874,10 @@ * Checks whether or not we can transfer a file to @who. * * Returns: TRUE on success, FALSE otherwise. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 gboolean purple_protocol_xfer_can_receive(PurpleProtocolXfer *prplxfer, PurpleConnection *connection, const gchar *who); /** @@ -849,7 +888,10 @@ * @filename: The name of the file to send. * * Sends @filename to @who. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_protocol_xfer_send_file(PurpleProtocolXfer *prplxfer, PurpleConnection *connection, const gchar *who, const gchar *filename); /** @@ -861,7 +903,10 @@ * Creates a new #PurpleXfer to @who. * * Returns: (transfer full): A new #PurpleXfer instance. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXfer *purple_protocol_xfer_new_xfer(PurpleProtocolXfer *prplxfer, PurpleConnection *connection, const gchar *who); G_END_DECLS
--- a/libpurple/xmlnode.h Tue Oct 24 01:23:22 2023 -0500 +++ b/libpurple/xmlnode.h Tue Oct 24 02:02:49 2023 -0500 @@ -30,6 +30,8 @@ #include <glib.h> #include <glib-object.h> +#include "purpleversion.h" + #define PURPLE_TYPE_XMLNODE (purple_xmlnode_get_type()) /** @@ -89,7 +91,10 @@ * The standard _get_type function for registered #GType's. * * Returns: The #GType for the #PurpleXmlNode boxed structure. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 GType purple_xmlnode_get_type(void); /** @@ -99,7 +104,10 @@ * Creates a new PurpleXmlNode. * * Returns: The new node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_new(const char *name); /** @@ -110,7 +118,10 @@ * Creates a new PurpleXmlNode child. * * Returns: The new child node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_new_child(PurpleXmlNode *parent, const char *name); /** @@ -119,7 +130,10 @@ * @child: The child node to insert into parent. * * Inserts a node into a node as a child. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_insert_child(PurpleXmlNode *parent, PurpleXmlNode *child); /** @@ -130,7 +144,10 @@ * Gets a child node named name. * * Returns: The child or NULL. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_get_child(const PurpleXmlNode *parent, const char *name); /** @@ -142,7 +159,10 @@ * Gets a child node named name in a namespace. * * Returns: The child or NULL. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_get_child_with_namespace(const PurpleXmlNode *parent, const char *name, const char *xmlns); /** @@ -152,7 +172,10 @@ * Gets the next node with the same name as node. * * Returns: The twin of node or NULL. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_get_next_twin(PurpleXmlNode *node); /** @@ -163,7 +186,10 @@ * null-terminated you can pass in -1. * * Inserts data into a node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_insert_data(PurpleXmlNode *node, const char *data, gssize size); /** @@ -174,7 +200,10 @@ * * Returns: The data from the node or NULL. This data is in raw escaped format. * You must g_free this string when finished using it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 char *purple_xmlnode_get_data(const PurpleXmlNode *node); /** @@ -185,7 +214,10 @@ * * Returns: The data from the node, in unescaped form. You must g_free * this string when finished using it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 char *purple_xmlnode_get_data_unescaped(const PurpleXmlNode *node); /** @@ -195,7 +227,10 @@ * @value: The value of the attribute. * * Sets an attribute for a node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_set_attrib(PurpleXmlNode *node, const char *attr, const char *value); /** @@ -207,7 +242,10 @@ * @value: The value of the attribute * * Sets a namespaced attribute for a node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_set_attrib_full(PurpleXmlNode *node, const char *attr, const char *xmlns, const char *prefix, const char *value); @@ -219,7 +257,10 @@ * Gets an attribute from a node. * * Returns: The value of the attribute. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_attrib(const PurpleXmlNode *node, const char *attr); /** @@ -231,7 +272,10 @@ * Gets a namespaced attribute from a node * * Returns: The value of the attribute/ + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_attrib_with_namespace(const PurpleXmlNode *node, const char *attr, const char *xmlns); /** @@ -240,7 +284,10 @@ * @attr: The attribute to remove. * * Removes an attribute from a node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_remove_attrib(PurpleXmlNode *node, const char *attr); /** @@ -250,7 +297,10 @@ * @xmlns: The namespace of the attribute to remove * * Removes a namespaced attribute from a node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_remove_attrib_with_namespace(PurpleXmlNode *node, const char *attr, const char *xmlns); /** @@ -259,7 +309,10 @@ * @xmlns: The namespace of the node * * Sets the namespace of a node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_set_namespace(PurpleXmlNode *node, const char *xmlns); /** @@ -269,7 +322,10 @@ * Returns the namespace of a node * * Returns: The namespace of this node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_namespace(const PurpleXmlNode *node); /** @@ -292,7 +348,10 @@ * though the namespace for 'element' is "http://example.org/ns1". * * Returns: The default namespace of this node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_default_namespace(const PurpleXmlNode *node); /** @@ -303,7 +362,10 @@ * Returns the defined namespace for a prefix. * * Returns: The namespace for this prefix. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_prefix_namespace(const PurpleXmlNode *node, const char *prefix); /** @@ -312,7 +374,10 @@ * @prefix: The prefix of the node * * Sets the prefix of a node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_set_prefix(PurpleXmlNode *node, const char *prefix); /** @@ -322,7 +387,10 @@ * Returns the prefix of a node * * Returns: The prefix of this node + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 const char *purple_xmlnode_get_prefix(const PurpleXmlNode *node); /** @@ -336,7 +404,10 @@ * (prefixed attributes may still exist), and that this usage may * break some applications (SOAP / XPath apparently often rely on * the prefixes having the same name. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_strip_prefixes(PurpleXmlNode *node); /** @@ -346,7 +417,10 @@ * Gets the parent node. * * Returns: The parent or NULL. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_get_parent(const PurpleXmlNode *child); /** @@ -358,7 +432,10 @@ * * Returns: The node represented as a string. You must * g_free this string when finished using it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 char *purple_xmlnode_to_str(const PurpleXmlNode *node, int *len); /** @@ -371,7 +448,10 @@ * Returns: The node as human readable string including * tab and new line characters. You must * g_free this string when finished using it. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 char *purple_xmlnode_to_formatted_str(const PurpleXmlNode *node, int *len); /** @@ -385,7 +465,10 @@ * into a tree of nodes, and return the PurpleXmlNode of the root. * * Returns: The new node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_from_str(const char *str, gssize size); /** @@ -395,7 +478,10 @@ * Creates a new node from the source node. * * Returns: A new copy of the src node. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_copy(const PurpleXmlNode *src); /** @@ -403,7 +489,10 @@ * @node: The node to free. * * Frees a node and all of its children. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 void purple_xmlnode_free(PurpleXmlNode *node); /** @@ -420,7 +509,10 @@ * into a tree of nodes, and return the PurpleXmlNode of the root. * * Returns: The new node or NULL if an error occurred. + * + * Since: 3.0.0 */ +PURPLE_AVAILABLE_IN_3_0 PurpleXmlNode *purple_xmlnode_from_file(const char *dir, const char *filename, const char *description, const char *process);