work on extension loading

* Add a "ExtensionLoaderCoordinator" class
* Rework the way loaders are notified of extensions being loaded,
  (de)activated, etc.

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-06-14 09:01:31 -07:00
parent ad54ffdbb2
commit cd3a537396
22 changed files with 605 additions and 344 deletions

View File

@@ -43,23 +43,19 @@ namespace Orchard.Tests.Environment.Extensions {
}
}
public class StubLoaders : IExtensionLoader {
public class StubLoaders : ExtensionLoaderBase {
#region Implementation of IExtensionLoader
public int Order {
public override int Order {
get { return 1; }
}
public ExtensionProbeEntry Probe(ExtensionDescriptor descriptor) {
public override ExtensionProbeEntry Probe(ExtensionDescriptor descriptor) {
return new ExtensionProbeEntry { Descriptor = descriptor, Loader = this };
}
public ExtensionEntry Load(ExtensionProbeEntry entry) {
return new ExtensionEntry { Descriptor = entry.Descriptor, ExportedTypes = new[] { typeof(Alpha), typeof(Beta), typeof(Phi) } };
}
public void Monitor(ExtensionDescriptor descriptor, Action<IVolatileToken> monitor) {
throw new NotImplementedException();
public override ExtensionEntry Load(ExtensionDescriptor descriptor) {
return new ExtensionEntry { Descriptor = descriptor, ExportedTypes = new[] { typeof(Alpha), typeof(Beta), typeof(Phi) } };
}
#endregion