public override void Prime(TSynchronicity aSynchronicity) { SymbolPlugin plugin = this.Plugin; // Wipe any state ready for new priming attempt base.OnPrepareToPrime(); if (base.ResetEngineBeforePriming) { plugin.Clear(); } // Tell the plugin which sources we are reading plugin.StoreSourcesThatWillBePrimed(this); // Listen to soure events so that we can report progress SourceEventsSubscribe(); // Report the "priming started event" base.ReportEvent(TPrimeEvent.EEventPrimingStarted, null); // Now we can start the sources running. foreach (SymSource source in iSources) { // If the source wants to read it's data immediately, then activated // it right now... if (source.TimeToRead == SymSource.TTimeToRead.EReadWhenPriming) { source.Read(aSynchronicity); } else { // This source will read it's data on it's own terms so skip // it to ensure that we can track when all the other sources // (that do actually read their files now..) are ready. Skip(source); } } }
public SymbolView(string aName, SymbolPlugin aPlugin) : base(aName, aPlugin) { iRelocator = new SymbolRelocator(aPlugin); iQueryAPI = new SymbolQueryAPI(iRelocator); }
public SymbolPrimer(SymbolPlugin aPlugin) : base(aPlugin) { // If we've been created then presumably this is the reason... ProvisioningManager.PrepareToCreateSources(); }