summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--friendfinder/Makefile.inc15
-rw-r--r--friendfinder/gui.c84
-rw-r--r--friendfinder/gui.h1
-rw-r--r--friendfinder/handler.c48
-rw-r--r--friendfinder/handler.h3
-rw-r--r--friendfinder/msg_sender.c41
-rw-r--r--friendfinder/receiver.c21
-rw-r--r--friendfinder/render/line.c2
-rw-r--r--friendfinder/sender.c27
-rw-r--r--msg_sender/Makefile.inc16
-rw-r--r--msg_sender/gui.c2
11 files changed, 120 insertions, 140 deletions
diff --git a/friendfinder/Makefile.inc b/friendfinder/Makefile.inc
index 5c18f28..beb8f07 100644
--- a/friendfinder/Makefile.inc
+++ b/friendfinder/Makefile.inc
@@ -2,9 +2,9 @@
# settings
###########
-CFLAGS = -g -Wall -std=c99
-INCLUDES = -I../include -I/usr/local/include
-LIBS = -ledje -lecore -levas -lelementary -lecore_evas -lcrypto -lircclient -lproj
+CFLAGS = -g -Wall -std=c99
+INCLUDES = -I../include
+LIBS = -ledje -lecore -levas -lelementary -lircclient -lcrypto -lproj
###########
@@ -12,24 +12,25 @@ LIBS = -ledje -lecore -levas -lelementary -lecore_evas -lcrypto -lircclient -lpr
###########
OBJECTS = msg_sender.o
+OBJECTS += gui.o
+OBJECTS += handler.o
OBJECTS += receiver.o
OBJECTS += sender.o
-OBJECTS += gui.o
OBJECTS += e_smart_tile.o
OBJECTS += e_smart_map.o
-OBJECTS += render/line.o
-
OBJECTS += map/map_reader.o
OBJECTS += map/controls.o
OBJECTS += map/object.o
OBJECTS += map/overlay.o
+OBJECTS += render/line.o
+
OBJECTS += util/projection.o
OBJECTS += vkbd/vkbd.o
-OBJECTS += handler.o
+
##################
# rules
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index 868b4c1..62b35ff 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -3,7 +3,6 @@
#include "Evas.h"
#include "Ecore.h"
-#include "Ecore_Evas.h"
#include "Elementary.h"
#include "msg_sender.h"
@@ -28,44 +27,40 @@ static Evas_Object *win, *bbx;
static void on_cancel(void *data, Evas_Object *obj, void *event_info)
{
- /* cleanly exit */
- elm_exit();
+ /* cleanly exit */
+ elm_exit();
+ elm_shutdown();
+ disconnect_receiver();
+ disconnect_sender();
+ disconnect_msg_sender();
+ shutdown_ecore_handler();
}
static void on_chat(void *data, Evas_Object *obj, void *event_info)
{
-
init_window_parts();
init_buttons(obj);
init_toolbar(obj);
-
}
static void on_map(void *data, Evas_Object *obj, void *event_info)
{
-
init_map();
-
}
static void on_options(void *data, Evas_Object *obj, void *event_info)
{
-
init_options();
-
}
static void on_message(void *data, Evas_Object *obj, void *event_info)
{
-
msg_text = elm_entry_entry_get(obj);
elm_entry_context_menu_clear(obj);
-
}
static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
{
-
printf("on_send_message: %s\n", msg_text);
set_txt_msg(msg_text);
Evas_Object *bb1, *bb2, *bb3;
@@ -163,19 +158,16 @@ void show_message(char *current_msg)
/* returns the current system time */
char* get_current_time()
{
-
time_t now;
time(&now);
char *text = ctime(&now);
return text;
-
}
/* sets the username, time-text and the text in the bubble */
void set_bubble_text(Evas_Object *bb, char *username, char *text)
{
-
Evas_Object *cn;
/* sets the username */
@@ -198,12 +190,10 @@ void set_bubble_text(Evas_Object *bb, char *username, char *text)
evas_object_move(bb, 0, bubble_pos);
elm_bubble_content_set(bb, cn);
evas_object_show(bb);
-
}
void init_window_parts()
{
-
Evas_Object *bg, *bx, *bx2, *bx3, *sc, *en;
/* add a standard bg */
@@ -261,7 +251,6 @@ void init_window_parts()
void init_toolbar()
{
-
Evas_Object *tb, *ic, *bx;
/* add box for toolbar */
@@ -289,7 +278,7 @@ void init_toolbar()
elm_toolbar_item_add(tb, ic, "Map", on_map, NULL);
evas_object_show(ic);
-// evas_object_show(ic);
+ evas_object_show(ic);
elm_box_pack_end(bx, tb);
evas_object_show(tb);
@@ -297,7 +286,6 @@ void init_toolbar()
void init_options()
{
-
Evas_Object *bg, *bx, *bx2, *bt;
/* add a standard bg */
@@ -323,18 +311,17 @@ void init_options()
evas_object_show(bx2);
bt = elm_button_add(win);
- elm_button_label_set(bt, "Stell mich ein");
+ elm_button_label_set(bt, "fiend friends");
evas_object_size_hint_weight_set(bt, 1.0, 0.0);
evas_object_size_hint_align_set(bt, -1.0, -1.0);
- elm_box_pack_end(bx2, bt);
+ elm_box_pack_end(bx, bt);
evas_object_smart_callback_add(bt, "clicked", NULL, NULL);
evas_object_show(bt);
}
void init_map()
{
-
- Evas_Object *bg, *bx, *bx2, *bx3, *map, *bt1, *bt2;
+ Evas_Object *bg, *bx, *bx2, *bx3, *map, *bt1, *bt2, *bt3;
/* add a standard bg */
bg = elm_bg_add(win);
@@ -388,44 +375,47 @@ void init_map()
evas_object_size_hint_align_set(bt2, -1.0, -1.0);
elm_box_pack_end(bx3, bt2);
evas_object_smart_callback_add(bt2, "clicked", NULL, NULL);
- evas_object_show(bt2);
-
+ evas_object_show(bt2);
+
+ bt3 = elm_button_add(win);
+ elm_button_label_set(bt3, "Exit");
+ evas_object_size_hint_weight_set(bt3, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt3, -1.0, -1.0);
+ elm_box_pack_end(bx3, bt3);
+ evas_object_smart_callback_add(bt3, "clicked", on_cancel, NULL);
+ evas_object_show(bt3);
}
void init_buttons(Evas_Object *box)
{
-
- Evas_Object *bt;
+ Evas_Object *bt1, *bt2;
/* add ok button to box - fill and expand */
- bt = elm_button_add(win);
- elm_button_label_set(bt, "Send Message");
- evas_object_size_hint_weight_set(bt, 1.0, 1.0);
- evas_object_size_hint_align_set(bt, -1.0, -1.0);
- //elm_box_pack_end(box, bt);
- evas_object_show(bt);
+ bt1 = elm_button_add(win);
+ elm_button_label_set(bt1, "Send Message");
+ evas_object_size_hint_weight_set(bt1, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt1, -1.0, -1.0);
+ elm_box_pack_end(box, bt1);
+ evas_object_show(bt1);
/* and when clicked - run "on_ok" */
- bbx = box;
- evas_object_smart_callback_add(bt, "clicked", on_send_message, NULL);
+ evas_object_smart_callback_add(bt1, "clicked", on_send_message, NULL);
/* add cancel button to box - fill and expand */
- bt = elm_button_add(win);
- elm_button_label_set(bt, "Cancel");
- evas_object_size_hint_weight_set(bt, 1.0, 1.0);
- evas_object_size_hint_align_set(bt, -1.0, -1.0);
- elm_box_pack_end(box, bt);
- evas_object_show(bt);
+ bt2 = elm_button_add(win);
+ elm_button_label_set(bt2, "Cancel");
+ evas_object_size_hint_weight_set(bt2, 1.0, 1.0);
+ evas_object_size_hint_align_set(bt2, -1.0, -1.0);
+ elm_box_pack_end(box, bt2);
+ evas_object_show(bt2);
/* and when clicked - run "on_cancel" */
- evas_object_smart_callback_add(bt, "clicked", on_cancel, NULL);
-
+ evas_object_smart_callback_add(bt2, "clicked", on_cancel, NULL);
}
void elm_main ()
{
-
/* new window - do the usual and give it a name, title and delete handler */
win = elm_win_add(NULL, "Main", ELM_WIN_BASIC);
elm_win_title_set(win, "Main");
@@ -442,11 +432,10 @@ void elm_main ()
init_ecore_handler(from, to);
/* get going and draw/respond to the user */
- // elm_run();
+ elm_run();
/* standard shutdown */
elm_exit();
-
}
int main (int argc, char **argv)
@@ -470,5 +459,4 @@ int main (int argc, char **argv)
elm_shutdown();
return 0;
-
}
diff --git a/friendfinder/gui.h b/friendfinder/gui.h
index 6c6013f..48b11f6 100644
--- a/friendfinder/gui.h
+++ b/friendfinder/gui.h
@@ -3,7 +3,6 @@
//structs
//typedef struct _ginfo ginfo;
-#include "Evas.h"
//callback functions
static void on_cancel(void *data, Evas_Object *obj, void *event_info);
diff --git a/friendfinder/handler.c b/friendfinder/handler.c
index 9b74339..6967351 100644
--- a/friendfinder/handler.c
+++ b/friendfinder/handler.c
@@ -1,15 +1,15 @@
#include "Ecore.h"
-#include "/usr/local/include/Evas.h"
-#include "/usr/local/include/Ecore_Evas.h"
-#include "/usr/local/include/Elementary.h"
+#include "Evas.h"
+#include "Ecore_Evas.h"
+#include "Elementary.h"
+
#include "receiver.h"
#include "sender.h"
#include "msg_sender.h"
int is_init = 0;
double interval = 0.1;
-double current_time, last_call;
-
+int pos_start = 0;
void pause_msg_sender()
@@ -42,16 +42,14 @@ void continue_sender()
sender_run_irc();
}
-void exit_all()
+void continue_gui(void *data)
{
- elm_exit();
- ecore_shutdown();
- elm_shutdown();
+ elm_run();
}
-void continue_gui(void *data)
+void start_pos()
{
- elm_run();
+ pos_start = 1;
}
void init_ecore_handler(char *from, char *to)
@@ -65,27 +63,41 @@ void init_ecore_handler(char *from, char *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_sender, NULL);
+ ecore_idle_exiter_add(continue_gui, NULL);
- ecore_idle_exiter_add(pause_sender, 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);
- ecore_idle_exiter_add(continue_receiver, 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(pause_receiver, NULL);
+ }
ecore_idle_exiter_add(continue_gui, NULL);
- //ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_all, NULL);
-
ecore_main_loop_begin();
}
void shutdown_ecore_handler()
{
+ ecore_main_loop_quit();
ecore_shutdown();
}
diff --git a/friendfinder/handler.h b/friendfinder/handler.h
index 583fd14..bb3256b 100644
--- a/friendfinder/handler.h
+++ b/friendfinder/handler.h
@@ -1,6 +1,9 @@
#ifndef __HANDLER_H_
#define __HANDLER_H_
+/* starts postition sending */
+void start_pos();
+
/* inits all needed parts of ecore for the handlers */
void init_ecore_handler(char *from, char *to);
diff --git a/friendfinder/msg_sender.c b/friendfinder/msg_sender.c
index a770169..0499f92 100644
--- a/friendfinder/msg_sender.c
+++ b/friendfinder/msg_sender.c
@@ -6,7 +6,6 @@
#include "openssl/blowfish.h"
#include "msg_sender.h"
-#include "gui.h"
static irc_session_t *session;
irc_callbacks_t callbacks;
@@ -26,30 +25,30 @@ int message_available = 0;
int init_connection(char* server_ip, char* user)
{
- printf("initialising connection...\n");
+ printf("MSG_SENDER: initialising connection...\n");
session = irc_create_session(&callbacks);
int con = irc_connect(session, server_ip, 6667, NULL, user, user, user);
if (irc_is_connected(session) == 1)
{
- printf("connected... \n");
+ printf("MSG_SENDER: connected... \n");
return 0;
}
if (con != 0)
{
- printf("connection error-code: %i \n", con);
+ printf("MSG_SENDER: connection error-code: %i \n", con);
return 1;
}
}
-void disconnect()
+void disconnect_msg_sender()
{
- printf("disconnected...\n");
irc_disconnect(session);
irc_destroy_session(session);
+ printf("MSG_SENDER: disconnected...\n");
}
void set_txt_msg(char *msg)
@@ -78,13 +77,13 @@ void dcc_recv_callback (irc_session_t * session, irc_dcc_t id, int status, void
switch (status)
{
case LIBIRC_ERR_CLOSED:
- printf ("DCC %d: chat closed\n", id);
+ printf ("MSG_SENDER: DCC %d: chat closed\n", id);
break;
case 0:
if ( data == NULL )
{
- printf ("DCC %d: chat connected\n", id);
+ printf ("MSG_SENDER: DCC %d: chat connected\n", id);
send_message(session, "im here");
}
else
@@ -99,7 +98,7 @@ void dcc_recv_callback (irc_session_t * session, irc_dcc_t id, int status, void
break;
default:
- printf ("DCC %d: error %s\n", id, irc_strerror(status));
+ printf ("MSG_SENDER: DCC %d: error %s\n", id, irc_strerror(status));
break;
}
irc_cmd_quit(session, "dcc_recv_callback: 99");
@@ -116,7 +115,7 @@ void send_message(irc_session_t *session, char *msg)
{
char crypted_msg[64];
- printf("send_message: %s \n", msg);
+ printf("MSG_SENDER: send_message: %s \n", msg);
BF_ecb_encrypt(msg, crypted_msg, &key, BF_ENCRYPT);
@@ -135,7 +134,7 @@ void send_message(irc_session_t *session, char *msg)
void on_join(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
- printf("on_join()\n");
+// printf("on_join()\n");
char sender_name[90];
@@ -143,17 +142,17 @@ void on_join(irc_session_t * session, const char * event, const char * origin, c
if (strcmp(sender_name, send_to) == 0)
{
- printf("Buddy %s joined the channel \n", send_to);
+ printf("MSG_SENDER: Buddy %s joined the channel \n", send_to);
if (irc_dcc_chat(session, NULL, send_to, dcc_recv_callback, &dccid) != 0)
{
- printf("ddc_chat_init_error \n");
+ printf("MSG_SENDER: ddc_chat_init_error \n");
}
else
{
- printf("dcc_chat_init_success \n");
- printf("dccid %d \n", dccid);
+ printf("MSG_SENDER: dcc_chat_init_success \n");
+ printf("MSG_SENDER: dccid %d \n", dccid);
char _dccid[2];
sprintf(_dccid, "%d", dccid);
@@ -173,25 +172,25 @@ void on_connect(irc_session_t * session, const char * event, const char * origin
void on_channel(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
- printf("on_channel()\n");
+// printf("on_channel()\n");
if (strcmp(params[1], "connected") != 0)
{
buddy_dccid = atoi(params[1]);
- printf("buddy_dccid: %d \n", buddy_dccid);
+ printf("MSG_SENDER: buddy_dccid: %d \n", buddy_dccid);
}
// irc_cmd_quit(session, "continue");
}
void on_dcc_req(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
- printf("on_dcc_req()\n");
+// printf("on_dcc_req()\n");
if(irc_dcc_accept (session, 1, 0, dcc_recv_callback) != 0)
{
- printf("ddc_chat_decline \n");
+ printf("MSG_SENDER: ddc_chat_decline \n");
}
else
{
- printf("dcc_chat_accepted \n");
+ printf("MSG_SENDER: dcc_chat_accepted \n");
}
// irc_cmd_quit(session, "continue");
}
@@ -211,7 +210,7 @@ void msg_main_loop(char *sender, char *receiver)
if (init_connection("127.0.0.1", sender) == 0)
{
- printf("connection succesfull\n");
+ printf("MSG_SENDER: connection succesfull\n");
}
}
diff --git a/friendfinder/receiver.c b/friendfinder/receiver.c
index 427e88b..b588103 100644
--- a/friendfinder/receiver.c
+++ b/friendfinder/receiver.c
@@ -15,30 +15,31 @@ int ret;
BF_KEY key;
-int init_connection(char* server_ip, char* user)
+int init_connection_receiver(char* server_ip, char* user)
{
- printf("init_connection()\n");
+ printf("RECEIVER: initialising connection...\n");
session = irc_create_session(&callbacks);
int con = irc_connect(session, server_ip, 6666, NULL, user, "receiver", "receiver");
if (con != 0)
{
- printf("connection error-code: %i \n", con);
+ printf("RECEIVER: connection error-code: %i \n", con);
return 0;
}
if (irc_is_connected(session) == 1)
{
- printf("connecting...\n");
+ printf("RECEIVER: connected...\n");
return 1;
}
}
-void disconnect()
+void disconnect_receiver()
{
irc_disconnect(session);
irc_destroy_session(session);
+ printf("RECEIVER: disconnected...\n");
}
char* dump_event (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
@@ -73,13 +74,13 @@ void get_position(irc_session_t * session, const char * event, const char * orig
if (counter % 2 == 0)
{
BF_ecb_encrypt(params[1], decrypted_lat, &key, BF_DECRYPT);
- printf("lat %s, origin: %s \n", decrypted_lat, sender_name);
+ printf("RECEIVER: lat %s, origin: %s \n", decrypted_lat, sender_name);
}
if (counter % 2 != 0)
{
BF_ecb_encrypt(params[1], decrypted_lon, &key, BF_DECRYPT);
- printf("lon %s , origin: %s \n", decrypted_lon, sender_name);
+ printf("RECEIVER: lon %s , origin: %s \n", decrypted_lon, sender_name);
printf("====\n");
}
@@ -97,7 +98,7 @@ void get_position(irc_session_t * session, const char * event, const char * orig
}
-void on_connect(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
+void on_connect_receiver(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
BF_set_key(&key, 5, "abcde");
@@ -111,9 +112,9 @@ void receiver_main(char *user)
memset(&callbacks, 0, sizeof(callbacks));
callbacks.event_channel = get_position;
- callbacks.event_connect = on_connect;
+ callbacks.event_connect = on_connect_receiver;
- init_connection("127.0.0.1", user);
+ init_connection_receiver("127.0.0.1", user);
}
diff --git a/friendfinder/render/line.c b/friendfinder/render/line.c
index 5af1ec7..4a2e0a8 100644
--- a/friendfinder/render/line.c
+++ b/friendfinder/render/line.c
@@ -3,7 +3,7 @@
#include <Evas.h>
#include <math.h>
-#include "render/line.h"
+#include "line.h"
static Evas_Smart *get_smart();
diff --git a/friendfinder/sender.c b/friendfinder/sender.c
index cef8aeb..3472430 100644
--- a/friendfinder/sender.c
+++ b/friendfinder/sender.c
@@ -14,34 +14,33 @@ int resend = 0;
char* nick;
int first_send = 0;
-int run_session = 0;
BF_KEY key;
-int init_connection(char* server_ip, char* user)
+int init_connection_sender(char* server_ip, char* user)
{
- printf("initialising connection...\n");
+ printf("SENDER: initialising connection...\n");
session = irc_create_session(&callbacks);
int con = irc_connect(session, server_ip, 6667, NULL, user, user, user);
if (irc_is_connected(session) == 1)
{
- printf("connected... \n");
+ printf("SENDER: connected... \n");
return 0;
}
if (con != 0)
{
- printf("connection error-code: %i \n", con);
+ printf("SENDER: connection error-code: %i \n", con);
return 1;
}
}
-void disconnect()
+void disconnect_sender()
{
- printf("disconnected...\n");
+ printf("SENDER: disconnected...\n");
irc_disconnect(session);
irc_destroy_session(session);
}
@@ -98,17 +97,17 @@ void send_position(irc_session_t * session, const char * event, const char * ori
if (_x == 0 && _y == 0)
{
- printf("send succesfull %i %i \n", lat, lon);
+ printf("SENDER: send succesfull %i %i \n", lat, lon);
}
if (_y != 0)
{
- printf("error code due sending: %i \n", _y);
+ printf("SENDER: error code due sending: %i \n", _y);
}
if (_x != 0)
{
- printf("error code due sending: %i \n", _x);
+ printf("SENDER: error code due sending: %i \n", _x);
}
first_send = 1;
@@ -150,16 +149,12 @@ void sender_main(char *nick)
callbacks.event_channel = get_aknowledge;
- init_connection("127.0.0.1", nick);
+ init_connection_sender("127.0.0.1", nick);
}
void sender_run_irc()
{
- if (run_session == 0)
- {
- irc_run(session);
- run_session = 1;
- }
+ irc_run(session);
}
void sender_stop_irc()
diff --git a/msg_sender/Makefile.inc b/msg_sender/Makefile.inc
index 5c18f28..bfb2cf1 100644
--- a/msg_sender/Makefile.inc
+++ b/msg_sender/Makefile.inc
@@ -12,23 +12,7 @@ LIBS = -ledje -lecore -levas -lelementary -lecore_evas -lcrypto -lircclient -lpr
###########
OBJECTS = msg_sender.o
-OBJECTS += receiver.o
-OBJECTS += sender.o
OBJECTS += gui.o
-
-OBJECTS += e_smart_tile.o
-OBJECTS += e_smart_map.o
-
-OBJECTS += render/line.o
-
-OBJECTS += map/map_reader.o
-OBJECTS += map/controls.o
-OBJECTS += map/object.o
-OBJECTS += map/overlay.o
-
-OBJECTS += util/projection.o
-
-OBJECTS += vkbd/vkbd.o
OBJECTS += handler.o
##################
diff --git a/msg_sender/gui.c b/msg_sender/gui.c
index 868b4c1..adf28d6 100644
--- a/msg_sender/gui.c
+++ b/msg_sender/gui.c
@@ -9,8 +9,6 @@
#include "msg_sender.h"
#include "gui.h"
#include "handler.h"
-#include "receiver.h"
-#include "sender.h"
int h = 600;
int w = 450;