Beispiel #1
0
ScanManager::ScanManager(MemStorage *memStor, QObject *parent) : QObject(parent)
{
    scanner = new PLCScanner();
    scanner->moveToThread(&scanThread);
    connect(&scanThread,SIGNAL(finished()),scanner,SLOT(deleteLater()));
    connect(this,SIGNAL(startProcess()),scanner,SLOT(scanProcess()));
    connect(scanner,SIGNAL(updateBlock(QString,int,QByteArray)),memStor,SLOT(updateBlock(QString,int,QByteArray)));
    connect(scanner,SIGNAL(updateCorrectRequestCnt(int)),this,SLOT(updCorrAnswerCnt(int)));
    connect(scanner,SIGNAL(updateErrorRequestCnt(int)),this,SLOT(updErrAnswerCnt(int)));
    connect(scanner,SIGNAL(addMessage(QString)),this,SIGNAL(addMessage(QString)));
    connect(scanner,SIGNAL(errMessage(QString)),this,SIGNAL(errMessage(QString)));
    connect(scanner,SIGNAL(updateTimeStr(QString)),this,SIGNAL(updateTimeStr(QString)));
    scanThread.start();
    emit startProcess();
}
Beispiel #2
0
void IRCBot::scanStatus( size_t serverID ) {
	vector<ftpScanStatus*>				*scanStatus = _smokingman->ftpScanStatusGet();
	vector<ftpScanStatus*>::iterator	 scanIT;
	vector<size_t>::iterator			 statIT;

	statIT = find(_statWait.begin(), _statWait.end(),  serverID );

	if(statIT == _statWait.end())
		return;

	_statWait.erase( statIT );

	for( scanIT = scanStatus->begin(); scanIT != scanStatus->end(); scanIT++ ) {
		if( (*scanIT)->_serverID == serverID )
			scanProcess( *scanIT, channelPUBLIC );
	}
}