improve bloom filter on send
[platform/upstream/glib.git] / gio / gtlsconnection.h
index 86f1f68..15b29aa 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifndef __G_TLS_CONNECTION_H__
+#define __G_TLS_CONNECTION_H__
+
 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
 #error "Only <gio/gio.h> can be included directly."
 #endif
 
-#ifndef __G_TLS_CONNECTION_H__
-#define __G_TLS_CONNECTION_H__
-
 #include <gio/giostream.h>
 
 G_BEGIN_DECLS
@@ -36,14 +34,6 @@ G_BEGIN_DECLS
 #define G_IS_TLS_CONNECTION_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TLS_CONNECTION))
 #define G_TLS_CONNECTION_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), G_TYPE_TLS_CONNECTION, GTlsConnectionClass))
 
-/**
- * GTlsConnection:
- *
- * TLS connection. This is an abstract type that will be subclassed by
- * a TLS-library-specific subtype.
- *
- * Since: 2.28
- */
 typedef struct _GTlsConnectionClass   GTlsConnectionClass;
 typedef struct _GTlsConnectionPrivate GTlsConnectionPrivate;
 
@@ -58,8 +48,6 @@ struct _GTlsConnectionClass
   GIOStreamClass parent_class;
 
   /* signals */
-  GTlsCertificate * ( *need_certificate)   (GTlsConnection       *connection);
-
   gboolean          ( *accept_certificate) (GTlsConnection       *connection,
                                            GTlsCertificate      *peer_cert,
                                            GTlsCertificateFlags  errors);
@@ -83,34 +71,65 @@ struct _GTlsConnectionClass
   gpointer padding[8];
 };
 
-GType                g_tls_connection_get_type                 (void) G_GNUC_CONST;
-
-void                 g_tls_connection_set_certificate          (GTlsConnection       *conn,
-                                                               GTlsCertificate      *certificate);
-GTlsCertificate     *g_tls_connection_get_certificate          (GTlsConnection       *conn);
-
-GTlsCertificate     *g_tls_connection_get_peer_certificate     (GTlsConnection       *conn);
-
-void                 g_tls_connection_set_require_close_notify (GTlsConnection       *conn,
-                                                               gboolean              require_close_notify);
-gboolean             g_tls_connection_get_require_close_notify (GTlsConnection       *conn);
-
-void                 g_tls_connection_set_rehandshake_mode     (GTlsConnection       *conn,
-                                                               GTlsRehandshakeMode   mode);
-GTlsRehandshakeMode  g_tls_connection_get_rehandshake_mode     (GTlsConnection       *conn);
-
-gboolean             g_tls_connection_handshake                (GTlsConnection       *conn,
-                                                               GCancellable         *cancellable,
-                                                               GError              **error);
-
-void                 g_tls_connection_handshake_async          (GTlsConnection       *conn,
-                                                               int                   io_priority,
-                                                               GCancellable         *cancellable,
-                                                               GAsyncReadyCallback   callback,
-                                                               gpointer              user_data);
-gboolean             g_tls_connection_handshake_finish         (GTlsConnection       *conn,
-                                                               GAsyncResult         *result,
-                                                               GError              **error);
+GLIB_AVAILABLE_IN_ALL
+GType                 g_tls_connection_get_type                    (void) G_GNUC_CONST;
+
+GLIB_DEPRECATED
+void                  g_tls_connection_set_use_system_certdb       (GTlsConnection       *conn,
+                                                                    gboolean              use_system_certdb);
+GLIB_DEPRECATED
+gboolean              g_tls_connection_get_use_system_certdb       (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_set_database                (GTlsConnection       *conn,
+                                                                   GTlsDatabase         *database);
+GLIB_AVAILABLE_IN_ALL
+GTlsDatabase *        g_tls_connection_get_database                (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_set_certificate             (GTlsConnection       *conn,
+                                                                    GTlsCertificate      *certificate);
+GLIB_AVAILABLE_IN_ALL
+GTlsCertificate      *g_tls_connection_get_certificate             (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_set_interaction             (GTlsConnection       *conn,
+                                                                    GTlsInteraction      *interaction);
+GLIB_AVAILABLE_IN_ALL
+GTlsInteraction *     g_tls_connection_get_interaction             (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+GTlsCertificate      *g_tls_connection_get_peer_certificate        (GTlsConnection       *conn);
+GLIB_AVAILABLE_IN_ALL
+GTlsCertificateFlags  g_tls_connection_get_peer_certificate_errors (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_set_require_close_notify    (GTlsConnection       *conn,
+                                                                   gboolean              require_close_notify);
+GLIB_AVAILABLE_IN_ALL
+gboolean              g_tls_connection_get_require_close_notify    (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_set_rehandshake_mode        (GTlsConnection       *conn,
+                                                                   GTlsRehandshakeMode   mode);
+GLIB_AVAILABLE_IN_ALL
+GTlsRehandshakeMode   g_tls_connection_get_rehandshake_mode        (GTlsConnection       *conn);
+
+GLIB_AVAILABLE_IN_ALL
+gboolean              g_tls_connection_handshake                   (GTlsConnection       *conn,
+                                                                   GCancellable         *cancellable,
+                                                                   GError              **error);
+
+GLIB_AVAILABLE_IN_ALL
+void                  g_tls_connection_handshake_async             (GTlsConnection       *conn,
+                                                                   int                   io_priority,
+                                                                   GCancellable         *cancellable,
+                                                                   GAsyncReadyCallback   callback,
+                                                                   gpointer              user_data);
+GLIB_AVAILABLE_IN_ALL
+gboolean              g_tls_connection_handshake_finish            (GTlsConnection       *conn,
+                                                                   GAsyncResult         *result,
+                                                                   GError              **error);
 
 /**
  * G_TLS_ERROR:
@@ -120,17 +139,15 @@ gboolean             g_tls_connection_handshake_finish         (GTlsConnection
  * domains.
  */
 #define G_TLS_ERROR (g_tls_error_quark ())
+GLIB_AVAILABLE_IN_ALL
 GQuark g_tls_error_quark (void);
 
 
 /*< protected >*/
-GTlsCertificate     *g_tls_connection_emit_need_certificate    (GTlsConnection       *conn);
-gboolean             g_tls_connection_emit_accept_certificate  (GTlsConnection       *conn,
-                                                               GTlsCertificate      *peer_cert,
-                                                               GTlsCertificateFlags  errors);
-
-void                 g_tls_connection_set_peer_certificate     (GTlsConnection       *conn,
-                                                               GTlsCertificate      *certificate);
+GLIB_AVAILABLE_IN_ALL
+gboolean              g_tls_connection_emit_accept_certificate     (GTlsConnection       *conn,
+                                                                   GTlsCertificate      *peer_cert,
+                                                                   GTlsCertificateFlags  errors);
 
 G_END_DECLS