1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 /* 3 * Copyright (C) 2000-2003, Ximian, Inc. 4 */ 5 6 #ifndef __SOUP_CONNECTION_H__ 7 #define __SOUP_CONNECTION_H__ 1 8 9 #include "soup-types.h" 10 #include "soup-message-private.h" 11 #include "soup-misc.h" 12 13 G_BEGIN_DECLS 14 15 #define SOUP_TYPE_CONNECTION (soup_connection_get_type ()) 16 #define SOUP_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONNECTION, SoupConnection)) 17 #define SOUP_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONNECTION, SoupConnectionClass)) 18 #define SOUP_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONNECTION)) 19 #define SOUP_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONNECTION)) 20 #define SOUP_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONNECTION, SoupConnectionClass)) 21 22 struct _SoupConnection { 23 GObject parent; 24 25 }; 26 27 typedef struct { 28 GObjectClass parent_class; 29 30 /* signals */ 31 void (*disconnected) (SoupConnection *); 32 33 } SoupConnectionClass; 34 35 GType soup_connection_get_type (void); 36 37 38 #define SOUP_CONNECTION_REMOTE_URI "remote-uri" 39 #define SOUP_CONNECTION_SOCKET_PROPERTIES "socket-properties" 40 #define SOUP_CONNECTION_STATE "state" 41 #define SOUP_CONNECTION_SSL "ssl" 42 43 void soup_connection_connect_async (SoupConnection *conn, 44 GCancellable *cancellable, 45 GAsyncReadyCallback callback, 46 gpointer user_data); 47 gboolean soup_connection_connect_finish (SoupConnection *conn, 48 GAsyncResult *result, 49 GError **error); 50 gboolean soup_connection_connect_sync (SoupConnection *conn, 51 GCancellable *cancellable, 52 GError **error); 53 gboolean soup_connection_start_ssl_sync (SoupConnection *conn, 54 GCancellable *cancellable, 55 GError **error); 56 void soup_connection_start_ssl_async (SoupConnection *conn, 57 GCancellable *cancellable, 58 GAsyncReadyCallback callback, 59 gpointer user_data); 60 gboolean soup_connection_start_ssl_finish (SoupConnection *conn, 61 GAsyncResult *result, 62 GError **error); 63 64 void soup_connection_disconnect (SoupConnection *conn); 65 66 SoupSocket *soup_connection_get_socket (SoupConnection *conn); 67 SoupURI *soup_connection_get_remote_uri (SoupConnection *conn); 68 SoupURI *soup_connection_get_proxy_uri (SoupConnection *conn); 69 gboolean soup_connection_is_via_proxy (SoupConnection *conn); 70 gboolean soup_connection_is_tunnelled (SoupConnection *conn); 71 72 SoupConnectionState soup_connection_get_state (SoupConnection *conn); 73 void soup_connection_set_state (SoupConnection *conn, 74 SoupConnectionState state); 75 76 gboolean soup_connection_get_ever_used (SoupConnection *conn); 77 78 void soup_connection_send_request (SoupConnection *conn, 79 SoupMessageQueueItem *item, 80 SoupMessageCompletionFn completion_cb, 81 gpointer user_data); 82 83 G_END_DECLS 84 85 #endif /* __SOUP_CONNECTION_H__ */ 86