From 8ecfc9a717c259fd238312888f6178b3f86c008a Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 10 Jul 2009 20:17:13 +0000 Subject: Committing the interface change and the addition to the modules to get the ball rolling on replacable modules. No user functionality yet --- OpenSim/Region/Framework/Interfaces/IRegionModuleBase.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'OpenSim/Region/Framework') diff --git a/OpenSim/Region/Framework/Interfaces/IRegionModuleBase.cs b/OpenSim/Region/Framework/Interfaces/IRegionModuleBase.cs index 3888d2c..885f1ff 100644 --- a/OpenSim/Region/Framework/Interfaces/IRegionModuleBase.cs +++ b/OpenSim/Region/Framework/Interfaces/IRegionModuleBase.cs @@ -40,6 +40,20 @@ namespace OpenSim.Region.Framework.Interfaces string Name { get; } /// + /// If this returns non-null, it is the type of an interface that + /// this module intends to register. + /// This will cause the loader to defer loading of this module + /// until all other modules have been loaded. If no other module + /// has registered the interface by then, this module will be + /// activated, else it will remain inactive, letting the other module + /// take over. This should return non-null ONLY in modules that are + /// intended to be easily replacable, e.g. stub implementations + /// that the developer expects to be replaced by third party provided + /// modules. + /// + Type ReplacableInterface { get; } + + /// /// This is called to initialize the region module. For shared modules, this is called /// exactly once, after creating the single (shared) instance. For non-shared modules, /// this is called once on each instance, after the instace for the region has been created. -- cgit v1.1