summaryrefslogtreecommitdiffstats
path: root/friendfinder/handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'friendfinder/handler.c')
-rw-r--r--friendfinder/handler.c100
1 files changed, 15 insertions, 85 deletions
diff --git a/friendfinder/handler.c b/friendfinder/handler.c
index 6967351..e3f7087 100644
--- a/friendfinder/handler.c
+++ b/friendfinder/handler.c
@@ -1,103 +1,33 @@
-#include "Ecore.h"
-#include "Evas.h"
-#include "Ecore_Evas.h"
-#include "Elementary.h"
+#include "pthread.h"
-#include "receiver.h"
-#include "sender.h"
#include "msg_sender.h"
+#include "sender.h"
+#include "receiver.h"
-int is_init = 0;
-double interval = 0.1;
-int pos_start = 0;
-
-
-void pause_msg_sender()
-{
- msg_stop_irc();
-}
+pthread_t msg_thread, sender_thread, receiver_thread;
-void continue_msg_sender()
-{
- msg_run_irc();
-}
-void pause_receiver()
+void init_msg_thread(char *from, char *to)
{
- receiver_stop_irc();
-}
+ struct nick *nicknames = (struct nick*) malloc(sizeof(struct nick));
+ nicknames->from = from;
+ nicknames->to = to;
-void continue_receiver()
-{
- receiver_run_irc();
+ pthread_create(&msg_thread, NULL, msg_main_loop, (void*) nicknames);
}
-void pause_sender()
+void init_receiver_thread(char *from)
{
- sender_stop_irc();
-}
+ pthread_create(&sender_thread, NULL, sender_main, (void*) from);
-void continue_sender()
-{
- sender_run_irc();
}
-void continue_gui(void *data)
+void init_sender_thread(char *from)
{
- elm_run();
-}
-
-void start_pos()
-{
- pos_start = 1;
-}
-
-void init_ecore_handler(char *from, char *to)
-{
- ecore_init();
-
- if (is_init == 0)
- {
- is_init = 1;
- msg_main_loop(from, to);
- sender_main(from);
- receiver_main(from);
- }
- ecore_idle_exiter_add(continue_gui, NULL);
-
- ecore_idle_exiter_add(continue_msg_sender, NULL);
-
- ecore_idle_exiter_add(pause_msg_sender, NULL);
-
- ecore_idle_exiter_add(continue_gui, NULL);
-
- if (pos_start == 1)
- {
- printf("HANDLER: sender started\n");
-
- ecore_idle_exiter_add(continue_sender, NULL);
-
- ecore_idle_exiter_add(pause_sender, NULL);
- }
-
- ecore_idle_exiter_add(continue_gui, NULL);
-
- if (pos_start == 1)
- {
- printf("HANDLER: receiver_started");
-
- ecore_idle_exiter_add(continue_receiver, NULL);
-
- ecore_idle_exiter_add(pause_receiver, NULL);
- }
-
- ecore_idle_exiter_add(continue_gui, NULL);
-
- ecore_main_loop_begin();
+ pthread_create(&receiver_thread, NULL, receiver_main, (void*) from);
}
-void shutdown_ecore_handler()
+void close_threads()
{
- ecore_main_loop_quit();
- ecore_shutdown();
+ pthread_exit(NULL);
}