/*** méthode AJOUT LECTEUR ***/
void Ihm::ajoutLecteur(int numLecteur, int num_vue, int x, int y, ClientConnection *cCL){

    //se placer sur le bon onglet
    QWidget *onglet;
    onglet = pDynamique->onglet[num_vue];
    //test valeur
    //qDebug() << "valeur pointeur onglet" << onglet << endl;

    //nouveau label dynamique pour mettre l'image correspondant
    QLabel *labelL = new QLabel(onglet);
    //différente taille d'images utilisées
    if(num_vue == 1){
        labelL->setPixmap(QPixmap("ressources/lecteur_actif_petit.jpg"));
    }else{
        labelL->setPixmap(QPixmap("..//lecteur_actif.jpg"));
        }
    labelL->setGeometry(x, y, 15, 42); // largeur hauteur à définir

    //sauvegarde du pointeur du label du lecteur
    //pDynamique->labelL[num_vue][numLecteur] = labelL;

    AfficheAlarme *aA = new AfficheAlarme(this, numLecteur);
    connect(aA, SIGNAL(signalLecteurInactif(int)), this, SLOT(lecteurInactif(int)));
    //en cas de suppression
    connect(cCL, SIGNAL(sig_disconnected()), labelL, SLOT(clear()));
    connect(cCL, SIGNAL(sig_disconnected()), labelL, SLOT(deleteLater()));
    connect(cCL, SIGNAL(sig_disconnected()), aA, SLOT(lecteurInactif()));
}
void DCCChatConnection::process()
{
	std::vector<Message> received_messages;
	std::unique_lock<std::mutex> lock(mutex);
	received_messages.swap(receive_queue);
	lock.unlock();

	for (size_t i = 0; i < received_messages.size(); i++)
	{
		switch (received_messages[i].type)
		{
		case Message::type_system:
			sig_system_text(received_messages[i].text);
			break;
		case Message::type_text:
			{
				IRCRawString text = received_messages[i].text;
				if (text.length() >= 2 && text.substr(text.length() - 2, 2) == "\r\n")
					text = text.substr(0, text.length() - 2);
				else if (text.length() >= 1 && text[text.length() - 1] == '\n')
					text = text.substr(0, text.length() - 1);
				sig_text_line(IRCText::from_raw(text));
			}
			break;
		case Message::type_disconnect:
			sig_disconnected(received_messages[i].text);
			break;
		}
	}
}
示例#3
0
void ClientSession::slot_disconnect()
{
    _currentState->OnExit();
    _currentState = _disconnectedState;
    _currentState->OnEntry();
    emit sig_disconnected(this);
}
ClientConnection::ClientConnection(int socketDescriptor) :
    QObject(), _socketDescriptor(socketDescriptor), _opened(false), _isAReader(false), _clientAddress("")
{
    qDebug() << QThread::currentThreadId() << Q_FUNC_INFO << socketDescriptor;
    _tcpSocket.setParent(this);

    this->connect(&_tcpSocket, SIGNAL(disconnected()), SIGNAL(sig_disconnected()));
    // TODO this->connect(&_tcpSocket, SIGNAL(disconnected()), SLOT(deleteLater())); // C'est Server qui crée des ClientConnection, c'est donc Server qui décide quand les détruire
    this->connect(&_tcpSocket, SIGNAL(disconnected()), SLOT(on_disconnected()));
}
示例#5
0
void netsplit_deinit(void)
{
	GSList *tmp;

	for (tmp = servers; tmp != NULL; tmp = tmp->next)
		sig_disconnected(tmp->data);

	g_source_remove(split_tag);
	signal_remove("event join", (SIGNAL_FUNC) event_join);
	signal_remove("event quit", (SIGNAL_FUNC) event_quit);
	signal_remove("server disconnected", (SIGNAL_FUNC) sig_disconnected);
}