Sun, 14 Apr 2024 01:14:59 -0500
Remove PurpleBuddy
PurpleContactInfo was created long ago to replace this, it is now its time!
Testing Done:
Ran the turtles.
Reviewed at https://reviews.imfreedom.org/r/3123/
/* * Purple - Internet Messaging Library * Copyright (C) Pidgin Developers <devel@pidgin.im> * * Purple is the legal property of its developers, whose names are too numerous * to list here. Please refer to the COPYRIGHT file distributed with this * source distribution. * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this library; if not, see <https://www.gnu.org/licenses/>. */ #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) # error "only <purple.h> may be included directly" #endif #ifndef PURPLE_CONTACT_MANAGER_H #define PURPLE_CONTACT_MANAGER_H #include <glib.h> #include <glib-object.h> #include "purpleaccount.h" #include "purplecontact.h" #include "purpleversion.h" G_BEGIN_DECLS #define PURPLE_TYPE_CONTACT_MANAGER (purple_contact_manager_get_type()) PURPLE_AVAILABLE_IN_3_0 G_DECLARE_FINAL_TYPE(PurpleContactManager, purple_contact_manager, PURPLE, CONTACT_MANAGER, GObject) /** * PurpleContactManager: * * A manager for [class@Purple.Contact]s. * * Since: 3.0 */ /** * purple_contact_manager_get_default: * * Gets the default instance of [class@Purple.ContactManager]. * * Typically this will be the main way for everyone to access the contact * manager. * * Returns: (transfer none): The default [class@Purple.ContactManager] instance. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 PurpleContactManager *purple_contact_manager_get_default(void); /** * purple_contact_manager_add: * @manager: The instance. * @contact: (transfer none): The [class@Purple.Contact] to add. * * Adds @contact to @manager. If a contact with a matching account and id * already exists, no action will be taken. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 void purple_contact_manager_add(PurpleContactManager *manager, PurpleContact *contact); /** * purple_contact_manager_remove: * @manager: The instance. * @contact: (transfer none): The [class@Purple.Contact] to remove. * * Attempts to remove @contact from @manager. * * Returns: If @contact is found and removed %TRUE will be returned otherwise * %FALSE will be returned. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 gboolean purple_contact_manager_remove(PurpleContactManager *manager, PurpleContact *contact); /** * purple_contact_manager_remove_all: * @manager: The instance. * @account: The [class@Purple.Account] whose contacts to remove. * * Removes all of the contacts from @manager that belong to @account. * * Returns: %TRUE if anything was removed, %FALSE if nothing was removed. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 gboolean purple_contact_manager_remove_all(PurpleContactManager *manager, PurpleAccount *account); /** * purple_contact_manager_get_all: * @manager: The instance. * @account: The [class@Purple.Account] whose contacts to get. * * Gets a [iface@Gio.ListModel] of all contacts that belong to @account. * * Returns: (transfer none) (nullable): A [iface@Gio.ListModel] of all the * contacts belonging to @account. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 GListModel *purple_contact_manager_get_all(PurpleContactManager *manager, PurpleAccount *account); /** * purple_contact_manager_find_with_username: * @manager: The instance. * @account: The [class@Purple.Account] whose contact to find. * @username: The username of the contact to find. * * Looks for a [class@Purple.Contact] that belongs to @account with a username * of @username. * * Returns: (transfer full): The [class@Purple.Contact] if found, otherwise * %NULL. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 PurpleContact *purple_contact_manager_find_with_username(PurpleContactManager *manager, PurpleAccount *account, const gchar *username); /** * purple_contact_manager_find_with_id: * @manager: The instance. * @account: The [class@Purple.Account] whose contact to find. * @id: The id of the contact to find. * * Looks for a [class@Purple.Contact] that belongs to @account with a id of @id. * * Returns: (transfer full): The [class@Purple.Contact] if found, otherwise * %NULL. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 PurpleContact *purple_contact_manager_find_with_id(PurpleContactManager *manager, PurpleAccount *account, const gchar *id); /** * purple_contact_manager_add_person: * @manager: The instance. * @person: The [class@Purple.Person to add]. * * Adds all of the contacts contained in @person to @manager. * * This function is mostly intended for unit testing and importing. You * typically you won't need to call this directly as @manager will * automatically add the [class@Purple.Person] instance when * [method@Purple.ContactManager.add] is called. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 void purple_contact_manager_add_person(PurpleContactManager *manager, PurplePerson *person); /** * purple_contact_manager_remove_person: * @manager: The instance. * @person: The [class@Purple.Person] to remove. * @remove_contacts: Whether or not the contacts should be removed from * @manager. * * Removes @person from @manager optionally removing all of the contacts * contained in @person as well if @remove_contacts is %TRUE. * * Since: 3.0 */ PURPLE_AVAILABLE_IN_3_0 void purple_contact_manager_remove_person(PurpleContactManager *manager, PurplePerson *person, gboolean remove_contacts); G_END_DECLS #endif /* PURPLE_CONTACT_MANAGER_H */