Fri, 10 Mar 2023 16:37:41 -0600
Make PurpleRequestFieldChoice into a GObject
This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff.
I wonder if this should implement `GListModel`, but the values are currently arbitrary pointers, so it won't work right now.
Testing Done:
Compiled and opened Request Fields from Demo protocol.
Reviewed at https://reviews.imfreedom.org/r/2335/
|
40584
6f198a69ac48
A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
1 | /* |
|
6f198a69ac48
A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
2 | * Purple - Internet Messaging Library |
|
6f198a69ac48
A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
| 5477 | 4 | * |
| 15884 | 5 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 7 | * source distribution. | |
|
7035
76bca80cd91d
[gaim-migrate @ 7598]
Christian Hammond <chipx86@chipx86.com>
parents:
6720
diff
changeset
|
8 | * |
| 5477 | 9 | * This program is free software; you can redistribute it and/or modify |
| 10 | * it under the terms of the GNU General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This program is distributed in the hope that it will be useful, | |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 17 | * GNU General Public License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU General Public License | |
|
40584
6f198a69ac48
A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
| 5477 | 21 | */ |
|
35487
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
22 | |
|
40474
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
23 | #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
24 | # error "only <purple.h> may be included directly" |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
25 | #endif |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
26 | |
|
42120
1de24f50c9a6
Split PurpleRequestFieldGroup into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42117
diff
changeset
|
27 | #ifndef PURPLE_REQUEST_GROUP_H |
|
1de24f50c9a6
Split PurpleRequestFieldGroup into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42117
diff
changeset
|
28 | #define PURPLE_REQUEST_GROUP_H |
|
40584
6f198a69ac48
A bunch of documentation cleanups
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
29 | |
| 5477 | 30 | #include <stdlib.h> |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40330
diff
changeset
|
31 | |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40330
diff
changeset
|
32 | #include <glib.h> |
| 5477 | 33 | #include <glib-object.h> |
| 34 | ||
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
35 | /** |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
36 | * PurpleRequestGroup: |
|
35400
a22531410e3f
Convert docs from doxygen to gtk-doc format for request.h and util.h
Ankit Vani <a@nevitus.org>
parents:
35395
diff
changeset
|
37 | * |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
38 | * A group of fields with a title. |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
39 | */ |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
40 | typedef struct _PurpleRequestGroup PurpleRequestGroup; |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
41 | |
|
42117
8a001a903e90
Split PurpleRequestField into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42116
diff
changeset
|
42 | #include "purplerequestfield.h" |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
43 | |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
44 | #define PURPLE_TYPE_REQUEST_GROUP (purple_request_group_get_type()) |
|
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
45 | G_DECLARE_FINAL_TYPE(PurpleRequestGroup, purple_request_group, |
|
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
46 | PURPLE, REQUEST_GROUP, GObject) |
|
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
47 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32604
diff
changeset
|
48 | G_BEGIN_DECLS |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5809
diff
changeset
|
49 | |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
50 | /** |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
51 | * purple_request_group_new: |
|
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
52 | * @title: (nullable): The title to give the group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
53 | * |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
54 | * Creates a fields group with an optional title. |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
55 | * |
| 40188 | 56 | * Returns: (transfer full): A new fields group |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
57 | */ |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
58 | PurpleRequestGroup *purple_request_group_new(const char *title); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
59 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
60 | /** |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
61 | * purple_request_group_add_field: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
35050
diff
changeset
|
62 | * @group: The group to add the field to. |
|
42124
472dc8caeda3
Convert PurpleRequestField into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42120
diff
changeset
|
63 | * @field: (transfer full): The field to add to the group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
64 | * |
|
35400
a22531410e3f
Convert docs from doxygen to gtk-doc format for request.h and util.h
Ankit Vani <a@nevitus.org>
parents:
35395
diff
changeset
|
65 | * Adds a field to the group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
66 | */ |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
67 | void purple_request_group_add_field(PurpleRequestGroup *group, PurpleRequestField *field); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
68 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
69 | /** |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
70 | * purple_request_group_get_title: |
|
35400
a22531410e3f
Convert docs from doxygen to gtk-doc format for request.h and util.h
Ankit Vani <a@nevitus.org>
parents:
35395
diff
changeset
|
71 | * @group: The group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
72 | * |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
73 | * Returns the title of a fields group. |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
74 | * |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
75 | * Returns: (nullable): The title, if set. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
76 | */ |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
77 | const char *purple_request_group_get_title(PurpleRequestGroup *group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
78 | |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
79 | /** |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
80 | * purple_request_group_get_fields: |
|
35400
a22531410e3f
Convert docs from doxygen to gtk-doc format for request.h and util.h
Ankit Vani <a@nevitus.org>
parents:
35395
diff
changeset
|
81 | * @group: The group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
82 | * |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
83 | * Returns a list of all fields in a group. |
|
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
84 | * |
|
38716
b9bed228745a
Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
37624
diff
changeset
|
85 | * Returns: (element-type PurpleRequestField) (transfer none): The list of fields in the group. |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
86 | */ |
|
42127
18acb99a0fa6
Convert PurpleRequestGroup into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42124
diff
changeset
|
87 | GList *purple_request_group_get_fields(PurpleRequestGroup *group); |
|
5807
7e0d857c4c93
[gaim-migrate @ 6237]
Christian Hammond <chipx86@chipx86.com>
parents:
5498
diff
changeset
|
88 | |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
89 | /** |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
90 | * purple_request_group_get_page: |
|
35400
a22531410e3f
Convert docs from doxygen to gtk-doc format for request.h and util.h
Ankit Vani <a@nevitus.org>
parents:
35395
diff
changeset
|
91 | * @group: The group. |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
92 | * |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
93 | * Returns a list of all fields in a group. |
|
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
94 | * |
|
35394
38facb8226d4
Use 'transfer none' for TODO const
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
95 | * Returns: (transfer none): The list of fields in the group. |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
96 | */ |
|
42128
118067ca0367
Convert PurpleRequestPage into a GObject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42127
diff
changeset
|
97 | PurpleRequestPage *purple_request_group_get_page(PurpleRequestGroup *group); |
|
32273
55a194e489bb
A small bit of hide-a-struct
Mark Doliner <markdoliner@pidgin.im>
parents:
32216
diff
changeset
|
98 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32604
diff
changeset
|
99 | G_END_DECLS |
|
5944
f19df037ac58
[gaim-migrate @ 6385]
Christian Hammond <chipx86@chipx86.com>
parents:
5809
diff
changeset
|
100 | |
|
42120
1de24f50c9a6
Split PurpleRequestFieldGroup into its own files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42117
diff
changeset
|
101 | #endif /* PURPLE_REQUEST_GROUP_H */ |