aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am2
-rw-r--r--src/error.c14
-rw-r--r--src/espik_common_handler.c2
-rw-r--r--src/espik_config.c2
-rw-r--r--src/espik_irc.c2
-rw-r--r--src/espik_net.c64
6 files changed, 82 insertions, 4 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 861950f..b14c64d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,7 +18,7 @@ espik_SOURCES = \
espik_net.c \
espik_config.c \
espik_common_handler.c \
- error.c \
+ espik_error.c \
$(ESPIKHEADERS)
espik_LDADD = @ecore_libs@
diff --git a/src/error.c b/src/error.c
new file mode 100644
index 0000000..e8303dc
--- /dev/null
+++ b/src/error.c
@@ -0,0 +1,14 @@
+#include "espik_error.h"
+
+#include <stdio.h> /* fprintf */
+#include <stdlib.h> /* exit */
+
+void chk_malloc (void *ptr)
+{
+ if (ptr == NULL)
+ {
+ fprintf (stderr, "Malloc failed\n");
+ fprintf (stderr, "exiting ...\n");
+ exit (128);
+ }
+}
diff --git a/src/espik_common_handler.c b/src/espik_common_handler.c
index 2c29322..c8fa693 100644
--- a/src/espik_common_handler.c
+++ b/src/espik_common_handler.c
@@ -11,7 +11,7 @@
#include "espik_irc.h"
#include "espik_net.h"
#include "espik.h"
-#include "error.h"
+#include "espik_error.h"
int server_data (void *data __UNUSED__, int ev_type __UNUSED__, Ecore_Con_Event_Server_Data * ev)
{
diff --git a/src/espik_config.c b/src/espik_config.c
index 9120b21..f3e9668 100644
--- a/src/espik_config.c
+++ b/src/espik_config.c
@@ -8,7 +8,7 @@
#include <Ecore_Config.h>
#include "espik_config.h"
-#include "error.h"
+#include "espik_error.h"
t_servinfo *espik_server_config_set (char *server, unsigned short port)
{
diff --git a/src/espik_irc.c b/src/espik_irc.c
index 8846ab1..82607ef 100644
--- a/src/espik_irc.c
+++ b/src/espik_irc.c
@@ -7,7 +7,7 @@
#include "global.h"
#include "espik_irc.h"
-#include "error.h"
+#include "espik_error.h"
//#include "espik_common_handler.h"
#include "espik.h"
#include "espik_net.h"
diff --git a/src/espik_net.c b/src/espik_net.c
new file mode 100644
index 0000000..c008234
--- /dev/null
+++ b/src/espik_net.c
@@ -0,0 +1,64 @@
+#include <string.h>
+#include <stdio.h>
+
+#include <Ecore.h>
+#include <Ecore_Con.h>
+
+#include "espik_net.h"
+#include "espik_common_handler.h"
+#include "struct.h"
+#include "espik_error.h"
+
+typedef int (*Handler_Func) (void *data, int ev_type, void *ev);
+
+Ecore_Con_Server *con_sock;
+
+void espik_con_init (t_info serv_info)
+{
+ ecore_con_init ();
+
+ con_sock =
+ ecore_con_server_connect (ECORE_CON_REMOTE_SYSTEM, serv_info.server->host,
+ (int)serv_info.server->port, NULL);
+ if (!con_sock)
+ {
+ fprintf (stderr, "ecore_con_server_connect failed\n");
+ exit (-1);
+ }
+
+ ecore_event_handler_add (ECORE_CON_EVENT_SERVER_DATA, (Handler_Func) server_data, NULL);
+}
+
+void espik_con_shutdown ()
+{
+
+ printf ("> espik_con_shutdown\n");
+ ecore_con_server_del (con_sock);
+ ecore_con_shutdown ();
+
+ printf ("< espik_con_shutdown\n");
+// ecore_main_loop_quit ();
+}
+
+void espik_raw_send (char *msg)
+{
+ int len;
+ char *out;
+
+ len = strlen (msg) + 3;
+
+ out = malloc (sizeof (char) * len);
+ chk_malloc (out);
+
+ snprintf (out, len, "%s\r\n", msg);
+
+ printf ("espik_raw_send:\nmsg: %s\nout: %s\n", msg, out);
+/* printf ("out[len-3]: 0x%X\n", out[len - 3]);
+ printf ("out[len-2]: 0x%X\n", out[len - 2]);
+ printf ("out[len-1]: 0x%X\n", out[len - 1]);
+ */
+
+ printf ("ecore_con_server_send: %d\n", ecore_con_server_send (con_sock, out, strlen (out)));
+
+ free (out);
+}