Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gboxed.h
Go to the documentation of this file.
1/* GObject - GLib Type, Object, Parameter and Signal Library
2 * Copyright (C) 2000-2001 Red Hat, Inc.
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General
17 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 */
19#ifndef __G_BOXED_H__
20#define __G_BOXED_H__
21
22#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
23#error "Only <glib-object.h> can be included directly."
24#endif
25
26#include <gobject/gtype.h>
27
28#ifndef __GI_SCANNER__
29#include <gobject/glib-types.h>
30#endif
31
33
34/* --- type macros --- */
35#define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED)
36/**
37 * G_VALUE_HOLDS_BOXED:
38 * @value: a valid #GValue structure
39 *
40 * Checks whether the given #GValue can hold values derived
41 * from type %G_TYPE_BOXED.
42 *
43 * Returns: %TRUE on success.
44 */
45#define G_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED))
46
47
48/* --- typedefs --- */
49/**
50 * GBoxedCopyFunc:
51 * @boxed: (not nullable): The boxed structure to be copied.
52 *
53 * This function is provided by the user and should produce a copy
54 * of the passed in boxed structure.
55 *
56 * Returns: (not nullable): The newly created copy of the boxed structure.
57 */
58typedef gpointer (*GBoxedCopyFunc) (gpointer boxed);
59
60/**
61 * GBoxedFreeFunc:
62 * @boxed: (not nullable): The boxed structure to be freed.
63 *
64 * This function is provided by the user and should free the boxed
65 * structure passed.
66 */
67typedef void (*GBoxedFreeFunc) (gpointer boxed);
68
69
70/* --- prototypes --- */
73 gconstpointer src_boxed);
75void g_boxed_free (GType boxed_type,
76 gpointer boxed);
79 gconstpointer v_boxed);
82 gconstpointer v_boxed);
85 gconstpointer v_boxed);
88 gconstpointer v_boxed);
93
94
95/* --- convenience --- */
98 GBoxedCopyFunc boxed_copy,
99 GBoxedFreeFunc boxed_free);
100
101/* --- GObject boxed types --- */
102/**
103 * G_TYPE_CLOSURE:
104 *
105 * The #GType for #GClosure.
106 */
107#define G_TYPE_CLOSURE (g_closure_get_type ())
108
109/**
110 * G_TYPE_VALUE:
111 *
112 * The type ID of the "GValue" type which is a boxed type,
113 * used to pass around pointers to GValues.
114 */
115#define G_TYPE_VALUE (g_value_get_type ())
116
121
123
124#endif /* __G_BOXED_H__ */
GOBJECT_AVAILABLE_IN_ALL gpointer g_value_dup_boxed(const GValue *value)
GOBJECT_AVAILABLE_IN_ALL void g_value_take_boxed(GValue *value, gconstpointer v_boxed)
GOBJECT_AVAILABLE_IN_ALL gpointer g_value_get_boxed(const GValue *value)
GOBJECT_AVAILABLE_IN_ALL GType g_boxed_type_register_static(const gchar *name, GBoxedCopyFunc boxed_copy, GBoxedFreeFunc boxed_free)
void(* GBoxedFreeFunc)(gpointer boxed)
Definition gboxed.h:67
GOBJECT_AVAILABLE_IN_ALL void g_value_set_boxed(GValue *value, gconstpointer v_boxed)
GOBJECT_AVAILABLE_IN_ALL GType g_value_get_type(void) G_GNUC_CONST
GOBJECT_AVAILABLE_IN_ALL void g_boxed_free(GType boxed_type, gpointer boxed)
GOBJECT_AVAILABLE_IN_ALL GType g_closure_get_type(void) G_GNUC_CONST
void g_value_set_boxed_take_ownership(GValue *value, gconstpointer v_boxed)
GOBJECT_AVAILABLE_IN_ALL void g_value_set_static_boxed(GValue *value, gconstpointer v_boxed)
gpointer(* GBoxedCopyFunc)(gpointer boxed)
Definition gboxed.h:58
GOBJECT_AVAILABLE_IN_ALL gpointer g_boxed_copy(GType boxed_type, gconstpointer src_boxed)
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define GOBJECT_AVAILABLE_IN_ALL
#define GOBJECT_DEPRECATED_FOR(f)
gsize GType
Definition gtype.h:427
G_BEGIN_DECLS typedef char gchar
Definition gtypes.h:52
void * gpointer
Definition gtypes.h:109
const void * gconstpointer
Definition gtypes.h:110
const char * name
Definition lsqlite3.c:2154
int value
Definition lsqlite3.c:2155