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