pidgin/pidginbadges.h

Sat, 09 Aug 2025 18:12:31 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 18:12:31 +0800
branch
gir-dependency
changeset 43305
4ede49515766
parent 43177
595a5f31003a
permissions
-rw-r--r--

Add builtin library dependency for introspection

Without specifying, gir defaults to the system pidgin/purple libraries by default,
which fails the build when new symbols were added and gir failed to link for them.

43083
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Pidgin - Internet Messenger
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <pidgin.h> may be included directly"
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PIDGIN_BADGES_H
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PIDGIN_BADGES_H
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <gtk/gtk.h>
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #include <adwaita.h>
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 #include <purple.h>
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 #include "pidginversion.h"
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 G_BEGIN_DECLS
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 /**
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 * PidginBadges:
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 * A widget that is used to display a [class@Purple.Badges].
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 * Since: 3.0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 */
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 #define PIDGIN_TYPE_BADGES (pidgin_badges_get_type())
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 PIDGIN_AVAILABLE_IN_3_0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 G_DECLARE_FINAL_TYPE(PidginBadges, pidgin_badges, PIDGIN, BADGES, AdwBin)
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 /**
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 * pidgin_badges_new:
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 * @badges: The badges to display.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 * Displays badges.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 *
43177
595a5f31003a Annotate Pidgin constructors that return base types
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 43083
diff changeset
59 * Returns: (transfer full) (type PidginBadges): The new widget.
43083
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 * Since: 3.0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 */
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 PIDGIN_AVAILABLE_IN_3_0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 GtkWidget *pidgin_badges_new(PurpleBadges *badges);
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 /**
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 * pidgin_badges_get_badges:
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 * @badges: The instance.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 * Gets the badges that are being displayed.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * Returns: (transfer none) (nullable): The badges.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 * Since: 3.0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 */
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 PIDGIN_AVAILABLE_IN_3_0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 PurpleBadges *pidgin_badges_get_badges(PidginBadges *badges);
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 /**
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 * pidgin_badges_set_badges:
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 * @pidgin_badges: The instance.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 * @purple_badges: (nullable) (transfer none): The new badges.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 * Sets the badges to be displayed.
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 *
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 * Since: 3.0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 */
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 PIDGIN_AVAILABLE_IN_3_0
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 void pidgin_badges_set_badges(PidginBadges *pidgin_badges, PurpleBadges *purple_badges);
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 G_END_DECLS
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92
54ca24fedfd9 Implement the Pidgin.Badges widget and use it in conversation member list
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 #endif /* PIDGIN_BADGES_H */

mercurial