1/* GIO - GLib Input, Output and Streaming Library
2 *
3 * Copyright © 2010 Collabora, Ltd.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * See the included COPYING file for more information.
13 *
14 * Author: Stef Walter <stefw@collabora.co.uk>
15 */
16
17#ifndef __G_TLS_FILE_DATABASE_H__
18#define __G_TLS_FILE_DATABASE_H__
19
20#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
21#error "Only <gio/gio.h> can be included directly."
22#endif
23
24#include <gio/giotypes.h>
25
26G_BEGIN_DECLS
27
28#define G_TYPE_TLS_FILE_DATABASE (g_tls_file_database_get_type ())
29#define G_TLS_FILE_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_FILE_DATABASE, GTlsFileDatabase))
30#define G_IS_TLS_FILE_DATABASE(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_FILE_DATABASE))
31#define G_TLS_FILE_DATABASE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TLS_FILE_DATABASE, GTlsFileDatabaseInterface))
32
33typedef struct _GTlsFileDatabaseInterface GTlsFileDatabaseInterface;
34
35/**
36 * GTlsFileDatabaseInterface:
37 * @g_iface: The parent interface.
38 *
39 * Provides an interface for #GTlsFileDatabase implementations.
40 *
41 */
42struct _GTlsFileDatabaseInterface
43{
44 GTypeInterface g_iface;
45
46 /*< private >*/
47 /* Padding for future expansion */
48 gpointer padding[8];
49};
50
51GIO_AVAILABLE_IN_ALL
52GType g_tls_file_database_get_type (void) G_GNUC_CONST;
53
54GIO_AVAILABLE_IN_ALL
55GTlsDatabase* g_tls_file_database_new (const gchar *anchors,
56 GError **error);
57
58G_END_DECLS
59
60#endif /* __G_TLS_FILE_DATABASE_H___ */
61