// This is called from main DoCalculations each time, only when running a real task void InSector(NMEA_INFO *Basic, DERIVED_INFO *Calculated) { static int LastStartSector = -1; if (ActiveWayPoint<0) return; LockTaskData(); // Paragliders task system // Case A: start entering the sector/cylinder // you must be outside sector when gate is open. // you are warned that you are already inside sector before the gate is open, when gate is opening in <10 minutes // task restart is manual // Case B: start exiting the sector // by default, we are not in the sector Calculated->IsInSector = false; if(ActiveWayPoint == 0) { CheckStart(Basic, Calculated, &LastStartSector); } else { if(IsFinalWaypoint()) { LastStartSector = -1; AddAATPoint(Basic, Calculated, ActiveWayPoint-1); CheckFinish(Basic, Calculated); } else { if (!UseGates()) CheckRestart(Basic, Calculated, &LastStartSector); // 100507 if (ActiveWayPoint>0) { CheckInSector(Basic, Calculated); LastStartSector = -1; } } } UnlockTaskData(); }
void CThInspect::Running() { if(!m_bInitialized && m.Info.iStatus != theApp.enInitial) { m_bStatus = enIdle; return; } // If Handler status is Uninitial. We force it to return and keep m_bStatus in enIdle. // Notes : In Thread Monitior. Uninitial will always be enIdle if( m_bInitialRequest ) { f.CWinMessage( "Inspect:enInitialize R", theApp.enDInspect ); m_bInitialRequest = false; m_bStatus = enInitialize; } m.ThStatus.InspectCtrl.line = m_bStatus; switch(m_bStatus) { case enInitialize: Initialize(); NextStatus(); break; case enIdle: NextStatus(); break; default: CheckRestart(); break; } }
int LoadDefaultModules(void) { // load order is very important for these if (LoadSystemModule()) return 1; if (LoadLangPackModule()) return 1; // langpack will be a system module in the new order so this is moved here if (CheckRestart()) return 1; if (LoadUtilsModule()) return 1; //order not important for this, but no dependencies and no point in pluginising if (LoadIcoTabsModule()) return 1; if (LoadHeaderbarModule()) return 1; if (LoadDbintfModule()) return 1; if (LoadEventsModule()) return 1; // load database drivers & service plugins without executing their Load() if (LoadNewPluginsModuleInfos()) return 1; switch (LoadDefaultServiceModePlugin()) { case SERVICE_CONTINUE: // continue loading Miranda normally case SERVICE_ONLYDB: // load database and go to the message cycle break; case SERVICE_MONOPOLY: // unload database and go to the message cycle return 0; default: // smth went wrong, terminating return 1; } // the database will select which db plugin to use, or fail if no profile is selected if (LoadDatabaseModule()) return 1; // database is available here if (LoadButtonModule()) return 1; if (LoadIcoLibModule()) return 1; if (LoadSkinIcons()) return 1; // if (LoadErrorsModule()) return 1; switch (LoadServiceModePlugin()) { case SERVICE_CONTINUE: // continue loading Miranda normally break; case SERVICE_ONLYDB: // load database and go to the message cycle return 0; case SERVICE_MONOPOLY: // unload database and go to the message cycle UnloadDatabase(); return 0; default: // smth went wrong, terminating return 1; } if (LoadSkinSounds()) return 1; if (LoadSkinHotkeys()) return 1; if (LoadFontserviceModule()) return 1; if (LoadSrmmModule()) return 1; if (LoadChatModule()) return 1; if (LoadDescButtonModule()) return 1; if (LoadOptionsModule()) return 1; if (LoadNetlibModule()) return 1; if (LoadSslModule()) return 1; if (LoadProtocolsModule()) return 1; LoadDbAccounts(); // retrieves the account array from a database if (LoadContactsModule()) return 1; if (LoadContactListModule()) return 1; // prepare contact list interface if (LoadAddContactModule()) return 1; if (LoadMetacontacts()) return 1; if (LoadNewPluginsModule()) return 1; // will call Load(void) on everything, clist will load first Langpack_SortDuplicates(); if (LoadAccountsModule()) return 1; //order becomes less important below here if (LoadFindAddModule()) return 1; if (LoadIgnoreModule()) return 1; if (LoadVisibilityModule()) return 1; if (LoadStdPlugins()) return 1; return 0; }