void Manager::StopAllModules( void ) { Module* next; Module* mdl; Lst::Search< Module > sh; next = sh.FirstItem( module_list ); while ( next ) { mdl = next; next = sh.NextItem(); // get next item before excuting callback if ( !mdl->Locked() ) { if ( mdl->state == Module::vRUNNING ) { mdl->v_stop_cb(); mdl->command = Module::vNONE; mdl->state = Module::vSTOPPED; } } } }
void Manager::StopModule( Module &module ) { if ( !module.Locked() ) { module.command = Module::vSTOP; control_change = true; } }
void Manager::RestartModule( Module &module ) { Dbg_MsgAssert( module.node->InList(),( "Module not Registered with Manager" )); if ( !module.Locked() ) { module.command = Module::vRESTART; control_change = true; } }