Пример #1
0
        public void Prime(TSynchronicity aSynchronicity)
        {
            if (EngineOperation != null)
            {
                EngineOperation(this, TEvent.EPrimingStarted);
            }

            // Reset the plugins
            Code.Clear();
            Symbols.Clear();

            // Categorise the prime list by plugin
            Dictionary <DbgPluginEngine, DbgEntityList> list = new Dictionary <DbgPluginEngine, DbgEntityList>();

            foreach (DbgEntity entity in iEntityManager)
            {
                // Might be null.
                DbgPluginEngine plugin = entity.PluginEngine;
                if (plugin != null)
                {
                    // Find correct list
                    DbgEntityList pluginEntityList = null;
                    if (list.ContainsKey(plugin))
                    {
                        pluginEntityList = list[plugin];
                    }
                    else
                    {
                        pluginEntityList = new DbgEntityList(this);
                        list.Add(plugin, pluginEntityList);
                    }

                    // Now add the entry
                    pluginEntityList.Add(entity);
                }
            }

            // Finally, we can tell all the plugins about the files they are about to receive
            foreach (KeyValuePair <DbgPluginEngine, DbgEntityList> kvp in list)
            {
                kvp.Key.PrepareToPrime(kvp.Value);
            }

            // Now prime the individual entities
            foreach (DbgEntity entity in iEntityManager)
            {
                entity.Prime(aSynchronicity);
            }

            if (EngineOperation != null)
            {
                EngineOperation(this, TEvent.EPrimingComplete);
            }
        }
Пример #2
0
        public override void PrepareToPrime(DbgEntityList aEntities)
        {
            List <string> fileNames = new List <string>();

            foreach (DbgEntity entity in aEntities)
            {
                fileNames.Add(entity.FullName);
            }

            ProvisioningManager.PrepareToCreateSources(fileNames);
        }
Пример #3
0
 public virtual void PrepareToPrime(DbgEntityList aEntities)
 {
 }