void TTimer::enableTimer( qint64 id ) { if( mID == id ) { if( canBeUnlocked( 0 ) ) { if( activate() ) { if( mScript.size() > 0 ) { mpTimer->start(); } } else { deactivate(); mpTimer->stop(); } } } if( mIsFolder ) { typedef list<TTimer *>::const_iterator I; for( I it = mpMyChildrenList->begin(); it != mpMyChildrenList->end(); it++) { TTimer * pChild = *it; if( ! pChild->isOffsetTimer() ) { pChild->enableTimer( pChild->getID() ); } } } }
void TimerUnit::reenableAllTriggers() { for(auto it = mTimerRootNodeList.begin(); it != mTimerRootNodeList.end(); it++) { TTimer * pChild = *it; pChild->enableTimer( pChild->getID() ); } }
void TimerUnit::reenableAllTriggers() { typedef list<TTimer *>::const_iterator I; for( I it = mTimerRootNodeList.begin(); it != mTimerRootNodeList.end(); it++) { TTimer * pChild = *it; pChild->enableTimer( pChild->getID() ); } }
void TTimer::disableTimer( qint64 id ) { if( mID == id ) { deactivate(); mpTimer->stop(); } typedef list<TTimer *>::const_iterator I; for( I it = mpMyChildrenList->begin(); it != mpMyChildrenList->end(); it++) { TTimer * pChild = *it; if( ! pChild->isOffsetTimer() && pChild->shouldBeActive() ) { pChild->disableTimer( pChild->getID() ); } } }
void XMLimport::readTimerGroup( TTimer * pParent ) { TTimer * pT; if( pParent ) { pT = new TTimer( pParent, mpHost ); } else { pT = new TTimer( 0, mpHost ); } pT->registerTimer(); pT->setShouldBeActive( ( attributes().value("isActive") == "yes" ) ); pT->mIsFolder = ( attributes().value("isFolder") == "yes" ); pT->mIsTempTimer = ( attributes().value("isTempTimer") == "yes" ); if (module) pT->mModuleMember = true; while( ! atEnd() ) { readNext(); if( isEndElement() ) break; if( isStartElement() ) { if( name() == "name" ) { pT->setName( readElementText() ); continue; } else if( name() == "packageName") { pT->mPackageName = readElementText(); continue; } else if( name() == "script") { QString script = readElementText(); pT->setScript( script ); continue; } else if( name() == "command") { pT->mCommand = readElementText(); continue; } else if( name() == "time") { QString timeString = readElementText(); QTime time = QTime::fromString( timeString, "hh:mm:ss.zzz" ); pT->setTime( time ); continue; } else if( name() == "TimerGroup" ) { readTimerGroup( pT ); } else if( name() == "Timer" ) { readTimerGroup( pT ); } else { readUnknownTimerElement(); } } } if( ( ! pT->isOffsetTimer() ) && ( pT->shouldBeActive() ) ) pT->enableTimer( pT->getID() ); else pT->disableTimer( pT->getID() ); }
void TTimer::execute() { if( ! isActive() || mIsFolder ) { mpTimer->stop(); return; } if( mudlet::debugMode ) {TDebug(QColor(Qt::darkYellow),QColor(Qt::darkBlue)) << "\n[TIMER EXECUTES]: "<<mName<<" fired. Executing command="<<mCommand<<" and executing script:"<<mScript<<"\n" >> 0;} if( mIsTempTimer ) { if( mScript == "" ) { mpHost->mLuaInterpreter.call_luafunction( this ); } else { mpHost->mLuaInterpreter.compileAndExecuteScript( mScript ); } mpTimer->stop(); mpHost->mTimerUnit.markCleanup( this ); return; } if( ( ! isFolder() && hasChildren() ) || ( isOffsetTimer() ) ) { typedef list<TTimer *>::const_iterator I; for( I it = mpMyChildrenList->begin(); it != mpMyChildrenList->end(); it++) { TTimer * pChild = *it; if( pChild->isOffsetTimer() ) { pChild->enableTimer( pChild->getID() ); } } if( isOffsetTimer() ) { disableTimer( mID ); deactivate(); } } if( mCommand.size() > 0 ) { mpHost->send( mCommand ); } if( mScript.size() > 0 ) { if( mNeedsToBeCompiled ) { if( ! compileScript() ) { disableTimer(); return; } } if( ! mpHost->mLuaInterpreter.call( mFuncName, mName ) ) { mpTimer->stop(); } } }