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 24 G_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 31 typedef struct _GTlsFileDatabaseInterface GTlsFileDatabaseInterface; 32 33 /** 34 * GTlsFileDatabaseInterface: 35 * @g_iface: The parent interface. 36 * 37 * Provides an interface for #GTlsFileDatabase implementations. 38 * 39 */ 40 struct _GTlsFileDatabaseInterface 41 { 42 GTypeInterface g_iface; 43 44 /*< private >*/ 45 /* Padding for future expansion */ 46 gpointer padding[8]; 47 }; 48 49 GLIB_AVAILABLE_IN_ALL 50 GType g_tls_file_database_get_type (void) G_GNUC_CONST; 51 52 GLIB_AVAILABLE_IN_ALL 53 GTlsDatabase* g_tls_file_database_new (const gchar *anchors, 54 GError **error); 55 56 G_END_DECLS 57 58 #endif /* __G_TLS_FILE_DATABASE_H___ */ 59