Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gifunctioninfo.h
Go to the documentation of this file.
1/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
2 * GObject introspection: Function
3 *
4 * Copyright (C) 2005 Matthias Clasen
5 * Copyright (C) 2008,2009 Red Hat, Inc.
6 *
7 * SPDX-License-Identifier: LGPL-2.1-or-later
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This library 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 GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the
21 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 * Boston, MA 02111-1307, USA.
23 */
24
25#pragma once
26
27#if !defined (__GIREPOSITORY_H_INSIDE__) && !defined (GI_COMPILATION)
28#error "Only <girepository.h> can be included directly."
29#endif
30
32
34
35#define GI_TYPE_FUNCTION_INFO (gi_function_info_get_type ())
36
37/**
38 * GI_FUNCTION_INFO:
39 * @info: Info object which is subject to casting.
40 *
41 * Casts a [type@GIRepository.FunctionInfo] or derived pointer into a
42 * `(GIFunctionInfo*)` pointer.
43 *
44 * Depending on the current debugging level, this function may invoke
45 * certain runtime checks to identify invalid casts.
46 *
47 * Since: 2.80
48 */
49#define GI_FUNCTION_INFO(info) (G_TYPE_CHECK_INSTANCE_CAST ((info), GI_TYPE_FUNCTION_INFO, GIFunctionInfo))
50
51/**
52 * GI_IS_FUNCTION_INFO:
53 * @info: an info structure
54 *
55 * Checks if @info is a [class@GIRepository.FunctionInfo] (or a derived type).
56 *
57 * Since: 2.80
58 */
59#define GI_IS_FUNCTION_INFO(info) (G_TYPE_CHECK_INSTANCE_TYPE ((info), GI_TYPE_FUNCTION_INFO))
60
61
64
67
70
73
74/**
75 * GI_INVOKE_ERROR:
76 *
77 * Type quark function for [enum@GIRepository.InvokeError].
78 *
79 * Since: 2.80
80 */
81#define GI_INVOKE_ERROR (gi_invoke_error_quark ())
82
85
86/**
87 * GIInvokeError:
88 * @GI_INVOKE_ERROR_FAILED: invocation failed, unknown error.
89 * @GI_INVOKE_ERROR_SYMBOL_NOT_FOUND: symbol couldn’t be found in any of the
90 * libraries associated with the typelib of the function.
91 * @GI_INVOKE_ERROR_ARGUMENT_MISMATCH: the arguments provided didn’t match
92 * the expected arguments for the function’s type signature.
93 *
94 * An error occurring while invoking a function via
95 * [method@GIRepository.FunctionInfo.invoke].
96 *
97 * Since: 2.80
98 */
105
106
109 const GIArgument *in_args,
110 size_t n_in_args,
111 GIArgument *out_args,
112 size_t n_out_args,
113 GIArgument *return_value,
114 GError **error);
115
116
#define GI_AVAILABLE_IN_ALL
GI_AVAILABLE_IN_ALL GQuark gi_invoke_error_quark(void)
GI_AVAILABLE_IN_ALL const char * gi_function_info_get_symbol(GIFunctionInfo *info)
GIInvokeError
@ GI_INVOKE_ERROR_SYMBOL_NOT_FOUND
@ GI_INVOKE_ERROR_ARGUMENT_MISMATCH
@ GI_INVOKE_ERROR_FAILED
GI_AVAILABLE_IN_ALL gboolean gi_function_info_invoke(GIFunctionInfo *info, const GIArgument *in_args, size_t n_in_args, GIArgument *out_args, size_t n_out_args, GIArgument *return_value, GError **error)
GI_AVAILABLE_IN_ALL GIVFuncInfo * gi_function_info_get_vfunc(GIFunctionInfo *info)
GI_AVAILABLE_IN_ALL GIPropertyInfo * gi_function_info_get_property(GIFunctionInfo *info)
GI_AVAILABLE_IN_ALL GIFunctionInfoFlags gi_function_info_get_flags(GIFunctionInfo *info)
GIFunctionInfoFlags
Definition gitypes.h:413
struct _GIPropertyInfo GIPropertyInfo
Definition gitypes.h:112
struct _GIFunctionInfo GIFunctionInfo
Definition gitypes.h:60
struct _GIVFuncInfo GIVFuncInfo
Definition gitypes.h:108
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
G_BEGIN_DECLS typedef guint32 GQuark
Definition gquark.h:38
gint gboolean
Definition gtypes.h:56
static void error(LoadState *S, const char *why)