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