gtlsclientconnection.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* GIO - GLib Input, Output and Streaming Library
  2. *
  3. * Copyright (C) 2010 Red Hat, Inc.
  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 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General
  16. * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  17. */
  18. #ifndef __G_TLS_CLIENT_CONNECTION_H__
  19. #define __G_TLS_CLIENT_CONNECTION_H__
  20. #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
  21. #error "Only <gio/gio.h> can be included directly."
  22. #endif
  23. #include <gio/gtlsconnection.h>
  24. G_BEGIN_DECLS
  25. #define G_TYPE_TLS_CLIENT_CONNECTION (g_tls_client_connection_get_type ())
  26. #define G_TLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TLS_CLIENT_CONNECTION, GTlsClientConnection))
  27. #define G_IS_TLS_CLIENT_CONNECTION(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TLS_CLIENT_CONNECTION))
  28. #define G_TLS_CLIENT_CONNECTION_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TLS_CLIENT_CONNECTION, GTlsClientConnectionInterface))
  29. typedef struct _GTlsClientConnectionInterface GTlsClientConnectionInterface;
  30. struct _GTlsClientConnectionInterface
  31. {
  32. GTypeInterface g_iface;
  33. };
  34. GLIB_AVAILABLE_IN_ALL
  35. GType g_tls_client_connection_get_type (void) G_GNUC_CONST;
  36. GLIB_AVAILABLE_IN_ALL
  37. GIOStream * g_tls_client_connection_new (GIOStream *base_io_stream,
  38. GSocketConnectable *server_identity,
  39. GError **error);
  40. GLIB_AVAILABLE_IN_ALL
  41. GTlsCertificateFlags g_tls_client_connection_get_validation_flags (GTlsClientConnection *conn);
  42. GLIB_AVAILABLE_IN_ALL
  43. void g_tls_client_connection_set_validation_flags (GTlsClientConnection *conn,
  44. GTlsCertificateFlags flags);
  45. GLIB_AVAILABLE_IN_ALL
  46. GSocketConnectable *g_tls_client_connection_get_server_identity (GTlsClientConnection *conn);
  47. GLIB_AVAILABLE_IN_ALL
  48. void g_tls_client_connection_set_server_identity (GTlsClientConnection *conn,
  49. GSocketConnectable *identity);
  50. GLIB_AVAILABLE_IN_ALL
  51. gboolean g_tls_client_connection_get_use_ssl3 (GTlsClientConnection *conn);
  52. GLIB_AVAILABLE_IN_ALL
  53. void g_tls_client_connection_set_use_ssl3 (GTlsClientConnection *conn,
  54. gboolean use_ssl3);
  55. GLIB_AVAILABLE_IN_ALL
  56. GList * g_tls_client_connection_get_accepted_cas (GTlsClientConnection *conn);
  57. G_END_DECLS
  58. #endif /* __G_TLS_CLIENT_CONNECTION_H__ */