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); } }
public override void PrepareToPrime(DbgEntityList aEntities) { List <string> fileNames = new List <string>(); foreach (DbgEntity entity in aEntities) { fileNames.Add(entity.FullName); } ProvisioningManager.PrepareToCreateSources(fileNames); }
public virtual void PrepareToPrime(DbgEntityList aEntities) { }