--- a/libpurple/purplepresence.h Thu Feb 09 22:51:59 2023 -0600 +++ b/libpurple/purplepresence.h Fri Feb 10 00:52:05 2023 -0600 @@ -27,6 +27,9 @@ #ifndef PURPLE_PRESENCE_H #define PURPLE_PRESENCE_H +#include <glib.h> +#include <glib-object.h> + /** * PurplePresence: * @@ -73,6 +76,17 @@ GObject) /** + * purple_presence_new: + * + * Creates a new presence instance. + * + * Returns: (transfer full): The new instance. + * + * Since: 3.0.0 + */ +PurplePresence *purple_presence_new(void); + +/** * purple_presence_set_status_active: * @presence: The #PurplePresence instance. * @status_id: The ID of the status. @@ -246,6 +260,30 @@ */ gint purple_presence_compare(PurplePresence *presence1, PurplePresence *presence2); +/** + * purple_presence_get_primitive: + * @presence: The instance. + * + * Gets the [enum@Purple.StatusPrimitive] for @presence. + * + * Returns: The current primitive. + * + * Since: 3.0.0 + */ +PurpleStatusPrimitive purple_presence_get_primitive(PurplePresence *presence); + +/** + * purple_presence_get_message: + * @presence: The instance. + * + * Gets the status message for @presence if one is set. + * + * Returns: (nullable): The status message of @presence. + * + * Since: 3.0.0 + */ +const char *purple_presence_get_message(PurplePresence *presence); + G_END_DECLS #endif /* PURPLE_PRESENCE_H */