From 4836c94e6893a52340a77164940f3f1e029af5ea Mon Sep 17 00:00:00 2001 From: Patrick Hornecker Date: Mon, 28 Dec 2009 16:46:45 +0100 Subject: changes in receiver, sender and gui --- friendfinder/receiver.c | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'friendfinder/receiver.c') diff --git a/friendfinder/receiver.c b/friendfinder/receiver.c index 10a7d94..d50b9ff 100644 --- a/friendfinder/receiver.c +++ b/friendfinder/receiver.c @@ -5,6 +5,7 @@ #include #include "openssl/blowfish.h" +#include "gui.h" static irc_session_t *session; irc_callbacks_t callbacks; @@ -43,15 +44,16 @@ void disconnect_receiver() printf("RECEIVER: disconnected...\n"); } -char* dump_event (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) +void dump_data(char* lat, char* lon, char* nick) { - char* msg = " "; - - //msg = params[2]; - //printf("%c: \n",params[2]); - - - return msg; + /* + struct postion *pos = (struct postion*) malloc(sizeof(struct position)); + pos->lat = lat; + pos->lon = lon; + pos->nick = nick; + + print_users(pos); + */ } void get_position(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) @@ -60,9 +62,12 @@ void get_position(irc_session_t * session, const char * event, const char * orig char *decrypted_lat = (char*) malloc(sizeof(params[1])); char *decrypted_lon = (char*) malloc(sizeof(params[1])); + decrypted_lat = NULL; + decrypted_lon = NULL; + irc_target_get_nick(origin, sender_name, sizeof(sender_name)); - if (sender_name != NULL && strcmp(sender_name, "sender") == 1) + if (sender_name != NULL && strcmp(sender_name, "_s") == 1) { //first message is the ret param, which is needed for message decryption @@ -84,8 +89,13 @@ void get_position(irc_session_t * session, const char * event, const char * orig printf("RECEIVER: lon %s , origin: %s \n", decrypted_lon, sender_name); printf("====\n"); } - - //send an aknowledge to the sender (=sendername, to differ between multiple sender) + + if(decrypted_lon != NULL && decrypted_lat != NULL) + { + dump_data(decrypted_lat, decrypted_lon, sender_name); + decrypted_lon = NULL; + decrypted_lat = NULL; + } // if (strcmp(params[1], "128") != 0) { irc_cmd_msg(session, "#test", sender_name); @@ -101,7 +111,7 @@ void get_position(irc_session_t * session, const char * event, const char * orig void on_connect_receiver(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count) { - printf("on_connect_receiver"); + printf("RECEIVER: on_connect_receiver \n"); BF_set_key(&key, 5, "abcde"); irc_cmd_join(session, "#test", NULL); @@ -116,8 +126,11 @@ void receiver_main(void *user) callbacks.event_connect = on_connect_receiver; char *username = (char*) user; - + //TODO pointer zeigt immer auf gleiche variable....damit wird immer gleicher from wert genutzt und _r _s angehÃĪngt....fixen + strcat(username, "_r"); + init_connection_receiver("127.0.0.1", username); irc_run(session); + printf("done\n"); } -- cgit v1.2.3-55-g7522