Remove dependency on nethook and null hook.
[cascardo/rnetproxy.git] / null.c
diff --git a/null.c b/null.c
index fd4de84..9aa94de 100644 (file)
--- a/null.c
+++ b/null.c
 **  
 */
 
-#include <gnet.h>
 #include <glib.h>
 #include "null.h"
 
-static void null_connect (net_hook_t* hook)
+static void
+null_connect (net_hook_t *hook)
 {
 }
 
-static void null_close (net_hook_t* hook)
+static void
+null_close (net_hook_t *hook)
 {
   if (hook->peer)
     {
       hook->peer->peer = NULL;
-      gnet_conn_disconnect (hook->peer->conn);
+      hc_conn_close (hook->peer->conn);
     }
-  gnet_conn_delete (hook->conn);
+  hc_conn_close (hook->conn);
   g_slice_free (net_hook_t, hook);
 }
 
-static void null_write (net_hook_t* hook)
+static void
+null_read (net_hook_t *hook, gchar *buffer, size_t len)
 {
+  hc_conn_write (hook->peer->conn, buffer, len);
 }
 
-static void null_read (net_hook_t* hook, gchar* buffer, size_t len)
-{
-  gnet_conn_write (hook->peer->conn, buffer, len);
-}
-
-static void null_error (net_hook_t* hook)
+static void
+null_error (net_hook_t *hook)
 {
   g_message ("Error in POP3 client connection.");
 }
 
-static net_hook_t* null_server_hook_new (net_hook_t* client_hook, char *server)
+static net_hook_t *
+null_server_hook_new (net_hook_t *client_hook, char *server, char *port)
 {
-  net_hook_t* hook;
+  net_hook_t *hook;
+  int fd;
+  HCConn *conn;
   hook = g_slice_new (net_hook_t);
-  hook->conn = gnet_conn_new (server, 110, nethook_event, hook);
   hook->peer = client_hook;
   hook->server = TRUE;
   hook->connect = null_connect;
   hook->close = null_close;
-  hook->write = null_write;
   hook->read = null_read;
   hook->data = NULL;
-  gnet_conn_connect (hook->conn);
-  gnet_conn_read (hook->conn);
+  conn = hc_conn_new (NULL, NULL);
+  hook->conn = hc_conn_new (nethook_event, hook);
+  fd = hc_tcp_connect (server, port);
+  hc_conn_set_driver_channel (conn, fd);
+  hc_conn_set_driver_ssl (hook->conn, conn);
   return hook;
 }
 
-net_hook_t* null_hook_new (GConn* conn, char *server)
+net_hook_t *
+null_hook_new (HCConn *conn, char *server, char *port)
 {
-  net_hook_thook;
+  net_hook_t *hook;
   hook = g_slice_new (net_hook_t);
   hook->conn = conn;
   hook->peer = NULL;
   hook->server = FALSE;
   hook->connect = null_connect;
   hook->close = null_close;
-  hook->write = null_write;
   hook->read = null_read;
   hook->data = server;
-  hook->peer = null_server_hook_new (hook, server);
-  gnet_conn_set_callback (hook->conn, nethook_event, hook);
+  hook->peer = null_server_hook_new (hook, server, port);
+  hc_conn_set_callback (hook->conn, nethook_event, hook);
   return hook;
 }
 
-void null_destroy (net_hook_t* hook)
+void
+null_destroy (net_hook_t *hook)
 {
   g_slice_free (net_hook_t, hook);
 }