1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
2 * GObject introspection: Parsed GIR
3 *
4 * Copyright 2023 GNOME Foundation Inc.
5 *
6 * SPDX-License-Identifier: LGPL-2.1-or-later
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
22 */
23
24 #pragma once
25
26 #include <glib.h>
27 #include <glib-object.h>
28
29 #include "gitypes.h"
30
31 G_BEGIN_DECLS
32
33 #define GI_IS_BASE_INFO_TYPE(info,type) \
34 (G_TYPE_INSTANCE_GET_CLASS ((info), GI_TYPE_BASE_INFO, GIBaseInfoClass)->info_type == (type))
35
36 struct _GIBaseInfoClass
37 {
38 GTypeClass parent_class;
39
40 GIInfoType info_type;
41
42 void (* finalize) (GIBaseInfo *info);
43 };
44
45 void gi_base_info_init_types (void);
46
47 GType gi_base_info_type_register_static (const char *type_name,
48 gsize instance_size,
49 GClassInitFunc class_init);
50
51 G_END_DECLS