2 * gtlsconnection-openssl.h
4 * Copyright (C) 2015 NICE s.r.l.
6 * This file 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.
11 * This file 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.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 * In addition, when the library is used with OpenSSL, a special
20 * exception applies. Refer to the LICENSE_EXCEPTION file for details.
22 * Authors: Ignacio Casal Quinteiro
25 #ifndef __G_TLS_CONNECTION_OPENSSL_H__
26 #define __G_TLS_CONNECTION_OPENSSL_H__
30 #include "gtlsconnection-base.h"
31 #include "openssl-include.h"
35 #define G_TYPE_TLS_CONNECTION_OPENSSL (g_tls_connection_openssl_get_type ())
36 #define G_TLS_CONNECTION_OPENSSL(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CONNECTION_OPENSSL, GTlsConnectionOpenssl))
37 #define G_TLS_CONNECTION_OPENSSL_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TLS_CONNECTION_OPENSSL, GTlsConnectionOpensslClass))
38 #define G_IS_TLS_CONNECTION_OPENSSL(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CONNECTION_OPENSSL))
39 #define G_IS_TLS_CONNECTION_OPENSSL_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CONNECTION_OPENSSL))
40 #define G_TLS_CONNECTION_OPENSSL_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CONNECTION_OPENSSL, GTlsConnectionOpensslClass))
42 typedef struct _GTlsConnectionOpensslClass GTlsConnectionOpensslClass;
43 typedef struct _GTlsConnectionOpenssl GTlsConnectionOpenssl;
45 struct _GTlsConnectionOpensslClass
47 GTlsConnectionBaseClass parent_class;
49 SSL *(*get_ssl) (GTlsConnectionOpenssl *connection);
52 struct _GTlsConnectionOpenssl
54 GTlsConnectionBase parent_instance;
57 GType g_tls_connection_openssl_get_type (void) G_GNUC_CONST;
59 SSL *g_tls_connection_openssl_get_ssl (GTlsConnectionOpenssl *connection);
61 gboolean g_tls_connection_openssl_request_certificate (GTlsConnectionOpenssl *openssl,
66 #endif /* __G_TLS_CONNECTION_OPENSSL_H___ */