Starting the NetworkStreams. HTTP to www.google.com works
[cascardo/gnio.git] / gnio / gsocket.h
index 63295e1..2a50583 100644 (file)
@@ -27,8 +27,7 @@
 #include <glib-object.h>
 #include <gio/gio.h>
 
-#include "ginetaddress.h"
-#include "gsocketaddress.h"
+#include <gnio/gsocketaddress.h>
 
 G_BEGIN_DECLS
 
@@ -55,87 +54,72 @@ struct _GSocketClass
   GObjectClass parent_class;
 };
 
-GType            g_socket_get_type         (void) G_GNUC_CONST;
-
-GSocket *        g_socket_new              (gint domain, gint type, gint protocol);
+typedef enum
+{
+  G_SOCKET_DOMAIN_INET,
+  G_SOCKET_DOMAIN_INET6,
+  G_SOCKET_DOMAIN_UNIX
+} GSocketDomain;
 
-GSocket *        g_socket_new_from_fd      (gint fd);
+typedef enum
+{
+  G_SOCKET_TYPE_STREAM,
+  G_SOCKET_TYPE_DATAGRAM,
+  G_SOCKET_TYPE_SEQPACKET
+} GSocketType;
 
-GSocketAddress * g_socket_get_peer_address (GSocket *socket, GError **error);
+GType            g_socket_get_type           (void) G_GNUC_CONST;
 
-void             g_socket_set_blocking     (GSocket  *socket,
-                                            gboolean  blocking);
+GSocket *        g_socket_new                (GSocketDomain   domain,
+                                              GSocketType     type,
+                                              const gchar    *protocol,
+                                              GError        **error);
 
-gboolean         g_socket_get_blocking     (GSocket  *socket);
+GSocket *        g_socket_new_from_fd        (gint fd);
 
-gboolean         g_socket_bind             (GSocket         *socket,
-                                            GSocketAddress  *address,
-                                            GError         **error);
+GSocketAddress * g_socket_get_local_address  (GSocket *socket, GError **error);
 
-gboolean         g_socket_connect          (GSocket         *socket,
-                                            GSocketAddress  *address,
-                                            GCancellable    *cancellable,
-                                            GError         **error);
+GSocketAddress * g_socket_get_remote_address (GSocket *socket, GError **error);
 
-void             g_socket_connect_async    (GSocket             *socket,
-                                            GSocketAddress      *address,
-                                            GCancellable        *cancellable,
-                                            GAsyncReadyCallback  callback,
-                                            gpointer             user_data);
+void             g_socket_set_blocking       (GSocket  *socket,
+                                              gboolean  blocking);
 
-gboolean         g_socket_connect_finish   (GSocket       *socket,
-                                            GAsyncResult  *result,
-                                            GError       **error);
+gboolean         g_socket_get_blocking       (GSocket  *socket);
 
-GSocket *        g_socket_accept           (GSocket       *socket,
-                                            GCancellable  *cancellable,
-                                            GError       **error);
+void             g_socket_set_reuse_address  (GSocket  *socket,
+                                              gboolean  reuse);
 
-void             g_socket_accept_async     (GSocket             *socket,
-                                            GCancellable        *cancellable,
-                                            GAsyncReadyCallback  callback,
-                                            gpointer             user_data);
+gboolean         g_socket_get_reuse_address  (GSocket  *socket);
 
-GSocket *        g_socket_accept_finish    (GSocket       *socket,
-                                            GAsyncResult  *result,
-                                            GError       **error);
+gboolean         g_socket_bind               (GSocket         *socket,
+                                              GSocketAddress  *address,
+                                              GError         **error);
 
-void             g_socket_listen           (GSocket *socket,
-                                            gint backlog);
+gboolean         g_socket_connect            (GSocket         *socket,
+                                              GSocketAddress  *address,
+                                              GError         **error);
 
-gssize           g_socket_receive          (GSocket       *socket,
-                                            gchar         *buffer,
-                                            gsize          size,
-                                            GCancellable  *cancellable,
-                                            GError       **error);
+GSocket *        g_socket_accept             (GSocket       *socket,
+                                              GError       **error);
 
-void             g_socket_receive_async    (GSocket             *socket,
-                                            gchar               *buffer,
-                                            gsize                size,
-                                            GCancellable        *cancellable,
-                                            GAsyncReadyCallback  callback,
-                                            gpointer             user_data);
+gboolean         g_socket_listen             (GSocket  *socket,
+                                              GError  **error);
 
-gssize           g_socket_receive_finish   (GSocket       *socket,
-                                            GAsyncResult  *result,
-                                            GError       **error);
+gssize           g_socket_receive            (GSocket       *socket,
+                                              gchar         *buffer,
+                                              gsize          size,
+                                              GError       **error);
 
-gssize           g_socket_send             (GSocket       *socket,
-                                            gchar         *buffer,
-                                            gsize          size,
-                                            GCancellable  *cancellable,
-                                            GError       **error);
+gssize           g_socket_send               (GSocket       *socket,
+                                              const gchar   *buffer,
+                                              gsize          size,
+                                              GError       **error);
 
-void             g_socket_send_async       (GSocket             *socket,
-                                            gchar               *buffer,
-                                            gsize                size,
-                                            GCancellable        *cancellable,
-                                            GAsyncReadyCallback  callback,
-                                            gpointer             user_data);
+void             g_socket_close              (GSocket *socket);
 
-gssize           g_socket_send_finish      (GSocket       *socket,
-                                            GAsyncResult  *result,
-                                            GError       **error);
+GSource *        g_socket_create_source      (GSocket      *socket,
+                                              GIOCondition  condition,
+                                              GCancellable *cancellable);
 
 G_END_DECLS