aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorMW2009-02-26 22:51:52 +0000
committerMW2009-02-26 22:51:52 +0000
commit756c5170694fa3dc4146c2b4034f52bd5c97ec86 (patch)
tree2390934b9e8544e332d55ff7a9a513424612914a /OpenSim/Framework
parentThis adds a new osGetAgentIP function with threat level set to High. It (diff)
downloadopensim-SC_OLD-756c5170694fa3dc4146c2b4034f52bd5c97ec86.zip
opensim-SC_OLD-756c5170694fa3dc4146c2b4034f52bd5c97ec86.tar.gz
opensim-SC_OLD-756c5170694fa3dc4146c2b4034f52bd5c97ec86.tar.bz2
opensim-SC_OLD-756c5170694fa3dc4146c2b4034f52bd5c97ec86.tar.xz
Added IRegionCreator interface that all ApplicationPlugins that are creators of Scenes should implement and register with the ApplicationRegistry.StackModuleInterface<>(); So that other plugins can attach to their OnNewRegionCreated event.
Made some changes to IRegistryCore and RegistryCore so they support "Stacked" interfaces.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/IRegionCreator.cs12
-rw-r--r--OpenSim/Framework/IRegistryCore.cs5
-rw-r--r--OpenSim/Framework/RegistryCore.cs10
3 files changed, 26 insertions, 1 deletions
diff --git a/OpenSim/Framework/IRegionCreator.cs b/OpenSim/Framework/IRegionCreator.cs
new file mode 100644
index 0000000..7920ee4
--- /dev/null
+++ b/OpenSim/Framework/IRegionCreator.cs
@@ -0,0 +1,12 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Framework
6{
7 public delegate void NewRegionCreated(IScene scene);
8 public interface IRegionCreator
9 {
10 event NewRegionCreated OnNewRegionCreated;
11 }
12}
diff --git a/OpenSim/Framework/IRegistryCore.cs b/OpenSim/Framework/IRegistryCore.cs
index 486dee6..9f251c5 100644
--- a/OpenSim/Framework/IRegistryCore.cs
+++ b/OpenSim/Framework/IRegistryCore.cs
@@ -4,10 +4,13 @@ using System.Text;
4 4
5namespace OpenSim.Framework 5namespace OpenSim.Framework
6{ 6{
7 public interface IRegistryCore 7 public interface IRegistryCore
8 { 8 {
9 T Get<T>(); 9 T Get<T>();
10 void RegisterInterface<T>(T iface); 10 void RegisterInterface<T>(T iface);
11 bool TryGet<T>(out T iface); 11 bool TryGet<T>(out T iface);
12
13 void StackModuleInterface<M>(M mod);
14 T[] RequestModuleInterfaces<T>();
12 } 15 }
13} 16}
diff --git a/OpenSim/Framework/RegistryCore.cs b/OpenSim/Framework/RegistryCore.cs
index c703f9f..ee15845 100644
--- a/OpenSim/Framework/RegistryCore.cs
+++ b/OpenSim/Framework/RegistryCore.cs
@@ -40,5 +40,15 @@ namespace OpenSim.Framework
40 return (T)m_moduleInterfaces[typeof(T)]; 40 return (T)m_moduleInterfaces[typeof(T)];
41 } 41 }
42 42
43 public void StackModuleInterface<M>(M mod)
44 {
45
46 }
47
48 public T[] RequestModuleInterfaces<T>()
49 {
50 return new T[] { default(T) };
51 }
52
43 } 53 }
44} 54}