示例#1
0
 internal ModuleStoreEvent InvokeEvent(ModuleStoreEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         ModuleStore?.Invoke(_api, arg);
     }
     return(arg);
 }
示例#2
0
    ModuleStore GetModuleStore(ModuleIdentity moduleIdentity) {
      Contract.Requires(moduleIdentity != null);
      Contract.Ensures(Contract.Result<ModuleStore>() != null);

      IName moduleName = moduleIdentity.Name;
      foreach (ModuleStore mStore in this.ModuleHashtable.GetValuesFor((uint)moduleName.UniqueKey)) {
        if (moduleIdentity.Equals(mStore.ModuleIdentitity)) return mStore;
      }
      uint value;
      if (moduleIdentity.ContainingAssembly != null) {
        AssemblyStore assemblyStore = this.GetAssemblyStore(moduleIdentity.ContainingAssembly);
        assemblyStore.InternedIdWithCount++;
        value = assemblyStore.InternedIdWithCount;
      } else {
        value = this.CurrentModuleInternValue++;
      }
      ModuleStore mStore1 = new ModuleStore(moduleIdentity, value, this.CurrentNamespaceInternValue++);
      this.ModuleHashtable.Add((uint)moduleName.UniqueKey, mStore1);
      return mStore1;
    }
示例#3
0
        public void SaveModuleStoreFile(ModuleStore moduleStore, string filePath)
        {
            IObjectPersistor <ModuleStore> persistor = PersistorFactory.Instance.CreateModuleStorePersistor();

            persistor.SaveToFile(moduleStore, filePath);
        }
示例#4
0
 public void SaveModuleStoreFile(ModuleStore moduleStore)
 {
     SaveModuleStoreFile(moduleStore, ModuleStore.DefaultFilePath);
 }
示例#5
0
 public XmlModuleStoreFilePolicy(ModuleStore moduleStore, XElement content)
 {
     _moduleStore = moduleStore;
     _content     = content;
 }