summaryrefslogtreecommitdiffstats
path: root/friendfinder
diff options
context:
space:
mode:
authorPatrick Hornecker2010-01-13 19:22:19 +0100
committerPatrick Hornecker2010-01-13 19:22:19 +0100
commitb61e4bd4fc98907bc438b707e15ce4f82860e109 (patch)
tree1692f56f810d77bc02b10fe5328aa23cdab9e8e7 /friendfinder
parentfew bugs fixed, position drawing corrected... (diff)
downloadfriendfinder-b61e4bd4fc98907bc438b707e15ce4f82860e109.tar.gz
friendfinder-b61e4bd4fc98907bc438b707e15ce4f82860e109.tar.xz
friendfinder-b61e4bd4fc98907bc438b707e15ce4f82860e109.zip
file reader built in (currently not working)...few map bug fixed...msg_sender not stable atm
Diffstat (limited to 'friendfinder')
-rw-r--r--friendfinder/Makefile.CE10
-rw-r--r--friendfinder/Makefile.inc1
-rw-r--r--friendfinder/draw_user.c34
-rw-r--r--friendfinder/e_smart_map.c50
-rw-r--r--friendfinder/e_smart_map.h3
-rw-r--r--friendfinder/gui.c20
-rw-r--r--friendfinder/msg_sender.c70
-rw-r--r--friendfinder/read_file.c29
-rw-r--r--friendfinder/read_file.h7
-rw-r--r--friendfinder/receiver.c54
-rw-r--r--friendfinder/sender.c97
11 files changed, 237 insertions, 138 deletions
diff --git a/friendfinder/Makefile.CE b/friendfinder/Makefile.CE
index 63f7230..b4138e0 100644
--- a/friendfinder/Makefile.CE
+++ b/friendfinder/Makefile.CE
@@ -1,19 +1,13 @@
include Makefile.inc
-#OBJECTS += gps/gps_wince.o
-#OBJECTS += gps/nmea.o
-#OBJECTS += wince/display.o
-#OBJECTS += libircclient.o
-
-#OBJECTS += rc/ueberall.rsc
CC = gcc
#WINDRES = arm-wince-mingw32ce-windres
#LDFLAGS = -Wl#,--enable-auto-import
#SUFFIX = .exe
-#CFLAGS += -DWINCE
-#CFLAGS += -DGPS_LOG
+CFLAGS += -DWINCE
+CFLAGS += -DGPS_LOG
rc/ueberall.rsc: rc/ueberall.rc
diff --git a/friendfinder/Makefile.inc b/friendfinder/Makefile.inc
index f05f240..cf69284 100644
--- a/friendfinder/Makefile.inc
+++ b/friendfinder/Makefile.inc
@@ -17,6 +17,7 @@ OBJECTS += draw_user.o
OBJECTS += handler.o
OBJECTS += receiver.o
OBJECTS += sender.o
+OBJECTS += read_file.o
OBJECTS += e_smart_tile.o
OBJECTS += e_smart_map.o
diff --git a/friendfinder/draw_user.c b/friendfinder/draw_user.c
index 82c8837..19a46e7 100644
--- a/friendfinder/draw_user.c
+++ b/friendfinder/draw_user.c
@@ -7,12 +7,14 @@
#include "gui.h"
#include "util/projection.h"
#include "map/smart_map_priv.h"
+#include "e_smart_map.h"
int _h= 600;
int _w = 450;
int _distance = 1000;
int active_map = 0;
+int draw = 1;
double own_lat, own_lon;
Evas_Object *win, *map;
@@ -40,12 +42,6 @@ void set_dist(int distance)
void draw_user(struct position *pos)
{
- //int *e = NULL, *n = NULL, *own_e = NULL, *own_n = NULL;
-/* int *e = (int*) malloc(sizeof(int));
- int *n = (int*) malloc(sizeof(int));
- int *own_e = (int*) malloc(sizeof(int));
- int *own_n = (int*) malloc(sizeof(int));*/
-
int e = NULL;
int n = NULL;
int own_e = NULL;
@@ -63,7 +59,16 @@ void draw_user(struct position *pos)
if (active_map == 1 && test_distance(sender_lat, sender_lon, e, n, own_lat, own_lon, own_e, own_n) == 1)
{
- e_smart_map_overlay_set_bubble(map, "routing", pos->nick, pos->nick, sender_lat, sender_lon, 0xffffffff);
+ if (draw == 1)
+ {
+ e_smart_map_overlay_set_bubble(map, "routing", pos->nick, pos->nick, sender_lat, sender_lon, 0xffffffff, 0);
+ draw = 1;
+ }
+
+ if (draw == 0)
+ {
+ e_smart_map_overlay_set_bubble(map, "routing", pos->nick, pos->nick, sender_lat, sender_lon, 0xffffffff, 1);
+ }
}
}
}
@@ -73,16 +78,11 @@ int test_distance(double lat, double lon, int e, int n, double own_lat, double o
project_latlon(lat, lon, &e, &n, PROJECTION_UTM);
project_latlon(own_lat, own_lon, &own_e, &own_n, PROJECTION_UTM);
- printf("e %i \n", e);
+/* printf("e %i \n", e);
printf("own_e %i \n", own_e);
printf("n %i \n", n);
- printf("own_n %i \n", own_n);
+ printf("own_n %i \n", own_n); */
- project_latlon_inv(e, n, &lat, &lon, PROJECTION_UTM);
-
- printf("lat %f \n", lat);
- printf("lon %f \n", lon);
-
if (e != NULL && n !=NULL && own_n != NULL && own_e != NULL)
{
double x = sqrt(((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n)));
@@ -95,12 +95,12 @@ int test_distance(double lat, double lon, int e, int n, double own_lat, double o
printf("n - own_n %f \n", n - own_n);
printf("(e - own_e) * (e - own_e) %f \n", (e - own_e) * (e - own_e));
printf("(n - own_n) * (n - own_n) %f \n", (n - own_n) * (n - own_n));
- printf("((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n)) %f \n", ((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n))); */
+ printf("((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n)) %f \n", ((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n)));
printf("sqrt(((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n))) %f \n", sqrt(((e - own_e) * (e - own_e)) + ((n - own_n) * (n - own_n))));
- printf("e - own_e %i || n - own_n %i \n", (e - own_e), (n - own_n));
+ printf("e - own_e %i || n - own_n %i \n", (e - own_e), (n - own_n)); */
printf("x: %f distance: %i \n", x, _distance);
- if (x <= _distance)
+ if (x <= _distance && x >= 0)
{
return 1;
}
diff --git a/friendfinder/e_smart_map.c b/friendfinder/e_smart_map.c
index a35abf3..a248f2d 100644
--- a/friendfinder/e_smart_map.c
+++ b/friendfinder/e_smart_map.c
@@ -84,7 +84,7 @@ static struct bubble *create_text_bubble(struct smart_map *smart, char *info, ch
return bubble;
}
-void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, char *text, double lat, double lon, int flags)
+void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, char *text, double lat, double lon, int flags, int type)
{
struct smart_map *smart;
smart = evas_object_smart_data_get(o);
@@ -93,22 +93,44 @@ void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, c
struct overlay_item *poi = malloc(sizeof(struct overlay_item));
bb = create_text_bubble(smart, info, text);
- poi->obj = &bb->object;
- poi->lat = lat;
- poi->lon = lon;
- poi->level_mask = flags;
+ if (type == 0)
+ {
- struct map_overlay *ov = overlay_find_by_name(smart, overlay);
- if(ov == NULL)
- e_smart_map_add_overlay(o, overlay);
+ poi->obj = &bb->object;
+ poi->lat = lat;
+ poi->lon = lon;
+ poi->level_mask = flags;
- ov = overlay_find_by_name(smart, overlay);
- if(ov == NULL)
- return;
+ struct map_overlay *ov = overlay_find_by_name(smart, overlay);
+ if(ov == NULL)
+ e_smart_map_add_overlay(o, overlay);
- overlay_add(smart, ov, poi);
- overlay_change_level(smart, smart->current_level);
- map_object_update(smart);
+ ov = overlay_find_by_name(smart, overlay);
+ if(ov == NULL)
+ return;
+
+ overlay_add(smart, ov, poi);
+ overlay_change_level(smart, smart->current_level);
+ map_object_update(smart);
+ }
+
+ if (type == 1)
+ {
+ poi->obj = &bb->object;
+ poi->lat = lat;
+ poi->lon = lon;
+ poi->level_mask = flags;
+
+ struct map_overlay *ov = overlay_find_by_name(smart, overlay);
+ if(ov == NULL)
+ e_smart_map_add_overlay(o, overlay);
+
+ ov = overlay_find_by_name(smart, overlay);
+ if(ov == NULL)
+ return;
+
+ map_object_update(smart);
+ }
}
void e_smart_map_overlay_hide(Evas_Object *o, char *overlay)
diff --git a/friendfinder/e_smart_map.h b/friendfinder/e_smart_map.h
index 6c56785..1bbb38f 100644
--- a/friendfinder/e_smart_map.h
+++ b/friendfinder/e_smart_map.h
@@ -5,13 +5,14 @@ struct polyline;
struct overlay;
struct polyline;
+
Evas_Object *e_smart_map_add(Evas_Object *e, const char *map_eet);
int e_smart_map_set_level(Evas_Object *o, int level);
void e_smart_map_set_pos(Evas_Object *o, double lat, double lon);
void e_smart_map_set_info(Evas_Object *o, const char *info);
void e_smart_map_get_pos(Evas_Object *o, double *lat, double *lon);
int e_smart_map_add_overlay(Evas_Object *map, char *name);
-void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, char *text, double lat, double lon, int flags);
+void e_smart_map_overlay_set_bubble(Evas_Object *o, char *overlay, char *info, char *text, double lat, double lon, int flags, int type);
void e_smart_map_overlay_hide(Evas_Object *o, char *overlay);
int e_smart_map_add_path(Evas_Object *o, struct polyline *_p);
diff --git a/friendfinder/gui.c b/friendfinder/gui.c
index ba1ca75..4582b20 100644
--- a/friendfinder/gui.c
+++ b/friendfinder/gui.c
@@ -144,15 +144,15 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
{
bb1 = elm_bubble_add(bx3);
evas_object_resize(bb1, w, h/6);
- evas_object_move(bb1, 0, 0);
+ evas_object_move(bb1, 0, bubble_pos);
evas_object_show(bb1);
set_bubble_text(bb1, from, msg_text);
first = 1;
bubble_pos = bubble_pos + h/6;
-
return;
}
+
if (first == 1 && enable_chat == 1)
{
bb2 = elm_bubble_add(bx3);
@@ -163,7 +163,6 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
first = 2;
bubble_pos = bubble_pos + h/6;
-
return;
}
@@ -177,7 +176,6 @@ static void on_send_message(void *data, Evas_Object *bx3, void *event_info)
first = 0;
bubble_pos = 100;
-
return;
}
}
@@ -194,16 +192,16 @@ void show_message(char *current_msg)
{
bb1 = elm_bubble_add(bbx);
evas_object_resize(bb1, w, h/6);
- evas_object_move(bb1, 0, 0);
+ evas_object_move(bb1, 0, bubble_pos);
evas_object_show(bb1);
set_bubble_text(bb1, to, current_msg);
first = 1;
bubble_pos = bubble_pos + h/6;
-
return;
}
- if (first == 1 && enable_chat == 1);
+
+ if (first == 1 && enable_chat == 1)
{
bb2 = elm_bubble_add(bbx);
evas_object_resize(bb2, w, h/6);
@@ -213,9 +211,9 @@ void show_message(char *current_msg)
first = 2;
bubble_pos = bubble_pos + h/6;
-
return;
- }
+ }
+
if (first == 2 && enable_chat == 1)
{
bb3 = elm_bubble_add(bbx);
@@ -226,7 +224,6 @@ void show_message(char *current_msg)
first = 0;
bubble_pos = 100;
-
return;
}
}
@@ -533,9 +530,6 @@ void init_options()
void init_map()
{
Evas_Object *bg, *bx, *bx2, *bt, *bt2, *bt3;
- struct polyline *pl = polyline_empty();
- polyline_set_color(pl, 255, 0, 0, 50);
- polyline_set_width(pl, 10);
/* add a standard bg */
bg = elm_bg_add(win);
diff --git a/friendfinder/msg_sender.c b/friendfinder/msg_sender.c
index d525a3d..6cf2e76 100644
--- a/friendfinder/msg_sender.c
+++ b/friendfinder/msg_sender.c
@@ -11,6 +11,7 @@
static irc_session_t *session;
irc_callbacks_t callbacks;
+char sender_name[100];
char* nick_from;
char* send_to;
char* msg_to_send;
@@ -20,7 +21,6 @@ irc_dcc_t buddy_dccid = 1;
BF_KEY key;
-
int init_connection(char* server_ip, char* user)
{
printf("MSG_SENDER: initialising connection...\n");
@@ -53,12 +53,53 @@ void set_txt_msg(char *msg)
{
if (msg != NULL && session != NULL)
{
- send_message(session, msg);
+ prepare_msg(msg);
+ //send_message(session, msg);
}
else printf("MSG_SENDER: NULL value \n");
}
+void prepare_msg(char *msg)
+{
+ int len = strlen(msg);
+ int part_count = (strlen(msg) / 7); //division mit rest, wenn ich mich nicht irre => wird auf nächst kleinere zahl abgerundet! passt!
+
+ if (len <= 7)
+ {
+ char *msg_parts[1];
+ msg_parts[0] = msg;
+ return msg;
+ }
+
+ if (len > 7)
+ {
+ char **msg_parts = (char(*)[part_count]) malloc(sizeof(char) * part_count);
+ int i = 0;
+
+ while (i < part_count)
+ {
+ if (i < part_count - 1)
+ {
+ strncpy(msg_parts[i], msg, 7);
+ msg = &msg +7; //FIXME
+ printf("msg_parts[%i]: %s \n",i, msg_parts[i]);
+ }
+ else if (i == part_count - 1)
+ {
+ printf("%s \n", msg);
+ strncpy(msg_parts[i], msg, strlen(msg));
+ }
+ i++;
+ }
+ for (int j = 0; j < part_count; j++)
+ {
+ printf("%i: %s \n", j, msg_parts[j]);
+ }
+ return msg;
+ }
+}
+
void send_message(irc_session_t *session, char *msg)
{
if (msg != NULL)
@@ -88,13 +129,26 @@ 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)
{
- //char msg[4096];
- char *msg = (char*) malloc(sizeof(params[1]));
-
- BF_ecb_encrypt(params[1], msg, &key, BF_DECRYPT);
- printf("%s: %s \n", params[0], msg);
+ char *msg = (char*) malloc(sizeof(char));
+
+ irc_target_get_nick(origin, sender_name, sizeof(sender_name));
- show_message(msg);
+ if (nick_from = sender_name)
+ {
+ if (strcmp(params[1], "connected") == 0)
+ {
+ return;
+ }
+
+ else
+ {
+ BF_ecb_encrypt(params[1], msg, &key, BF_DECRYPT);
+ printf("%s: %s \n", params[0], msg);
+
+ show_message(msg);
+ }
+ }
+ free(msg);
}
void msg_main_loop(void *nicknames)
diff --git a/friendfinder/read_file.c b/friendfinder/read_file.c
new file mode 100644
index 0000000..8903a09
--- /dev/null
+++ b/friendfinder/read_file.c
@@ -0,0 +1,29 @@
+#include "stdio.h"
+
+
+char* read_key()
+{
+ FILE *fr; /* declare the file pointer */
+
+
+ int n;
+ long elapsed_seconds;
+ char line[200];
+ //clrscr();
+
+ fr = fopen ("elapsed.dta", "rt"); /* open the file for reading */
+ /* elapsed.dta is the name of the file */
+ /* "rt" means open the file for reading text */
+
+ while(fgets(line, 200, fr) != NULL)
+ {
+ /* get a line, up to 80 chars from fr. done if NULL */
+ sscanf(line, "%ld", &elapsed_seconds);
+ /* convert the string to a long int */
+// printf ("%ld\n", elapsed_seconds);
+ }
+ fclose(fr); /* close the file prior to exiting the routine */
+
+ return line;
+}
+
diff --git a/friendfinder/read_file.h b/friendfinder/read_file.h
new file mode 100644
index 0000000..ded9e2b
--- /dev/null
+++ b/friendfinder/read_file.h
@@ -0,0 +1,7 @@
+#ifndef __READ_FILE_H_
+#define __READ_FILE_H_
+
+char* read_key();
+
+#endif
+
diff --git a/friendfinder/receiver.c b/friendfinder/receiver.c
index f921c4c..7033c9b 100644
--- a/friendfinder/receiver.c
+++ b/friendfinder/receiver.c
@@ -14,6 +14,7 @@ char sender_name[100];
char own_nickname[100];
char *lat, *lon;
char *receiver_server_ip;
+char *last_sender;
int username_length;
int ret;
@@ -66,45 +67,76 @@ void dump_data(char* lat, char* lon, char* nick)
void get_position(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
-
char *decrypted_lat = (char*) malloc(sizeof(char));
char *decrypted_lon = (char*) malloc(sizeof(char));
char *sender_org = (char*) malloc(username_length + 1);
-
+
irc_target_get_nick(origin, sender_name, sizeof(sender_name));
strncpy(sender_org, sender_name, username_length);
sender_org[username_length] = '\0';
- if (sender_name != NULL && strcmp(sender_org, own_nickname) != 0 && strcmp(sender_name, "_s") > 0)
-// if (sender_name != NULL && strcmp(sender_name, "_s") > 0)
+ last_sender = (char*) malloc(strlen(sender_name));
+ last_sender = sender_name;
+
+ if (sender_name != NULL && strcmp(sender_org, own_nickname) != 0 && strcmp(sender_name, "_s") > 0 && strcmp(params[1], "connected") != 0)
{
if (counter % 2 != 0)
{
BF_ecb_encrypt(params[1], decrypted_lat, &key, BF_DECRYPT);
lat = decrypted_lat;
- //printf("decrypted_lat %s \n", decrypted_lat);
got_lat = 1;
}
- if (counter % 2 == 0)
+ if (counter % 2 == 0 && strcmp(last_sender, sender_name) == 0 )
{
BF_ecb_encrypt(params[1], decrypted_lon, &key, BF_DECRYPT);
lon = decrypted_lon;
- //printf("decrypted_lon %s \n", decrypted_lon);
got_lon = 1;
}
if(got_lon == 1 && got_lat == 1)
{
- dump_data(lat, lon, sender_name);
+ double _lat, _lon;
+ _lat = atof(lat);
+ _lon = atof(lon);
+
+ /*
+ if (_lat < 0)
+ {
+ new_lon = atof(lat) * (-1);
+ sprintf(helper_lon, "%f", new_lon);
+
+ new_lat = atof(lon);
+ sprintf(lat, "%f", new_lat);
+ }
+
+ else
+ {
+ _lat = _lat * (-1);
+ sprintf(lat, "%f", _lat);
+
+ sprintf(helper_lon, "%f", _lon);
+ }
+ printf("RECEIVER: lat %s lon %s \n", lat, helper_lon);
+ dump_data(lat, helper_lon, sender_name);*/
+
+ if (_lat > _lon)
+ {
+ dump_data(lat, lon, sender_name);
+ }
+
+ if (_lat < _lon)
+ {
+ dump_data(lon, lat, sender_name);
+ }
+
got_lon = 0;
got_lat = 0;
}
-
+
irc_cmd_msg(session, "#test", sender_name);
counter++;
}
-
}
void on_connect_receiver(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
@@ -130,7 +162,6 @@ void receiver_main(void *user)
if (receiver_server_ip != NULL && user != NULL)
{
- //TODO pointer zeigt immer auf gleiche variable....damit wird immer gleicher from wert genutzt und _r _s angehängt....fixen
strcat(username, "_r");
if (init_connection_receiver(receiver_server_ip, username) == 0)
@@ -145,5 +176,4 @@ void receiver_main(void *user)
{
printf("RECEIVER: error ip not set! Receiver can't be started\n");
}
-
}
diff --git a/friendfinder/sender.c b/friendfinder/sender.c
index 3acb3e4..d8a6159 100644
--- a/friendfinder/sender.c
+++ b/friendfinder/sender.c
@@ -6,12 +6,15 @@
#include "libircclient.h"
#include "openssl/blowfish.h"
#include "sender.h"
+#include "read_file.h"
static irc_session_t *session;
irc_callbacks_t callbacks;
+
int msg_count = 0;
int ack_count = 0;
int resend = 0;
+
char *nick;
char *sender_server_ip = NULL;
double own_lat, own_lon;
@@ -28,15 +31,14 @@ void sender_set_ip(char *_sender_server_ip)
int init_connection_sender(char* server_ip, char* user)
{
printf("SENDER: initialising connection...\n");
-
+
session = irc_create_session(&callbacks);
int con = irc_connect(session, server_ip, 6669, NULL, user, user, user);
if (irc_is_connected(session) == 1)
{
printf("SENDER: connected... \n");
- return 0;
-
+ return 0;
}
if (con != 0)
@@ -53,18 +55,6 @@ void disconnect_sender()
irc_destroy_session(session);
}
-//create random position between two y coordinates. bb_y_left < bb_y_right, bb_y_left = 0!
-int random_position_y(int bb_y_right)
-{
- return rand() % bb_y_right;
-}
-
-//create random position between two x coordinates. bb_x_lower < bb_x_upper, bb_x_lower = 0!
-int random_position_x(int bb_x_upper)
-{
- return rand() % bb_x_upper;
-}
-
void set_sender_position(double lat, double lon)
{
own_lat = lat;
@@ -73,7 +63,6 @@ void set_sender_position(double lat, double lon)
void send_position(irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
{
-
unsigned char crypted_lat[64];
unsigned char crypted_lon[64];
@@ -82,63 +71,43 @@ void send_position(irc_session_t * session, const char * event, const char * ori
BF_set_key(&key, 5, "abcde");
irc_cmd_join(session, "#test", NULL);
- irc_cmd_msg(session, "#test", "connected");
+ irc_cmd_msg(session, "#test", "connected");
}
-/*
- char lat_pos[3];
- lat_pos[0] = "47.992119";
- lat_pos[1] = "47.984882";
- lat_pos[2] = "47.984708";
- char lon_pos[3];
- lon_pos[0] = "7.850584";
- lon_pos[1] = "7.857411";
- lon_pos[2] = "7.843972";
-*/
- for(int i = 0; i < 2; i++)
- {
- // int lat = random_position_x(1000);
- // printf("lat position %i \n", lat);
- // int lon = random_position_y(1000);
- // printf("lon position %i \n", lon);
-
- unsigned char lat_char[16];
- sprintf(lat_char, "%f", own_lat);
- // itoa(own_lat, lat_char, 10);
+ unsigned char lat_char[16];
+ sprintf(lat_char, "%f", own_lat);
- unsigned char lon_char[16];
- sprintf(lon_char, "%f", own_lon);
- // itoa(own_lat, lat_char, 10);
+ unsigned char lon_char[16];
+ sprintf(lon_char, "%f", own_lon);
- printf("lat %s, lon %s \n", lat_char, lon_char);
+ printf("lat %s, lon %s \n", lat_char, lon_char);
- BF_ecb_encrypt(lat_char, crypted_lat, &key, BF_ENCRYPT);
- BF_ecb_encrypt(lon_char, crypted_lon, &key, BF_ENCRYPT);
+ BF_ecb_encrypt(lat_char, crypted_lat, &key, BF_ENCRYPT);
+ BF_ecb_encrypt(lon_char, crypted_lon, &key, BF_ENCRYPT);
- int _x = irc_cmd_msg(session, "#test", crypted_lat);
- int _y = irc_cmd_msg(session, "#test", crypted_lon);
+ int _x = irc_cmd_msg(session, "#test", crypted_lat);
+ int _y = irc_cmd_msg(session, "#test", crypted_lon);
- //increase counter variable, which counts number of send positions!
- msg_count = msg_count + 2;
+ //increase counter variable, which counts number of send positions!
+ msg_count = msg_count + 2;
- if (_x == 0 && _y == 0)
- {
- // printf("SENDER: send succesfull %s %s \n", lat_char, lon_char);
- }
+ if (_x == 0 && _y == 0)
+ {
+ // printf("SENDER: send succesfull %s %s \n", lat_char, lon_char);
+ }
- if (_y != 0)
- {
- printf("SENDER: error code due sending: %i \n", _y);
- }
+ if (_y != 0)
+ {
+ printf("SENDER: error code due sending: %i \n", _y);
+ }
- if (_x != 0)
- {
- printf("SENDER: error code due sending: %i \n", _x);
- }
-
- first_send = 1;
+ if (_x != 0)
+ {
+ printf("SENDER: error code due sending: %i \n", _x);
}
+ first_send = 1;
+
if(resend == 1)
{
get_aknowledge(session, event, origin, params, count);
@@ -153,13 +122,13 @@ void get_aknowledge(irc_session_t * session, const char * event, const char * or
{
//use count variable, to count number of aknowledged positions! second number has to be twice as big, as the number of
//for-runs in send_position
- if (ack_count <= 3 && msg_count > 0)
+ if (ack_count <= 1 && msg_count > 0)
{
ack_count++;
msg_count--;
}
- if (ack_count == 4 && msg_count == 0)
+ if (ack_count == 2 && msg_count == 0)
{
resend = 1;
send_position(session, event, origin, params, count);
@@ -179,13 +148,11 @@ void sender_main(void *user)
if (sender_server_ip != NULL)
{
- //TODO pointer zeigt immer auf gleiche variable....damit wird immer gleicher from wert genutzt und _r _s angehängt....fixen
strcat(username, "_s");
if (init_connection_sender(sender_server_ip, username) == 0)
{
printf("SENDER: connection succesfull...\n");
-
irc_run(session);
}
}