Tue, 09 Apr 2024 21:50:31 -0500
Add a doc-check unit test to libpurple and fix the issues it has found
Testing Done:
Ran ninja turtles
Reviewed at https://reviews.imfreedom.org/r/3050/
--- a/doc/reference/libpurple/libpurple.toml.in Wed Apr 03 16:32:56 2024 -0500 +++ b/doc/reference/libpurple/libpurple.toml.in Tue Apr 09 21:50:31 2024 -0500 @@ -54,3 +54,27 @@ content_images = [ ] urlmap_file = "urlmap.js" + +[[object]] +pattern = "DEPRECATED_IN_*" +hidden = true + +[[object]] +name = "DEPRECATED_FOR" +hidden = true + +[[object]] +name = "UNAVAILABLE" +hidden = true + +[[object]] +name = "UNAVAILABLE_MACRO" +hidden = true + +[[object]] +name = "UNAVAILABLE_STATIC_INLINE" +hidden = true + +[[object]] +name = "UNAVAILABLE_TYPE" +hidden = true \ No newline at end of file
--- a/doc/reference/libpurple/meson.build Wed Apr 03 16:32:56 2024 -0500 +++ b/doc/reference/libpurple/meson.build Tue Apr 09 21:50:31 2024 -0500 @@ -44,5 +44,18 @@ install : true, install_dir : docs_dir, ) + + test('doc-check', + gidocgen, + args: [ + 'check', + '--config', libpurple_toml, + '--add-include-path=@0@'.format(meson.global_build_root() / 'subprojects/birb/birb'), + '--add-include-path=@0@'.format(meson.global_build_root() / 'subprojects/gplugin/gplugin'), + libpurple_gir[0], + ], + depends: libpurple_gir[0], + verbose: true, + ) endif
--- a/libpurple/action.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/action.h Tue Apr 09 21:50:31 2024 -0500 @@ -37,6 +37,14 @@ PURPLE_AVAILABLE_TYPE_IN_3_0 typedef struct _PurpleProtocolAction PurpleProtocolAction; +/** + * PurpleProtocolActionCallback: + * @action: The action that was activated. + * + * The callback function for [type@ProtocolAction]. + * + * Since: 3.0 + */ PURPLE_AVAILABLE_TYPE_IN_3_0 typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action);
--- a/libpurple/blistnode.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/blistnode.c Tue Apr 09 21:50:31 2024 -0500 @@ -373,6 +373,13 @@ obj_class->get_property = purple_blist_node_get_property; obj_class->set_property = purple_blist_node_set_property; + /** + * PurpleBlistNode:transient: + * + * If %TRUE the node will not be saved to the contact list. + * + * Since: 3.0 + */ properties[PROP_TRANSIENT] = g_param_spec_boolean("transient", "Transient", "Whether node should not be saved with the buddy list.",
--- a/libpurple/blistnode.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/blistnode.h Tue Apr 09 21:50:31 2024 -0500 @@ -319,6 +319,8 @@ * purple_blist_node_get_extended_menu: * @n: The blist node for which to obtain the extended menu items. * + * Emits the blist-node-extended-menu signal and returns the results. + * * Returns: (element-type PurpleActionMenu) (transfer full): The extended menu * items for a buddy list node, as harvested by the * blist-node-extended-menu signal.
--- a/libpurple/buddy.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/buddy.c Tue Apr 09 21:50:31 2024 -0500 @@ -257,41 +257,92 @@ NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:name: + * + * The name of the buddy. + * + * Since: 3.0 + */ properties[PROP_NAME] = g_param_spec_string( "name", "Name", "The name of the buddy.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:local-alias: + * + * An alias for the buddy created by the libpurple user. + * + * Since: 3.0 + */ properties[PROP_LOCAL_ALIAS] = g_param_spec_string( "local-alias", "Local alias", "Local alias of thee buddy.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:server-alias: + * + * An alias that is created by the remote user. + * + * This is typically called a display name now. + * + * Since: 3.0 + */ properties[PROP_SERVER_ALIAS] = g_param_spec_string( "server-alias", "Server alias", "Server-side alias of the buddy.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:icon: + * + * An avatar for the buddy. + * + * Since: 3.0 + */ properties[PROP_ICON] = g_param_spec_pointer( "icon", "Buddy icon", "The icon for the buddy.", G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:account: + * + * The [class@Account] that this buddy belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", "The account for the buddy.", PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:presence: + * + * The [class@Presence] for this buddy. + * + * Since: 3.0 + */ properties[PROP_PRESENCE] = g_param_spec_object( "presence", "Presence", "The status information for the buddy.", PURPLE_TYPE_PRESENCE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleBuddy:media-caps: + * + * The media caps for this buddy. + * + * Since: 3.0 + */ properties[PROP_MEDIA_CAPS] = g_param_spec_enum( "media-caps", "Media capabilities", "The media capabilities of the buddy.",
--- a/libpurple/buddyicon.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/buddyicon.h Tue Apr 09 21:50:31 2024 -0500 @@ -59,6 +59,8 @@ * @PURPLE_ICON_SCALE_DISPLAY: We scale the icon when we display it * @PURPLE_ICON_SCALE_SEND: We scale the icon before we send it to the server * + * Flags for when an icon should be scaled. + * * Since: 2.0 */ typedef enum /*< flags >*/
--- a/libpurple/chat.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/chat.c Tue Apr 09 21:50:31 2024 -0500 @@ -265,6 +265,13 @@ obj_class->set_property = purple_chat_set_property; obj_class->constructed = purple_chat_constructed; + /** + * PurpleChat:alias: + * + * The alias of the chat. + * + * Since: 3.0 + */ properties[PROP_ALIAS] = g_param_spec_string( "alias", "Alias", @@ -273,6 +280,13 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS ); + /** + * PurpleChat:account: + * + * The account that the chat belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", @@ -281,6 +295,13 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS ); + /** + * PurpleChat:components: + * + * The components for the chat. + * + * Since: 3.0 + */ properties[PROP_COMPONENTS] = g_param_spec_pointer( "components", "Components",
--- a/libpurple/circularbuffer.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/circularbuffer.c Tue Apr 09 21:50:31 2024 -0500 @@ -315,19 +315,47 @@ buffer_class->max_read_size = purple_circular_buffer_real_max_read_size; buffer_class->mark_read = purple_circular_buffer_real_mark_read; + /** + * PurpleCircularBuffer:grow-size: + * + * The grow size of the buffer. + * + * Since: 3.0 + */ properties[PROP_GROW_SIZE] = g_param_spec_uint64( "grow-size", "grow-size", "The grow size of the buffer", 0, G_MAXSIZE, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleCircularBuffer:buffer-used: + * + * How much of the buffer that has been used. + * + * Since: 3.0 + */ properties[PROP_BUFFER_USED] = g_param_spec_uint64( "buffer-used", "buffer-used", "The amount of the buffer used", 0, G_MAXSIZE, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleCircularBuffer:input: + * + * The input pointer of the buffer. + * + * Since: 3.0 + */ properties[PROP_INPUT] = g_param_spec_pointer("input", "input", "The input pointer of the buffer", G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleCircularBuffer:output: + * + * The output pointer of the buffer. + * + * Since: 3.0 + */ properties[PROP_OUTPUT] = g_param_spec_pointer("output", "output", "The output pointer of the buffer", G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
--- a/libpurple/circularbuffer.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/circularbuffer.h Tue Apr 09 21:50:31 2024 -0500 @@ -34,6 +34,13 @@ G_BEGIN_DECLS +/** + * PurpleCircularBuffer: + * + * A circular buffer implementation. + * + * Since: 3.0 + */ #define PURPLE_TYPE_CIRCULAR_BUFFER (purple_circular_buffer_get_type()) PURPLE_AVAILABLE_IN_3_0
--- a/libpurple/cmds.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/cmds.h Tue Apr 09 21:50:31 2024 -0500 @@ -91,6 +91,8 @@ * * A function implementing a command, as passed to purple_cmd_register(). * + * Returns: The result of the command. + * * Since: 2.0 */ typedef PurpleCmdRet (*PurpleCmdFunc)(PurpleConversation *conversation, const gchar *cmd,
--- a/libpurple/connection.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/connection.c Tue Apr 09 21:50:31 2024 -0500 @@ -893,9 +893,16 @@ klass->connect = purple_connection_default_connect; klass->disconnect = purple_connection_default_disconnect; + /** + * PurpleConnection:id: + * + * The unique identifier for the connection. + * + * Since: 3.0 + */ properties[PROP_ID] = g_param_spec_string( "id", "id", - "The identifier of the account", + "The identifier of the connection", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); @@ -915,34 +922,78 @@ G_TYPE_CANCELLABLE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:protocol: + * + * The protocol that this connection is for. + * + * Since: 3.0 + */ properties[PROP_PROTOCOL] = g_param_spec_object( "protocol", "Protocol", "The protocol that the connection is using.", PURPLE_TYPE_PROTOCOL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:flags: + * + * The flags for this connection. + * + * Since: 3.0 + */ properties[PROP_FLAGS] = g_param_spec_flags( "flags", "Connection flags", "The flags of the connection.", PURPLE_TYPE_CONNECTION_FLAGS, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:state: + * + * The state of the connection. + * + * Since: 3.0 + */ properties[PROP_STATE] = g_param_spec_enum( "state", "Connection state", "The current state of the connection.", PURPLE_TYPE_CONNECTION_STATE, PURPLE_CONNECTION_STATE_DISCONNECTED, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:account: + * + * The account this connection belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", "The account using the connection.", PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:password: + * + * The password for this connection. + * + * This is only stored for reconnections and may go away in the future. + * + * Since: 3.0 + */ properties[PROP_PASSWORD] = g_param_spec_string( "password", "Password", "The password used for connection.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleConnection:display-name: + * + * The display name for the account. + * + * Since: 3.0 + */ properties[PROP_DISPLAY_NAME] = g_param_spec_string( "display-name", "Display name", "Your name that appears to other people.", NULL,
--- a/libpurple/contact.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/contact.c Tue Apr 09 21:50:31 2024 -0500 @@ -328,6 +328,13 @@ obj_class->get_property = purple_meta_contact_get_property; obj_class->set_property = purple_meta_contact_set_property; + /** + * PurpleMetaContact:alias: + * + * The alias for the contact. + * + * Since: 3.0 + */ properties[PROP_ALIAS] = g_param_spec_string( "alias", "Alias", @@ -336,6 +343,13 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS ); + /** + * PurpleMetaContact:priority-buddy: + * + * The priority buddy of the contact. + * + * Since: 3.0 + */ properties[PROP_PRIORITY_BUDDY] = g_param_spec_object( "priority-buddy", "Priority buddy",
--- a/libpurple/core.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/core.h Tue Apr 09 21:50:31 2024 -0500 @@ -33,6 +33,15 @@ #include "purpleui.h" #include "purpleversion.h" +/** + * PurpleCore: + * + * The core instance for libpurple. + * + * This is primarily used for connecting to signals. + * + * Since: 2.0 + */ typedef struct PurpleCore PurpleCore; G_BEGIN_DECLS @@ -117,7 +126,7 @@ PurpleUi *purple_core_get_ui(void); /** - * purple_get_local_dir: + * purple_get_locale_dir: * * Gets the search directory for translations. *
--- a/libpurple/countingnode.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/countingnode.c Tue Apr 09 21:50:31 2024 -0500 @@ -220,6 +220,13 @@ obj_class->get_property = purple_counting_node_get_property; obj_class->set_property = purple_counting_node_set_property; + /** + * PurpleCountingNode:total-size: + * + * The number of children under this node. + * + * Since: 3.0 + */ properties[PROP_TOTAL_SIZE] = g_param_spec_int( "total-size", "Total size", @@ -228,6 +235,13 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS ); + /** + * PurpleCountingNode:current-size: + * + * The number of children with online accounts. + * + * Since: 3.0 + */ properties[PROP_CURRENT_SIZE] = g_param_spec_int( "current-size", "Current size", @@ -236,6 +250,13 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS ); + /** + * PurpleCountingNode:online-count: + * + * The number of children that are online. + * + * Since: 3.0 + */ properties[PROP_ONLINE_COUNT] = g_param_spec_int( "online-count", "Online count",
--- a/libpurple/group.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/group.c Tue Apr 09 21:50:31 2024 -0500 @@ -331,6 +331,13 @@ obj_class->get_property = purple_group_get_property; obj_class->set_property = purple_group_set_property; + /** + * PurpleGroup:name: + * + * The name of the group. + * + * Since: 3.0 + */ properties[PROP_NAME] = g_param_spec_string( "name", "Name",
--- a/libpurple/idle.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/idle.h Tue Apr 09 21:50:31 2024 -0500 @@ -53,6 +53,7 @@ /** * purple_idle_set: + * @time: The time to set the idle time to. * * Fake our idle time by setting the time at which our * accounts purportedly became idle. This is used by
--- a/libpurple/image.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/image.c Tue Apr 09 21:50:31 2024 -0500 @@ -140,6 +140,13 @@ gobj_class->get_property = purple_image_get_property; gobj_class->set_property = purple_image_set_property; + /** + * PurpleImage:path: + * + * The file path for the image if one was provided. + * + * Since: 3.0 + */ properties[PROP_PATH] = g_param_spec_string( "path", "path", @@ -148,6 +155,13 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS ); + /** + * PurpleImage:contents: + * + * The contents of the image. + * + * Since: 3.0 + */ properties[PROP_CONTENTS] = g_param_spec_boxed( "contents", "contents", @@ -156,6 +170,13 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS ); + /** + * PurpleImage:size: + * + * The size of the image in bytes. + * + * Since: 3.0 + */ properties[PROP_SIZE] = g_param_spec_uint64( "size", "size",
--- a/libpurple/media/backend-iface.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/media/backend-iface.h Tue Apr 09 21:50:31 2024 -0500 @@ -50,13 +50,6 @@ */ typedef struct _PurpleMediaBackend PurpleMediaBackend; -/** - * PurpleMediaBackendInterface: - * - * A structure to derive media backends from. - * - * Since: 3.0 - */ typedef struct _PurpleMediaBackendInterface PurpleMediaBackendInterface; struct _PurpleMediaBackendInterface
--- a/libpurple/notify.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/notify.h Tue Apr 09 21:50:31 2024 -0500 @@ -33,8 +33,22 @@ #include "purpleversion.h" +/** + * PurpleNotifyUserInfoEntry: + * + * A entry for the user information. + * + * Since: 2.0 + */ typedef struct _PurpleNotifyUserInfoEntry PurpleNotifyUserInfoEntry; +/** + * PurpleNotifyUserInfo: + * + * A collection of user information entries. + * + * Since: 2.0 + */ #define PURPLE_TYPE_NOTIFY_USER_INFO (purple_notify_user_info_get_type()) typedef struct _PurpleNotifyUserInfo PurpleNotifyUserInfo; @@ -556,6 +570,8 @@ * Create a textual representation of a PurpleNotifyUserInfo, separating * entries with newline * + * Returns: (transfer full): The text. + * * Since: 2.0 */ PURPLE_AVAILABLE_IN_ALL
--- a/libpurple/plugins.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/plugins.h Tue Apr 09 21:50:31 2024 -0500 @@ -33,6 +33,12 @@ #define PURPLE_PLUGINS_DOMAIN (g_quark_from_static_string("plugins")) #define PURPLE_TYPE_PLUGIN GPLUGIN_TYPE_PLUGIN +/** + * PURPLE_PLUGIN: + * @obj: The instance. + * + * A typecast macro to cast @obj to PurplePlugin. + */ #define PURPLE_PLUGIN(obj) GPLUGIN_PLUGIN(obj) #define PURPLE_IS_PLUGIN(obj) GPLUGIN_IS_PLUGIN(obj) #define PURPLE_PLUGIN_GET_IFACE(obj) GPLUGIN_PLUGIN_GET_IFACE(obj) @@ -47,6 +53,15 @@ */ typedef GPluginPlugin PurplePlugin; +/** + * PurplePluginInterface: + * + * Represents the plugin interface. + * + * This type is an alias for GPluginPluginInterface. + * + * Since: 3.0 + */ typedef GPluginPluginInterface PurplePluginInterface; #include "purpleplugininfo.h" @@ -124,6 +139,7 @@ /** * purple_plugin_disable: + * @plugin: The plugin. * * Disable a plugin. *
--- a/libpurple/prefs.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/prefs.h Tue Apr 09 21:50:31 2024 -0500 @@ -524,6 +524,8 @@ * * Read preferences * + * Returns: %TRUE if the prefs loaded successfully, otherwise %FALSE. + * * Since: 2.0 */ PURPLE_AVAILABLE_IN_ALL
--- a/libpurple/purpleaccount.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleaccount.h Tue Apr 09 21:50:31 2024 -0500 @@ -747,6 +747,8 @@ * * Whether the account supports sending offline messages to buddy. * + * Returns: %TRUE if offline messages are supported, otherwise %FALSE. + * * Since: 2.0 */ PURPLE_AVAILABLE_IN_ALL
--- a/libpurple/purpleaccountmanager.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleaccountmanager.h Tue Apr 09 21:50:31 2024 -0500 @@ -239,6 +239,7 @@ /** * purple_account_manager_set_online: * @manager: The instance. + * @online: The new online status. * * Sets whether or not new accounts should automatically have * [method@Account.connect] called for them.
--- a/libpurple/purpleaccountpresence.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleaccountpresence.c Tue Apr 09 21:50:31 2024 -0500 @@ -175,6 +175,13 @@ presence_class->update_idle = purple_account_presence_update_idle; presence_class->get_statuses = purple_account_presence_get_statuses; + /** + * PurpleAccountPresence:account: + * + * The account for this presence. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", "The account for this presence.",
--- a/libpurple/purpleattachment.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleattachment.h Tue Apr 09 21:50:31 2024 -0500 @@ -64,6 +64,8 @@ * * Creates a new #PurpleAttachment with the given @id and @content_type. * + * Returns: (transfer full): The new attachment. + * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0
--- a/libpurple/purplebuddypresence.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplebuddypresence.c Tue Apr 09 21:50:31 2024 -0500 @@ -250,6 +250,13 @@ presence_class->update_idle = purple_buddy_presence_update_idle; presence_class->get_statuses = purple_buddy_presence_get_statuses; + /** + * PurpleBuddyPresence:buddy: + * + * The buddy for this presence. + * + * Since: 3.0 + */ properties[PROP_BUDDY] = g_param_spec_object( "buddy", "Buddy", "The buddy for this presence.",
--- a/libpurple/purplechatconversation.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplechatconversation.c Tue Apr 09 21:50:31 2024 -0500 @@ -255,7 +255,7 @@ conv_class->write_message = chat_conversation_write_message; /** - * PurpleChatConversation::chat-id: + * PurpleChatConversation:chat-id: * * The identifier of the chat. */ @@ -266,7 +266,7 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /** - * PurpleChatConversation::left: + * PurpleChatConversation:left: * * Whether the user has left the chat or not. */
--- a/libpurple/purplechatuser.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplechatuser.c Tue Apr 09 21:50:31 2024 -0500 @@ -171,24 +171,52 @@ obj_class->set_property = purple_chat_user_set_property; obj_class->finalize = purple_chat_user_finalize; + /** + * PurpleChatUser:chat: + * + * The chat the user is in. + * + * Since: 3.0 + */ properties[PROP_CHAT] = g_param_spec_object( "chat", "Chat", "The chat the buddy belongs to.", PURPLE_TYPE_CHAT_CONVERSATION, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleChatUser:name: + * + * The name of the user. + * + * Since: 3.0 + */ properties[PROP_NAME] = g_param_spec_string( "name", "Name", "Name of the chat user.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleChatUser:alias: + * + * The alias of the user. + * + * Since: 3.0 + */ properties[PROP_ALIAS] = g_param_spec_string( "alias", "Alias", "Alias of the chat user.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleChatUser:flags: + * + * The flags for the user. + * + * Since: 3.0 + */ properties[PROP_FLAGS] = g_param_spec_flags( "flags", "Buddy flags", "The flags for the chat user.",
--- a/libpurple/purpleconnectionerrorinfo.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleconnectionerrorinfo.h Tue Apr 09 21:50:31 2024 -0500 @@ -75,6 +75,8 @@ * self-signed. * @PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR: There was some other error * validating the server's SSL certificate. + * @PURPLE_CONNECTION_ERROR_CUSTOM_TEMPORARY: A custom error that is temporary. + * @PURPLE_CONNECTION_ERROR_CUSTOM_FATAL: A custom error that is fatal. * @PURPLE_CONNECTION_ERROR_OTHER_ERROR: Some other error occurred which fits * into none of the other categories. *
--- a/libpurple/purplecontactinfo.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplecontactinfo.h Tue Apr 09 21:50:31 2024 -0500 @@ -67,13 +67,6 @@ #include "purpleperson.h" -/** - * PurpleContactInfoClass: - * - * The class struct for [class@Purple.ContactInfo]. - * - * Since: 3.0 - */ struct _PurpleContactInfoClass { /*< private >*/ GObjectClass parent; @@ -316,7 +309,7 @@ GTimeZone *purple_contact_info_get_time_zone(PurpleContactInfo *info); /** - * purple_contact_info-set_time_zone: + * purple_contact_info_set_time_zone: * @info: The instance. * @time_zone: (transfer none) (nullable): The new time zone. * @@ -325,7 +318,7 @@ * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 -void purple_contact_info_set_time_zone(PurpleContactInfo *info, GTimeZone *timezone); +void purple_contact_info_set_time_zone(PurpleContactInfo *info, GTimeZone *time_zone); /** * purple_contact_info_get_note:
--- a/libpurple/purpleconversation.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleconversation.c Tue Apr 09 21:50:31 2024 -0500 @@ -688,6 +688,13 @@ PURPLE_CONVERSATION_TYPE_UNSET, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleConversation:account: + * + * The account this conversation belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", "The account for the conversation.", @@ -710,18 +717,39 @@ PURPLE_TYPE_AVATAR, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleConversation:name: + * + * The name of the conversation. + * + * Since: 3.0 + */ properties[PROP_NAME] = g_param_spec_string( "name", "Name", "The name of the conversation.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleConversation:title: + * + * The title of the conversation. + * + * Since: 3.0 + */ properties[PROP_TITLE] = g_param_spec_string( "title", "Title", "The title of the conversation.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleConversation:features: + * + * The features that this conversation supports. + * + * Since: 3.0 + */ properties[PROP_FEATURES] = g_param_spec_flags( "features", "Connection features", "The connection features of the conversation.",
--- a/libpurple/purpleconversation.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleconversation.h Tue Apr 09 21:50:31 2024 -0500 @@ -403,6 +403,8 @@ * * Get the features supported by the given conversation. * + * Returns: The flags. + * * Since: 2.0 */ PURPLE_AVAILABLE_IN_ALL
--- a/libpurple/purpledebugui.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpledebugui.h Tue Apr 09 21:50:31 2024 -0500 @@ -50,10 +50,7 @@ #include "debug.h" /** - * PurpleDebugUiInterface: - * @print: Called to output a debug string to the UI. - * @is_enabled: Returns if debug printing is enabled in the UI for a @level and - * @category. + * PurpleDebugUi: * * Debug UI operations. */
--- a/libpurple/purplefiletransfer.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplefiletransfer.h Tue Apr 09 21:50:31 2024 -0500 @@ -47,6 +47,8 @@ * @PURPLE_FILE_TRANSFER_STATE_FINISHED: The transfer has completed * successfully. * @PURPLE_FILE_TRANSFER_STATE_FAILED: The transfer failed. + * + * The possible states that a file transfer can be in. */ typedef enum { PURPLE_FILE_TRANSFER_STATE_UNKNOWN,
--- a/libpurple/purpleidlemanager.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleidlemanager.c Tue Apr 09 21:50:31 2024 -0500 @@ -84,7 +84,7 @@ obj_class->get_property = purple_idle_manager_get_property; /** - * PurpleIdleManager::timestamp: + * PurpleIdleManager:timestamp: * * The aggregate of the oldest idle timestamp of all of the sources that * are known.
--- a/libpurple/purpleidleui.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleidleui.h Tue Apr 09 21:50:31 2024 -0500 @@ -42,7 +42,7 @@ G_DECLARE_INTERFACE(PurpleIdleUi, purple_idle_ui, PURPLE, IDLE_UI, GObject) /** - * PurpleIdleUiInterface: + * PurpleIdleUi: * @get_idle_time: vfunc to get the time that the user interface has been idle. * * An interface that a user interface can implement to let the core determine
--- a/libpurple/purpleimconversation.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleimconversation.c Tue Apr 09 21:50:31 2024 -0500 @@ -192,6 +192,13 @@ conv_class->write_message = im_conversation_write_message; + /** + * PurpleIMConversation:typing-state: + * + * The typing state of the remote user. + * + * Since: 3.0 + */ properties[PROP_TYPING_STATE] = g_param_spec_enum( "typing-state", "Typing state", "Status of the user's typing of a message.",
--- a/libpurple/purplemenu.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplemenu.h Tue Apr 09 21:50:31 2024 -0500 @@ -34,6 +34,13 @@ G_BEGIN_DECLS +/** + * PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET: + * + * A constant to help when defining actions that have a dynamic-target value. + * + * Since: 3.0 + */ #define PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET "dynamic-target" /**
--- a/libpurple/purplemessage.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplemessage.c Tue Apr 09 21:50:31 2024 -0500 @@ -300,7 +300,7 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /** - * PurpleMessage:content: + * PurpleMessage:contents: * * The contents of the message. * @@ -401,7 +401,7 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /** - * PurpleMessaged:edited: + * PurpleMessage:edited: * * Whether or not this message has been edited. * @@ -416,7 +416,7 @@ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); /** - * PurpleMessage:edit-at: + * PurpleMessage:edited-at: * * The time that the message was last edited at. This is protocol dependent * and possibly client dependent as well. So if this is %NULL that doesn't
--- a/libpurple/purplemessage.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplemessage.h Tue Apr 09 21:50:31 2024 -0500 @@ -399,7 +399,7 @@ * * Adds @attachment to @message. * - * Returns %TRUE if an attachment with the same ID did not already exist. + * Returns: %TRUE if an attachment with the same ID did not already exist. * * Since: 3.0 */
--- a/libpurple/purplenotification.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplenotification.h Tue Apr 09 21:50:31 2024 -0500 @@ -39,6 +39,25 @@ /** * PurpleNotificationType: + * @PURPLE_NOTIFICATION_TYPE_UNKNOWN: This type is unknown. + * @PURPLE_NOTIFICATION_TYPE_GENERIC: A generic notification that is just text + * that may have links. + * @PURPLE_NOTIFICATION_TYPE_CONNECTION_ERROR: A notification that is for a + * connection error. + * @PURPLE_NOTIFICATION_TYPE_AUTHORIZATION_REQUEST: A notification for a + * contact authorization + * request. + * @PURPLE_NOTIFICATION_TYPE_ADD_CONTACT: A notification for when a contact add + * you to their contact list. + * @PURPLE_NOTIFICATION_TYPE_FILE_TRANSFER: A notification for a file transfer. + * @PURPLE_NOTIFICATION_TYPE_CHAT_INVITE: A notification when the user has been + * invited to a chat. + * @PURPLE_NOTIFICATION_TYPE_MENTION: A notification that the user has been + * mentioned. + * @PURPLE_NOTIFICATION_TYPE_REACTION: A notification when a reaction has been + * added to message. + * + * The different types of notifications. * * Since: 3.0 */
--- a/libpurple/purpleperson.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleperson.h Tue Apr 09 21:50:31 2024 -0500 @@ -225,7 +225,7 @@ const char *purple_person_get_name_for_display(PurplePerson *person); /** - * purple_person_add_contact: + * purple_person_add_contact_info: * @person: The instance. * @info: The [class@Purple.ContactInfo] to add. * @@ -267,7 +267,7 @@ PURPLE_AVAILABLE_IN_3_0 PurpleContactInfo *purple_person_get_priority_contact_info(PurplePerson *person); -/* +/** * purple_person_has_contacts: * @person: The instance. *
--- a/libpurple/purpleplugininfo.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleplugininfo.c Tue Apr 09 21:50:31 2024 -0500 @@ -210,6 +210,13 @@ obj_class->get_property = purple_plugin_info_get_property; obj_class->set_property = purple_plugin_info_set_property; + /** + * PurplePluginInfo:flags: + * + * Flags for the plugin. + * + * Since: 3.0 + */ properties[PROP_FLAGS] = g_param_spec_flags( "flags", "Plugin flags", "The flags for the plugin",
--- a/libpurple/purpleprotocol.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocol.h Tue Apr 09 21:50:31 2024 -0500 @@ -163,6 +163,9 @@ * @IFACE: The interface name in caps. e.g. <literal>CLIENT</literal> * @func: The function to check * + * Checks if a protocol plugin implements an interface and a specific function + * in the interface. + * * Returns: %TRUE if a protocol implements a function in an interface, * %FALSE otherwise. *
--- a/libpurple/purpleprotocolactions.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolactions.h Tue Apr 09 21:50:31 2024 -0500 @@ -49,24 +49,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolActionsInterface: - * @get_prefix: The prefix used for the actions in the group. If this isn't - * implemented, the id of the protocol will be used instead. - * @get_action_group: Returns the actions the protocol can perform. If actions - * depend on connectivity, connect to the relevant signals - * on the @connection and signal the action has changed with - * [iface@GLib.ActionGroup] signals. - * @get_menu: Get the menu used to display protocol actions. In Pidgin, these - * will show up in the Accounts menu, under a submenu with the name - * of the account. - * - * The protocol actions interface. - * - * This interface provides a gateway between purple and the protocol. - * - * Since: 3.0 - */ struct _PurpleProtocolActionsInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolchat.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolchat.h Tue Apr 09 21:50:31 2024 -0500 @@ -77,36 +77,6 @@ G_BEGIN_DECLS -/** - * PurpleProtocolChatInterface: - * @info: Returns a list of #PurpleProtocolChatEntry structs, which represent - * information required by the protocol to join a chat. libpurple will - * call join_chat along with the information filled by the user. - * @info_defaults: Returns a hashtable which maps #PurpleProtocolChatEntry - * struct identifiers to default options as strings based on - * @chat_name. The resulting hashtable should be created with - * #g_hash_table_new_full(#g_str_hash, #g_str_equal, %NULL, - * #g_free). Use @get_name if you instead need to extract a chat - * name from a hashtable. - * @join: Called when the user requests joining a chat. Should arrange for - * purple_serv_got_joined_chat() to be called. - * @reject: Called when the user refuses a chat invitation. - * @get_name: Returns a chat name based on the information in components. Use - * @info_defaults if you instead need to generate a hashtable from a - * chat name. - * @invite: Invite a user to join a chat. - * @leave: Called when the user requests leaving a chat. - * @send: Send a message to a chat. - * @get_user_real_name: Gets the real name of a participant in a chat. For - * example, on XMPP this turns a chat room nick - * <literal>foo</literal> into - * <literal>room\@server/foo</literal>. - * @set_topic: Called to set the topic for the given chat. - * - * The protocol chat interface. - * - * This interface provides callbacks needed by protocols that implement chats. - */ struct _PurpleProtocolChatInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolclient.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolclient.h Tue Apr 09 21:50:31 2024 -0500 @@ -51,71 +51,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolClientInterface: - * @get_actions: Returns the actions the protocol can perform. These will show - * up in the Accounts menu, under a submenu with the name of the - * account. - * @list_emblem: Fills the four <type>char**</type>'s with string identifiers - * for "emblems" that the UI will interpret and display as - * relevant. - * @blist_node_menu: Returns a list of #PurpleActionMenu structs, which - * represent extra actions to be shown in (for example) the - * right-click menu for @node. - * @buddy_free: Allows the protocol to clean up any additional data for the - * given buddy. - * @convo_closed: Allows the protocol to do any necessary cleanup when a - * conversation is closed. - * @normalize: Convert the username @who to its canonical form. Also checks for - * validity. - * <sbr/>For example, AIM treats "fOo BaR" and "foobar" as the same - * user; this function should return the same normalized string for - * both of those. On the other hand, both of these are invalid for - * protocols with number-based usernames, so function should return - * %NULL in such case. - * <sbr/>@account: The account the username is related to. Can be - * %NULL. - * <sbr/>@who: The username to convert. - * <sbr/>Returns: Normalized username, or %NULL, if it's invalid. - * @find_blist_chat: Attempts to find a chat with the given name in the contact - * list. - * @offline_message: Checks whether offline messages to @buddy are supported. - * <sbr/>Returns: %TRUE if @buddy can be sent messages while - * they are offline, or %FALSE if not. - * @get_account_text_table: This allows protocols to specify additional strings - * to be used for various purposes. The idea is to - * stuff a bunch of strings in this hash table instead - * of expanding the struct for every addition. This - * hash table is allocated every call and - * <emphasis>MUST</emphasis> be unrefed by the caller. - * <sbr/>@account: The account to specify. This can be - * %NULL. - * <sbr/>Returns: The protocol's string hash table. - * The hash table should be destroyed - * by the caller when it's no longer - * needed. - * @get_max_message_size: Gets the maximum message size in bytes for the - * conversation. - * <sbr/>It may depend on connection-specific or - * conversation-specific variables, like channel or - * buddy's name length. - * <sbr/>This value is intended for plaintext message, - * the exact value may be lower because of: - * <sbr/> - used newlines (some protocols count them as - * more than one byte), - * <sbr/> - formatting, - * <sbr/> - used special characters. - * <sbr/>@conv: The conversation to query, or NULL to - * get safe minimum for the protocol. - * <sbr/>Returns: Maximum message size, 0 if unspecified, - * -1 for infinite. - * - * The protocol client interface. - * - * This interface provides a gateway between purple and the protocol. - * - * Since: 3.0 - */ struct _PurpleProtocolClientInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolcontacts.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolcontacts.h Tue Apr 09 21:50:31 2024 -0500 @@ -60,15 +60,6 @@ g_quark_from_static_string("purple-protocol-contacts") \ PURPLE_AVAILABLE_MACRO_IN_3_0 -/** - * PurpleProtocolContactsInterface: - * - * This interface defines the behavior for interacting with contacts at the - * protocol layer. These methods will primarily be called by the user - * interface. - * - * Since: 3.0 - */ struct _PurpleProtocolContactsInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolconversation.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolconversation.h Tue Apr 09 21:50:31 2024 -0500 @@ -48,7 +48,7 @@ PURPLE, PROTOCOL_CONVERSATION, PurpleProtocol) /** - * PurpleProtocolConversationInterface: + * PurpleProtocolConversation: * * This interface defines the behavior for interacting with conversations at * the protocol layer. These methods will primarily be called by the user @@ -255,7 +255,7 @@ gboolean purple_protocol_conversation_set_avatar_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error); /** - * purple_protocl_conversation_send_typing_state: + * purple_protocol_conversation_send_typing: * @protocol: The instance. * @conversation: The conversation. * @state: The new typing state.
--- a/libpurple/purpleprotocolfiletransfer.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolfiletransfer.h Tue Apr 09 21:50:31 2024 -0500 @@ -50,13 +50,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolFileTransferInterface: - * - * This interface defines the behavior for sending and receiving files. - * - * Since: 3.0 - */ struct _PurpleProtocolFileTransferInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolim.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolim.h Tue Apr 09 21:50:31 2024 -0500 @@ -49,27 +49,6 @@ G_DECLARE_INTERFACE(PurpleProtocolIM, purple_protocol_im, PURPLE, PROTOCOL_IM, PurpleProtocol) -/** - * PurpleProtocolIMInterface: - * @send: This protocol function should return a positive value on - * success. If the message is too big to be sent, return - * <literal>-E2BIG</literal>. If the account is not connected, - * return <literal>-ENOTCONN</literal>. If the protocol is unable - * to send the message for another reason, return some other - * negative value. You can use one of the valid #errno values, or - * just big something. If the message should not be echoed to the - * conversation window, return 0. - * @send_typing: If this protocol requires the #PURPLE_IM_TYPING message to be - * sent repeatedly to signify that the user is still typing, then - * the protocol should return the number of seconds to wait before - * sending a subsequent notification. Otherwise the protocol - * should return 0. - * - * The protocol IM interface that needs to be implemented to send one to one - * messages. - * - * Since: 3.0 - */ struct _PurpleProtocolIMInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolmedia.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolmedia.h Tue Apr 09 21:50:31 2024 -0500 @@ -52,31 +52,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolMediaInterface: - * @initiate_session: Initiate a media session with the given contact. - * <sbr/>@account: The account to initiate the media session - * on. - * <sbr/>@who: The remote user to initiate the session with. - * <sbr/>@type: The type of media session to initiate. - * <sbr/>Returns: %TRUE if the call succeeded else %FALSE. - * (Doesn't imply the media session or stream - * will be successfully created) - * @get_caps: Checks to see if the given contact supports the given type of - * media session. - * <sbr/>@account: The account the contact is on. - * <sbr/>@who: The remote user to check for media capability with. - * <sbr/>Returns: The media caps the contact supports. - * @send_dtmf: Sends DTMF codes out-of-band in a protocol-specific way if the - * protocol supports it, or failing that in-band if the media backend - * can do so. See purple_media_send_dtmf(). - * - * The protocol media interface. - * - * This interface provides callbacks for media sessions on the protocol. - * - * Since: 3.0 - */ struct _PurpleProtocolMediaInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolroomlist.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolroomlist.h Tue Apr 09 21:50:31 2024 -0500 @@ -38,25 +38,17 @@ #define PURPLE_TYPE_PROTOCOL_ROOMLIST (purple_protocol_roomlist_get_type()) -/** - * PurpleProtocolRoomlist: - * - * #PurpleProtocolRoomlist is an interface to abstract how to handle rooms - * lists at the protocol level. - * - * Since: 3.0 - */ - PURPLE_AVAILABLE_IN_3_0 G_DECLARE_INTERFACE(PurpleProtocolRoomlist, purple_protocol_roomlist, PURPLE, PROTOCOL_ROOMLIST, PurpleProtocol) /** - * PurpleProtocolRoomlistInterface: + * PurpleProtocolRoomlist: * * The protocol roomlist interface. * - * This interface provides callbacks for room listing. + * #PurpleProtocolRoomlist is an interface to abstract how to handle room + * lists at the protocol level. * * Since: 3.0 */
--- a/libpurple/purpleprotocolroster.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolroster.h Tue Apr 09 21:50:31 2024 -0500 @@ -50,26 +50,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolRosterInterface: - * @add_async: Called when the user is trying to add a contact to the server - * side roster. - * @add_finish: Called when adding the contact has completed. - * @update_async: Called when the user is trying to update a contact on the - * server side roster. - * @update_finish: Called when updating the contact has completed. - * @remove_async: Called when the user is trying to remove a contact from the - * server side roster. - * @remove_finish: Called when removing the contact has completed. - * - * The interface for managing the server side roster. - * - * This interface provides a gateway between purple and the protocol for - * managing the server side roster. All of the functions are asynchronous to - * make sure nothing blocks the rest of the program. - * - * Since: 3.0 - */ struct _PurpleProtocolRosterInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolserver.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolserver.h Tue Apr 09 21:50:31 2024 -0500 @@ -55,40 +55,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolServerInterface: - * @set_info: Sets the user's profile. - * @get_info: Should arrange for purple_notify_userinfo() to be called with the - * requested user's profile. - * @set_status: Sets the active status for the given account. - * @set_idle: Set the idle time for the given account. - * @change_passwd: Changes the users password. - * @add_buddy: Add a buddy to a group on the server. - * @add_buddies: Add multiple buddies on the server at once. - * @remove_buddy: Removes the given buddy from the user's buddy list. - * @remove_buddies: Removes multiple buddies from the user's buddy list. - * @keepalive: If implemented, this will be called regularly for this - * protocol's active connections. You'd want to do this if you need - * to repeatedly send some kind of keepalive packet to the server - * to avoid being disconnected. ("Regularly" is defined to be 30 - * unless @get_keepalive_interval is implemented to override it). - * @get_keepalive_interval: If implemented, this will override the default - * keepalive interval. - * @alias_buddy: Save/store buddy's alias on server list/roster - * @group_buddy: Change a buddy's group on a server list/roster - * @rename_group: Rename a group on a server list/roster - * @set_buddy_icon: Set the buddy icon for the given connection to @img. The - * protocol does <emphasis>NOT</emphasis> own a reference to - * @img; if it needs one, it must #g_object_ref(@img) itself. - * @remove_group: Removes the given group from the users buddy list. - * @send_raw: For use in plugins that may understand the underlying protocol. - * - * The protocol server interface. - * - * This interface provides a gateway between purple and the protocol's server. - * - * Since: 3.0 - */ struct _PurpleProtocolServerInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleprotocolwhiteboard.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleprotocolwhiteboard.h Tue Apr 09 21:50:31 2024 -0500 @@ -49,16 +49,6 @@ * Since: 3.0 */ -/** - * PurpleProtocolWhiteboardInterface: - * @create: Creates a new whiteboard. - * - * The protocol whiteboard interface. - * - * This interface provides a gateway between purple and the protocol. - * - * Since: 3.0 - */ struct _PurpleProtocolWhiteboardInterface { /*< private >*/ GTypeInterface parent;
--- a/libpurple/purpleproxyinfo.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleproxyinfo.h Tue Apr 09 21:50:31 2024 -0500 @@ -60,6 +60,13 @@ #define PURPLE_TYPE_PROXY_INFO (purple_proxy_info_get_type()) +/** + * PurpleProxyInfo: + * + * A representation of a proxy. + * + * Since: 2.0 + */ PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleProxyInfo, purple_proxy_info, PURPLE, PROXY_INFO, GObject)
--- a/libpurple/purpleroomlistroom.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleroomlistroom.c Tue Apr 09 21:50:31 2024 -0500 @@ -167,24 +167,52 @@ obj_class->set_property = purple_roomlist_room_set_property; obj_class->finalize = purple_roomlist_room_finalize; + /** + * PurpleRoomlistRoom:name: + * + * The name of the room. + * + * Since: 3.0 + */ properties[PROP_NAME] = g_param_spec_string( "name", "name", "The name of the room", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleRoomlistRoom:description: + * + * The description of the room. + * + * Since: 3.0 + */ properties[PROP_DESCRIPTION] = g_param_spec_string( "description", "description", "The description of the room", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleRoomlistRoom:category: + * + * The category of the room. + * + * Since: 3.0 + */ properties[PROP_CATEGORY] = g_param_spec_string( "category", "category", "The category of the room", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleRoomlistRoom:user-count: + * + * The number of users in the room. + * + * Since: 3.0 + */ properties[PROP_USER_COUNT] = g_param_spec_uint( "user-count", "user-count", "The user count of the room",
--- a/libpurple/purpleroomlistroom.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleroomlistroom.h Tue Apr 09 21:50:31 2024 -0500 @@ -72,6 +72,8 @@ * * Creates a new room to be added to a [class@Purple.Roomlist]. * + * Returns: (transfer full): The new room. + * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 @@ -104,7 +106,7 @@ const gchar *purple_roomlist_room_get_description(PurpleRoomlistRoom *room); /** - * purple_roomlist_get_category: + * purple_roomlist_room_get_category: * @room: The instance. * * Gets the category of @room. It is up to the user interface on whether or not
--- a/libpurple/purpleversion.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purpleversion.h Tue Apr 09 21:50:31 2024 -0500 @@ -77,6 +77,26 @@ #define PURPLE_VERSION_CUR_STABLE \ (G_ENCODE_VERSION(PURPLE_MAJOR_VERSION, PURPLE_MINOR_VERSION)) +/** + * PURPLE_VERSION_MIN_REQUIRED: + * + * A macro that should be defined by the user prior to including the `purple.h` + * header. + * + * The definition should be one of the predefined Purple version macros: + * %PURPLE_VERSION_3_0, %PURPLE_VERSION_3_1, ... + * + * This macro defines the earliest version of Purple that the package is + * required to be able to compile against. + * + * If the compiler is configured to warn about the use of deprecated functions, + * then using functions that were deprecated in version + * %PURPLE_VERSION_MIN_REQUIRED or earlier will cause warnings (but using + * functions deprecated in later releases will not). + * + * Since: 3.0 + */ + /* If the package sets PURPLE_VERSION_MIN_REQUIRED to some future * PURPLE_VERSION_X_Y value that we don't know about, it will compare as 0 in * preprocessor tests.
--- a/libpurple/purplewhiteboard.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/purplewhiteboard.c Tue Apr 09 21:50:31 2024 -0500 @@ -195,22 +195,50 @@ obj_class->finalize = purple_whiteboard_finalize; obj_class->constructed = purple_whiteboard_constructed; + /** + * PurpleWhiteboard:state: + * + * The state of the whiteboard. + * + * Since: 3.0 + */ properties[PROP_STATE] = g_param_spec_int( "state", "State", "State of the whiteboard.", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleWhiteboard:account: + * + * The account this whiteboard belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object( "account", "Account", "The whiteboard's account.", PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleWhiteboard:id: + * + * The unique identifier of the whiteboard. + * + * Since: 3.0 + */ properties[PROP_ID] = g_param_spec_string( "id", "id", "The ID of the whiteboard.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleWhiteboard:draw-list: + * + * The list of draw actions for the whiteboard. + * + * Since: 3.0 + */ properties[PROP_DRAW_LIST] = g_param_spec_pointer( "draw-list", "Draw list", "A list of points to draw to the buddy.",
--- a/libpurple/request-datasheet.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/request-datasheet.h Tue Apr 09 21:50:31 2024 -0500 @@ -36,13 +36,45 @@ * * Request Datasheet is a UI abstracted table. */ +typedef struct _PurpleRequestDatasheet PurpleRequestDatasheet; -typedef struct _PurpleRequestDatasheet PurpleRequestDatasheet; +/** + * PurpleRequestDatasheetRecord: + * + * A data sheet record. + */ typedef struct _PurpleRequestDatasheetRecord PurpleRequestDatasheetRecord; + +/** + * PurpleRequestDatasheetAction: + * + * A data sheet action. + */ typedef struct _PurpleRequestDatasheetAction PurpleRequestDatasheetAction; +/** + * PurpleRequestDatasheetActionCb: + * @rec: The record. + * @user_data: User data. + * + * A callback function for actions in a data sheet. + * + * Since: 3.0 + */ typedef void (*PurpleRequestDatasheetActionCb)( PurpleRequestDatasheetRecord *rec, gpointer user_data); + +/** + * PurpleRequestDatasheetActionCheckCb: + * @rec: The record. + * @user_data: User data. + * + * A callback function for checking if an action is enabled or not. + * + * Returns: %TRUE if the actions should be enabled, otherwise %FALSE. + * + * Since: 3.0 + */ typedef gboolean (*PurpleRequestDatasheetActionCheckCb)( PurpleRequestDatasheetRecord *rec, gpointer user_data);
--- a/libpurple/request.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/request.h Tue Apr 09 21:50:31 2024 -0500 @@ -51,6 +51,11 @@ #include "request/purplerequestfield.h" #include "request-datasheet.h" +/** + * PURPLE_DEFAULT_ACTION_NONE: + * + * A constant to set no default action. + */ #define PURPLE_DEFAULT_ACTION_NONE -1 /** @@ -188,6 +193,13 @@ void (*_purple_reserved4)(void); }; +/** + * PurpleRequestInputCb: + * @data: User data. + * @value: The value that was input. + * + * The type of callback passed to purple_request_input(). + */ typedef void (*PurpleRequestInputCb)(void *data, const char *value); /** @@ -211,8 +223,31 @@ * values of those choice. */ typedef void (*PurpleRequestChoiceCb)(void *data, gpointer value); + +/** + * PurpleRequestFieldsCb: + * @data: User data. + * @page: The page. + * + * The type of callbacks passed to purple_request_fields(). + */ typedef void (*PurpleRequestFieldsCb)(void *data, PurpleRequestPage *page); + +/** + * PurpleRequestFileCb: + * @data: User data. + * @filename: The filename. + * + * The type of callbacks passed to purple_request_file(). + */ typedef void (*PurpleRequestFileCb)(void *data, const char *filename); + +/** + * PurpleRequestHelpCb: + * @data: User data. + * + * The type of callback passed to purple_request_cpar_set_help_cb(). + */ typedef void (*PurpleRequestHelpCb)(gpointer data); G_BEGIN_DECLS @@ -698,6 +733,8 @@ * * <literal>va_list</literal> version of purple_request_choice(); see its * documentation. + * + * Returns: A UI-specific handle. */ PURPLE_AVAILABLE_IN_ALL void *purple_request_choice_varg(void *handle, const char *title, @@ -774,6 +811,8 @@ * * <literal>va_list</literal> version of purple_request_action(); see its * documentation. + * + * Returns: A UI-specific handle. */ PURPLE_AVAILABLE_IN_ALL void *
--- a/libpurple/request/purplerequestfield.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/request/purplerequestfield.h Tue Apr 09 21:50:31 2024 -0500 @@ -70,6 +70,8 @@ * [method@Purple.RequestField.set_validator]. * * A callback to check whether a field is valid. + * + * Returns: %TRUE if the field is valid, otherwise %FALSE. */ typedef gboolean (*PurpleRequestFieldValidator)(PurpleRequestField *field, char **errmsg, gpointer user_data);
--- a/libpurple/request/purplerequestfieldlist.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/request/purplerequestfieldlist.c Tue Apr 09 21:50:31 2024 -0500 @@ -115,7 +115,7 @@ obj_class->set_property = purple_request_field_list_set_property; /** - * PurpleRequestFieldChoice:multi-select: + * PurpleRequestFieldList:multi-select: * * Whether the field should allow multiple selections. *
--- a/libpurple/roomlist.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/roomlist.c Tue Apr 09 21:50:31 2024 -0500 @@ -274,12 +274,26 @@ obj_class->get_property = purple_roomlist_get_property; obj_class->set_property = purple_roomlist_set_property; + /** + * PurpleRoomlist:account: + * + * The account this room list belongs to. + * + * Since: 3.0 + */ properties[PROP_ACCOUNT] = g_param_spec_object("account", "Account", "The account for the room list.", PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleRoomlist:in-progress: + * + * Whether or not the room list is being fetched. + * + * Since: 3.0 + */ properties[PROP_IN_PROGRESS] = g_param_spec_boolean("in-progress", "In progress", "Whether the room list is being fetched.", FALSE,
--- a/libpurple/roomlist.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/roomlist.h Tue Apr 09 21:50:31 2024 -0500 @@ -32,6 +32,13 @@ #define PURPLE_TYPE_ROOMLIST (purple_roomlist_get_type()) typedef struct _PurpleRoomlist PurpleRoomlist; +/** + * PurpleRoomlistField: + * + * A field for the room list. + * + * Since: 2.0 + */ #define PURPLE_TYPE_ROOMLIST_FIELD (purple_roomlist_field_get_type()) typedef struct _PurpleRoomlistField PurpleRoomlistField;
--- a/libpurple/savedstatuses.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/savedstatuses.h Tue Apr 09 21:50:31 2024 -0500 @@ -61,6 +61,13 @@ */ typedef struct _PurpleSavedStatus PurpleSavedStatus; +/** + * PurpleSavedStatusSub: + * + * A sub statuses of a saved status. + * + * Since: 2.0 + */ typedef struct _PurpleSavedStatusSub PurpleSavedStatusSub; #include "status.h"
--- a/libpurple/server.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/server.h Tue Apr 09 21:50:31 2024 -0500 @@ -241,6 +241,8 @@ * @data: The hash function should be g_str_hash() and the equal * function should be g_str_equal(). * + * Joins the chat described by the components in @data. + * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 @@ -248,10 +250,12 @@ /** * purple_serv_reject_chat: - * @gc: The #PurpleConnection + * @gc: The #PurpleConnection * @data: The hash function should be g_str_hash() and the equal * function should be g_str_equal(). * + * Rejects a chat invite based on the components in @data. + * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0
--- a/libpurple/status.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/status.c Tue Apr 09 21:50:31 2024 -0500 @@ -1108,18 +1108,39 @@ obj_class->get_property = purple_status_get_property; obj_class->set_property = purple_status_set_property; + /** + * PurpleStatus:status-type: + * + * The type of this status. + * + * Since: 3.0 + */ properties[PROP_STATUS_TYPE] = g_param_spec_pointer("status-type", "Status type", "The PurpleStatusType of the status.", G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleStatus:presence: + * + * The presence that the status belongs to. + * + * Since: 3.0 + */ properties[PROP_PRESENCE] = g_param_spec_object("presence", "Presence", "The presence that the status belongs to.", PURPLE_TYPE_PRESENCE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleStatus:active: + * + * Whether or not the status is active. + * + * Since: 3.0 + */ properties[PROP_ACTIVE] = g_param_spec_boolean("active", "Active", "Whether the status is active or not.", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
--- a/libpurple/status.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/status.h Tue Apr 09 21:50:31 2024 -0500 @@ -85,6 +85,14 @@ * * Since: 2.0 */ + +/** + * PurpleStatusAttribute: + * + * An attribute that can be added to a status. + * + * Since: 2.0 + */ typedef struct _PurpleStatusAttribute PurpleStatusAttribute; /**
--- a/libpurple/tests.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/tests.h Tue Apr 09 21:50:31 2024 -0500 @@ -27,12 +27,40 @@ G_BEGIN_DECLS +/** + * PurpleTestStringData: + * + * Test data for testing strings. + * + * Since: 2.0 + */ typedef struct { const gchar *input; const gchar *output; } PurpleTestStringData; +/** + * PurpleTestStringFunc: + * @str: The string to test. + * + * A function to call with @str as the input. + * + * Returns: The output of the function. + * + * Since: 2.0 + */ typedef const gchar *(*PurpleTestStringFunc)(const gchar *str); + +/** + * PurpleTestStringFreeFunc: + * @str: The string to test. + * + * A function to call with @str as the input. + * + * Returns: (transfer full): The output of the function. + * + * Since: 2.0 + */ typedef gchar *(*PurpleTestStringFreeFunc)(const gchar *str); static inline void
--- a/libpurple/util.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/util.h Tue Apr 09 21:50:31 2024 -0500 @@ -410,6 +410,14 @@ /* URI/URL Functions */ /**************************************************************************/ +/** + * purple_got_protocol_handler_uri: + * @uri: The uri. + * + * Parses @uri and emits the uri-handler core signal. + * + * Since: 2.0 + */ PURPLE_AVAILABLE_IN_ALL void purple_got_protocol_handler_uri(const char *uri);
--- a/libpurple/xfer.c Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/xfer.c Tue Apr 09 21:50:31 2024 -0500 @@ -2186,94 +2186,182 @@ klass->write_local = do_write_local; klass->data_not_sent = do_data_not_sent; - /* Properties */ - + /** + * PurpleXfer:type: + * + * The type of the transfer. + */ properties[PROP_TYPE] = g_param_spec_enum("type", "Transfer type", "The type of file transfer.", PURPLE_TYPE_XFER_TYPE, PURPLE_XFER_TYPE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:account: + * + * The account that this transfer is for. + */ properties[PROP_ACCOUNT] = g_param_spec_object("account", "Account", "The account sending or receiving the file.", PURPLE_TYPE_ACCOUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:remote-user: + * + * The user on the other side of this transfer. + */ properties[PROP_REMOTE_USER] = g_param_spec_string("remote-user", "Remote user", "The name of the remote user.", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:message: + * + * A message that was sent with the transfer. + */ properties[PROP_MESSAGE] = g_param_spec_string("message", "Message", "The message for the file transfer.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:filename: + * + * The name of the file being transferred. + */ properties[PROP_FILENAME] = g_param_spec_string("filename", "Filename", "The filename for the file transfer.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:local-filename: + * + * The local filename for this transfer. + */ properties[PROP_LOCAL_FILENAME] = g_param_spec_string("local-filename", "Local filename", "The local filename for the file transfer.", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:file-size: + * + * The size of the file in bytes. + */ properties[PROP_FILE_SIZE] = g_param_spec_int64("file-size", "File size", "Size of the file in a file transfer.", G_MININT64, G_MAXINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:remote-ip: + * + * The IP address of the remote user. + */ properties[PROP_REMOTE_IP] = g_param_spec_string("remote-ip", "Remote IP", "The remote IP address in the file transfer.", NULL, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:local-port: + * + * The port number on the local side. + */ properties[PROP_LOCAL_PORT] = g_param_spec_int("local-port", "Local port", "The local port number in the file transfer.", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:remote-port: + * + * The port number on the remote side. + */ properties[PROP_REMOTE_PORT] = g_param_spec_int("remote-port", "Remote port", "The remote port number in the file transfer.", G_MININT, G_MAXINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:fd: + * + * The socket file descriptor for the transfer. + */ properties[PROP_FD] = g_param_spec_int("fd", "Socket FD", "The socket file descriptor.", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:watcher: + * + * The input watcher for this transfer. + */ properties[PROP_WATCHER] = g_param_spec_int("watcher", "Watcher", "The watcher for the file transfer.", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:bytes-sent: + * + * The number of bytes that have been sent. + */ properties[PROP_BYTES_SENT] = g_param_spec_int64("bytes-sent", "Bytes sent", "The number of bytes sent (or received) so far.", G_MININT64, G_MAXINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:start-time: + * + * The time when the transfer started. + */ properties[PROP_START_TIME] = g_param_spec_int64( "start-time", "Start time", "The monotonic time the transfer of a file started.", G_MININT64, G_MAXINT64, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:end-time: + * + * The time when the transfer ended. + */ properties[PROP_END_TIME] = g_param_spec_int64( "end-time", "End time", "The monotonic time the transfer of a file ended.", G_MININT64, G_MAXINT64, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:status: + * + * The status of the transfer. + */ properties[PROP_STATUS] = g_param_spec_enum("status", "Status", "The current status for the file transfer.", PURPLE_TYPE_XFER_STATUS, PURPLE_XFER_STATUS_UNKNOWN, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:progress: + * + * The current progress of the transfer. + */ properties[PROP_PROGRESS] = g_param_spec_double( "progress", "Progress", "The current progress of the file transfer.", -1.0, 1.0, -1.0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + /** + * PurpleXfer:visible: + * + * Whether or not user interfaces should display the transfer. + */ properties[PROP_VISIBLE] = g_param_spec_boolean( "visible", "Visible", "Hint for UIs whether this transfer should be visible.", FALSE,
--- a/libpurple/xfer.h Wed Apr 03 16:32:56 2024 -0500 +++ b/libpurple/xfer.h Tue Apr 09 21:50:31 2024 -0500 @@ -991,17 +991,13 @@ PROTOCOL_XFER, PurpleProtocol) /** - * PurpleProtocolXferInterface: - * @can_receive: A method to determine if we can receive a file. - * @send_file: A method to determine if we can send a file. - * @new_xfer: A method to create a new file transfer. + * PurpleProtocolXfer: * * The protocol file transfer interface. * - * This interface provides file transfer callbacks for the protocol. - * * Since: 3.0 */ + struct _PurpleProtocolXferInterface { /*< private >*/ GTypeInterface parent_iface;