void my_remove_client(pid_t client_pid) { t_elem *tmp; if (g_client) { tmp = g_client; if (!tmp->next) one_left(tmp, client_pid); else while (tmp->next->id != 0) { if (tmp->client_data.pid == client_pid) { if (tmp->next->next == tmp) two_left(tmp); else more_than_two(tmp); free(tmp); return; } tmp = tmp->next; } } }
void draw_item(json_object *o) { stringstream dummy; if(json_object_is_type(o, json_type_boolean)) { json_object_get_boolean(o)?draw_text("1"):draw_text("0"); one_down(); } if(json_object_is_type(o, json_type_double)) { dummy << json_object_get_double(o); draw_text(dummy.str().c_str()); one_down(); } if(json_object_is_type(o, json_type_int)) { dummy << json_object_get_int(o); draw_text(dummy.str().c_str()); one_down(); } if(json_object_is_type(o, json_type_object)) { one_right(); json_object_object_foreach(o, key,val) { draw_text(key); one_down(); draw_item(val); one_down(); } one_left(); }
YJChat::~YJChat() { emit one_left();//when a user left emit the signal one_left() }