aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-11-22 22:13:57 +0000
committerJustin Clark-Casey (justincc)2011-11-22 22:13:57 +0000
commitb0fe0464af9a11dda184d3613eca734cd8c9f21e (patch)
tree27a8a50451c139f954d86d4348ca6e10a552c34e /OpenSim/Framework
parentslightly simplify OdeScene.Simulate() by removing bool processtaints, since w... (diff)
downloadopensim-SC_OLD-b0fe0464af9a11dda184d3613eca734cd8c9f21e.zip
opensim-SC_OLD-b0fe0464af9a11dda184d3613eca734cd8c9f21e.tar.gz
opensim-SC_OLD-b0fe0464af9a11dda184d3613eca734cd8c9f21e.tar.bz2
opensim-SC_OLD-b0fe0464af9a11dda184d3613eca734cd8c9f21e.tar.xz
Stop an exception being thrown and a teleport/border cross failing if the desintation sim has no active script engines.
This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry. Callers adjusted to stop checking for the list reference being null (which never happened anyway)
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/IScene.cs22
1 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs
index f1b4732..76b731f 100644
--- a/OpenSim/Framework/IScene.cs
+++ b/OpenSim/Framework/IScene.cs
@@ -102,12 +102,28 @@ namespace OpenSim.Framework
102 102
103 bool TryGetScenePresence(UUID agentID, out object scenePresence); 103 bool TryGetScenePresence(UUID agentID, out object scenePresence);
104 104
105 T RequestModuleInterface<T>(); 105 /// <summary>
106 T[] RequestModuleInterfaces<T>(); 106 /// Register an interface to a region module. This allows module methods to be called directly as
107 107 /// well as via events. If there is already a module registered for this interface, it is not replaced
108 /// (is this the best behaviour?)
109 /// </summary>
110 /// <param name="mod"></param>
108 void RegisterModuleInterface<M>(M mod); 111 void RegisterModuleInterface<M>(M mod);
112
109 void StackModuleInterface<M>(M mod); 113 void StackModuleInterface<M>(M mod);
110 114
115 /// <summary>
116 /// For the given interface, retrieve the region module which implements it.
117 /// </summary>
118 /// <returns>null if there is no registered module implementing that interface</returns>
119 T RequestModuleInterface<T>();
120
121 /// <summary>
122 /// For the given interface, retrieve an array of region modules that implement it.
123 /// </summary>
124 /// <returns>an empty array if there are no registered modules implementing that interface</returns>
125 T[] RequestModuleInterfaces<T>();
126
111// void AddCommand(object module, string command, string shorthelp, string longhelp, CommandDelegate callback); 127// void AddCommand(object module, string command, string shorthelp, string longhelp, CommandDelegate callback);
112 128
113 ISceneObject DeserializeObject(string representation); 129 ISceneObject DeserializeObject(string representation);