libpurple/purplecontactinfo.h

Fri, 04 Aug 2023 04:25:42 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Fri, 04 Aug 2023 04:25:42 -0500
changeset 42257
281bd12a66f7
parent 42225
4194729e4fd5
child 42312
7d6f0b8b6e77
permissions
-rw-r--r--

Add some additional fields to PurpleContactInfo

Testing Done:
Ran the unit tests with the valgrind wrapper

Bugs closed: PIDGIN-17812

Reviewed at https://reviews.imfreedom.org/r/2534/

41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * (at your option) any later version.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * GNU General Public License for more details.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * along with this program; if not, see <https://www.gnu.org/licenses/>.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 # error "only <pidgin.h> may be included directly"
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 #endif
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
23 #ifndef PURPLE_CONTACT_INFO_H
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
24 #define PURPLE_CONTACT_INFO_H
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 #include <glib.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #include <glib-object.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 #include <gdk-pixbuf/gdk-pixbuf.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30
41917
b3eda1d781c6 Fix some include loops
Gary Kramlich <grim@reaperworld.com>
parents: 41771
diff changeset
31 #include <libpurple/purplepresence.h>
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #include <libpurple/purpletags.h>
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 G_BEGIN_DECLS
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
36 #define PURPLE_TYPE_CONTACT_INFO (purple_contact_info_get_type())
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
37 G_DECLARE_DERIVABLE_TYPE(PurpleContactInfo, purple_contact_info, PURPLE,
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
38 CONTACT_INFO, GObject)
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
40 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
41 * PurpleContactInfoPermission:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
42 * @PURPLE_CONTACT_INFO_PERMISSION_UNSET: The value is unset.
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
43 * @PURPLE_CONTACT_INFO_PERMISSION_ALLOW: The contact is allowed to contact the
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
44 * user.
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
45 * @PURPLE_CONTACT_INFO_PERMISSION_DENY: The contact is not allowed to contact the
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
46 * user.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
47 *
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
48 * A representation of whether or not a contact has permission to contact the
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
49 * user.
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
50 *
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
51 * Since: 3.0.0
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
52 */
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
53 typedef enum {
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
54 PURPLE_CONTACT_INFO_PERMISSION_UNSET = 0,
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
55 PURPLE_CONTACT_INFO_PERMISSION_ALLOW,
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
56 PURPLE_CONTACT_INFO_PERMISSION_DENY,
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
57 } PurpleContactInfoPermission;
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
58
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
59 #include <libpurple/purpleperson.h>
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
60
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
62 * PurpleContactInfoClass:
41933
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
63 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
64 * The class struct for [class@Purple.ContactInfo].
41933
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
65 *
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
66 * Since: 3.0.0
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
67 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
68 struct _PurpleContactInfoClass {
41933
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
69 /*< private >*/
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
70 GObjectClass parent;
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
71
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
72 /*< private >*/
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
73 gpointer reserved[4];
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
74 };
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
75
8ccd6fdc7ceb Make PurpleContact derivable
Gary Kramlich <grim@reaperworld.com>
parents: 41930
diff changeset
76 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
77 * PurpleContactInfo:
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
79 * The information about a contact. This information is used everywhere you
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
80 * need to refer to a user. Be it a chat, an direct message, a file transfer,
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
81 * etc.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 */
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
85 * purple_contact_info_new:
41759
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
86 * @id: (nullable): The id of the contact.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
88 * Creates a new [class@Purple.ContactInfo].
41759
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
89 *
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
90 * If @id is %NULL, an ID will be randomly generated.
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
91 *
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
92 * Returns: (transfer full): The new instance.
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
93 *
1ecc0512e714 Make purple_contact_new take the id instead of the username.
Gary Kramlich <grim@reaperworld.com>
parents: 41755
diff changeset
94 * Since: 3.0.0
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
96 PurpleContactInfo *purple_contact_info_new(const gchar *id);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
99 * purple_contact_info_get_id:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
100 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
102 * Gets the id of @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 * If a protocol would like to set this, it should call
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 * [ctor@GObject.Object.new] and pass in the id attribute manually.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 * Returns: The id of the contact.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
111 const gchar *purple_contact_info_get_id(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
114 * purple_contact_info_set_id:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
115 * @info: The instance.
41920
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
116 * @id: The new identifier.
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
117 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
118 * Sets the identifier of @info to @id. Note, this should be used rarely if
41961
0da91f053305 Make PurpleAccount subclass PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
119 * at all. The main intent of this, is for protocols to update the id of an
0da91f053305 Make PurpleAccount subclass PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41948
diff changeset
120 * an account when it is connected if the id is missing.
41920
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
121 *
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
122 * Since: 3.0.0
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
123 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
124 void purple_contact_info_set_id(PurpleContactInfo *info, const char *id);
41920
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
125
29ebd938c592 Add a contact property to PurpleAccount
Gary Kramlich <grim@reaperworld.com>
parents: 41918
diff changeset
126 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
127 * purple_contact_info_get_username:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
128 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
130 * Gets the username of @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
132 * Returns: The username of @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
136 const gchar *purple_contact_info_get_username(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
139 * purple_contact_info_set_username:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
140 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 * @username: The new username.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
143 * Sets the username of @info to @username.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 * This is primarily used by protocol plugins like IRC when a user changes
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 * their "nick" which is their username.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
150 void purple_contact_info_set_username(PurpleContactInfo *info, const gchar *username);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
153 * purple_contact_info_get_display_name:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
154 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
156 * Gets the display name for @info. The display name is typically set by the
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 * contact and is handled by the protocol plugin.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
159 * Returns: (nullable): The display name of @info if one is set, otherwise
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 * %NULL will be returned.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
164 const gchar *purple_contact_info_get_display_name(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
167 * purple_contact_info_set_display_name:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
168 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 * @display_name: (nullable): The new displayname.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
171 * Sets the display name of @info to @display_name.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 * This should primarily only be used by protocol plugins and everyone else
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
174 * should be using [method@Purple.ContactInfo.set_alias].
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
178 void purple_contact_info_set_display_name(PurpleContactInfo *info, const gchar *display_name);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
181 * purple_contact_info_get_alias:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
182 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
184 * Gets the alias for @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
186 * Returns: (nullable): The alias of @info if one is set, otherwise %NULL.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
190 const gchar *purple_contact_info_get_alias(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
193 * purple_contact_info_set_alias:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
194 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
195 * @alias: (nullable): The new alias.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
197 * Sets the alias of @info to @alias.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
199 * Protocol plugins may use this value to synchronize across instances.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
201 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
203 void purple_contact_info_set_alias(PurpleContactInfo *info, const gchar *alias);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
205 /**
41973
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
206 * purple_contact_info_get_color:
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
207 * @info: The instance.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
208 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
209 * Gets the color that should be used to render this contact info. This is a
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
210 * RGB hex code in a string format.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
211 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
212 * Returns: The RGB hex code.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
213 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
214 * Since: 3.0.0
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
215 */
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
216 const char *purple_contact_info_get_color(PurpleContactInfo *info);
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
217
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
218 /**
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
219 * purple_contact_info_set_color:
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
220 * @info: The instance.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
221 * @color: The RGB hex code to set.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
222 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
223 * Sets the color to use when rendering @info to @color.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
224 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
225 * @color should start with a `#` and have a valid number of hex digits
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
226 * following it. Different user interfaces may be able to handle additional
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
227 * precision, but using `#RRGGBB` will have the highest compatibility.
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
228 *
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
229 * Since: 3.0.0
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
230 */
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
231 void purple_contact_info_set_color(PurpleContactInfo *info, const char *color);
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
232
9da6ba6eba5d Add a color property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41961
diff changeset
233 /**
42257
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
234 * purple_contact_info_get_email:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
235 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
236 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
237 * Gets the primary email address from @info.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
238 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
239 * Returns: (nullable): The primary email address or %NULL if not set.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
240 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
241 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
242 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
243 const char *purple_contact_info_get_email(PurpleContactInfo *info);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
244
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
245 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
246 * purple_contact_info_set_email:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
247 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
248 * @email: (nullable): The new email address.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
249 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
250 * Sets the primary email address for @info.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
251 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
252 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
253 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
254 void purple_contact_info_set_email(PurpleContactInfo *info, const char *email);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
255
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
256 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
257 * purple_contact_info_get_phone_number:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
258 * @info: The instance:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
259 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
260 * Gets the primary phone number for the contact.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
261 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
262 * Returns: (nullable): The primary phone number for the contact.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
263 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
264 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
265 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
266 const char *purple_contact_info_get_phone_number(PurpleContactInfo *info);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
267
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
268 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
269 * purple_contact_info_set_phone_number:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
270 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
271 * @phone_number: (nullable): The new phone number to set.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
272 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
273 * Sets the primary phone number for @info.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
274 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
275 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
276 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
277 void purple_contact_info_set_phone_number(PurpleContactInfo *info, const char *phone_number);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
278
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
279 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
280 * purple_contact_info_get_time_zone:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
281 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
282 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
283 * Gets the [struct@GLib.TimeZone] for @info.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
284 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
285 * Returns: (transfer none) (nullable): The time zone if set, otherwise %NULL.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
286 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
287 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
288 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
289 GTimeZone *purple_contact_info_get_time_zone(PurpleContactInfo *info);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
290
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
291 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
292 * purple_contact_info-set_time_zone:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
293 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
294 * @time_zone: (transfer none) (nullable): The new time zone.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
295 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
296 * Sets the time zone of @info to @time_zone.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
297 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
298 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
299 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
300 void purple_contact_info_set_time_zone(PurpleContactInfo *info, GTimeZone *timezone);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
301
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
302 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
303 * purple_contact_info_get_note:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
304 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
305 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
306 * Gets the "note" for and @info.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
307 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
308 * Returns: The note.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
309 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
310 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
311 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
312 const char *purple_contact_info_get_note(PurpleContactInfo *info);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
313
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
314 /**
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
315 * purple_contact_info_set_note:
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
316 * @info: The instance.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
317 * @note: (nullable): The new note.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
318 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
319 * Sets the note for @info to @note.
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
320 *
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
321 * Since: 3.0.0
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
322 */
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
323 void purple_contact_info_set_note(PurpleContactInfo *info, const char *note);
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
324
281bd12a66f7 Add some additional fields to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 42225
diff changeset
325 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
326 * purple_contact_info_get_avatar:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
327 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
328 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
329 * Gets the avatar for @info if one is set.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
330 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
331 * Returns: (transfer none): The avatar if set, otherwise %NULL.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
332 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
333 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
334 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
335 GdkPixbuf *purple_contact_info_get_avatar(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
336
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
337 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
338 * purple_contact_info_set_avatar:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
339 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
340 * @avatar: (nullable): The new avatar to set.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
341 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
342 * Sets the avatar for @info to @avatar. If @avatar is %NULL an existing
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
343 * avatar will be removed.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
344 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
345 * Typically this should only called by the protocol plugin.
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
346 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
347 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
348 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
349 void purple_contact_info_set_avatar(PurpleContactInfo *info, GdkPixbuf *avatar);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
350
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
351 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
352 * purple_contact_info_get_presence:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
353 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
354 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
355 * Gets the [class@Purple.Presence] for @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
356 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
357 * Returns: (transfer none) (nullable): The presence for @info if one is
41753
316c1207f787 Fix various small documentation errors
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41739
diff changeset
358 * set, otherwise %NULL.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
359 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
360 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
361 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
362 PurplePresence *purple_contact_info_get_presence(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
363
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
364 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
365 * purple_contact_info_get_tags:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
366 * @info: The instance.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
367 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
368 * Gets the [class@Purple.Tags] instance for @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
369 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
370 * Returns: (transfer none): The tags for @info.
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
371 *
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
372 * Since: 3.0.0
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
373 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
374 PurpleTags *purple_contact_info_get_tags(PurpleContactInfo *info);
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
375
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
376 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
377 * purple_contact_info_set_person:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
378 * @info: The instance.
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
379 * @person: (nullable): The new [class@Purple.Person] or %NULL.
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
380 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
381 * Sets the person that @info belongs to to @person.
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
382 *
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
383 * Since: 3.0.0
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
384 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
385 void purple_contact_info_set_person(PurpleContactInfo *info, PurplePerson *person);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
386
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
387 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
388 * purple_contact_info_get_person:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
389 * @info: The instance.
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
390 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
391 * Gets the [class@Purple.Person] that @info belongs to.
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
392 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
393 * Returns: (transfer none) (nullable): The [class@Purple.Person] that @info
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
394 * belongs to, or %NULL.
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
395 *
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
396 * Since: 3.0.0
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
397 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
398 PurplePerson *purple_contact_info_get_person(PurpleContactInfo *info);
41755
b7e6166e5300 Add a person property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41753
diff changeset
399
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
400 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
401 * purple_contact_info_get_permission:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
402 * @info: The instance.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
403 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
404 * Gets the [enum@Purple.ContactInfoPermission] for @info.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
405 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
406 * Returns: The permission for @info.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
407 *
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
408 * Since: 3.0.0
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
409 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
410 PurpleContactInfoPermission purple_contact_info_get_permission(PurpleContactInfo *info);
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
411
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
412 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
413 * purple_contact_info_set_permission:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
414 * @info: The instance.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
415 * @permission: The new permission of the contact.
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
416 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
417 * Sets the permission of @info to @permission.
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
418 *
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
419 * Since: 3.0.0
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
420 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
421 void purple_contact_info_set_permission(PurpleContactInfo *info, PurpleContactInfoPermission permission);
41918
106ae46b290b Add a permission property to PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41917
diff changeset
422
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
423 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
424 * purple_contact_info_get_name_for_display:
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
425 * @info: The instance.
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
426 *
42007
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
427 * Gets the name that should be displayed for @info. See
b7f9345b02a4 Add a name-for-display property to PurpleContactInfo
Gary Kramlich <grim@reaperworld.com>
parents: 41973
diff changeset
428 * [property@Purple.ContactInfo:name-for-display] for more information.
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
429 *
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
430 * Returns: (transfer none): The name to display for @info.
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
431 *
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
432 * Since: 3.0.0
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
433 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
434 const char *purple_contact_info_get_name_for_display(PurpleContactInfo *info);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
435
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
436 /**
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
437 * purple_contact_info_compare:
42225
4194729e4fd5 Add a nullable annotation to purple_contact_info_compare
Gary Kramlich <grim@reaperworld.com>
parents: 42060
diff changeset
438 * @a: (nullable): The first instance.
4194729e4fd5 Add a nullable annotation to purple_contact_info_compare
Gary Kramlich <grim@reaperworld.com>
parents: 42060
diff changeset
439 * @b: (nullable): The second instance.
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
440 *
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
441 * Compares contacts @a and @b
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
442 *
41930
0472e404b129 Update purple_contact_sort's documentation to say it returns < 0 and > 1
Gary Kramlich <grim@reaperworld.com>
parents: 41929
diff changeset
443 * Returns: less than 0 if @a should be sorted before @b, 0 if they sorted
0472e404b129 Update purple_contact_sort's documentation to say it returns < 0 and > 1
Gary Kramlich <grim@reaperworld.com>
parents: 41929
diff changeset
444 * equally, and greater than 0 if @a should be sorted after @b.
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
445 *
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
446 * Since: 3.0.0
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
447 */
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
448 int purple_contact_info_compare(PurpleContactInfo *a, PurpleContactInfo *b);
41929
7509b313b098 Add purple_contact_compare and purple_contact_get_name_for_display
Gary Kramlich <grim@reaperworld.com>
parents: 41920
diff changeset
449
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
450 /**
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
451 * purple_contact_info_matches:
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
452 * @info: The instance.
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
453 * @needle: (nullable): The string to match.
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
454 *
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
455 * This will determine if the alias, display name, or username matches @needle.
42060
d55b605fdafb Add purple_strmatches and move purple_person_matches and purple_contact_info_matches to it
Gary Kramlich <grim@reaperworld.com>
parents: 42059
diff changeset
456 * The id is ignored because generally it is a UUID or hex string which will
d55b605fdafb Add purple_strmatches and move purple_person_matches and purple_contact_info_matches to it
Gary Kramlich <grim@reaperworld.com>
parents: 42059
diff changeset
457 * give very confusing results to end users.
42059
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
458 *
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
459 * If @needle is %NULL or empty string, %TRUE will be returned.
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
460 *
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
461 * Returns: %TRUE if @needle matches any of the above properties, otherwise
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
462 * %FALSE.
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
463 *
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
464 * Since: 3.0.0
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
465 */
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
466 gboolean purple_contact_info_matches(PurpleContactInfo *info, const char *needle);
e6dcbf0db616 Add search support to the contact list
Gary Kramlich <grim@reaperworld.com>
parents: 42007
diff changeset
467
41739
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
468 G_END_DECLS
f589ceec0172 Create the new PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
469
41948
6d844d2faff1 Split PurpleContactInfo out of PurpleContact
Gary Kramlich <grim@reaperworld.com>
parents: 41933
diff changeset
470 #endif /* PURPLE_CONTACT_INFO_H */

mercurial