Exemple #1
0
        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);
 }
Exemple #3
0
 public SymbolPrimer(SymbolPlugin aPlugin)
     : base(aPlugin)
 {
     // If we've been created then presumably this is the reason...
     ProvisioningManager.PrepareToCreateSources();
 }