Пример #1
0
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;
	  }
    }
}
Пример #2
0
    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();
	}
Пример #3
0
YJChat::~YJChat()
{
	emit one_left();//when a user left emit the signal one_left()
	
}