diff options
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces')
16 files changed, 504 insertions, 131 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 90a13a7..d781eae 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | |||
@@ -114,6 +114,15 @@ namespace OpenSim.Region.Framework.Interfaces | |||
114 | void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID); | 114 | void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID); |
115 | 115 | ||
116 | /// <summary> | 116 | /// <summary> |
117 | /// Detach the given item to the ground at the specified coordinates & rotation | ||
118 | /// </summary> | ||
119 | /// <param name="sp"></param> | ||
120 | /// <param name="objectLocalID"></param> | ||
121 | /// <param name="absolutePos"></param> | ||
122 | /// <param name="absoluteRot"></param> | ||
123 | void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID, Vector3 absolutePos, Quaternion absoluteRot); | ||
124 | |||
125 | /// <summary> | ||
117 | /// Detach the given attachment so that it remains in the user's inventory. | 126 | /// Detach the given attachment so that it remains in the user's inventory. |
118 | /// </summary> | 127 | /// </summary> |
119 | /// <param name="sp">/param> | 128 | /// <param name="sp">/param> |
diff --git a/OpenSim/Region/Framework/Interfaces/ICloudModule.cs b/OpenSim/Region/Framework/Interfaces/ICloudModule.cs index 7296ac3..54172bd 100644 --- a/OpenSim/Region/Framework/Interfaces/ICloudModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ICloudModule.cs | |||
@@ -27,7 +27,7 @@ | |||
27 | 27 | ||
28 | namespace OpenSim.Region.Framework.Interfaces | 28 | namespace OpenSim.Region.Framework.Interfaces |
29 | { | 29 | { |
30 | public interface ICloudModule : IRegionModule | 30 | public interface ICloudModule |
31 | { | 31 | { |
32 | /// <summary> | 32 | /// <summary> |
33 | /// Retrieves the cloud density at the given region coordinates | 33 | /// Retrieves the cloud density at the given region coordinates |
diff --git a/OpenSim/Region/Framework/Interfaces/IDialogModule.cs b/OpenSim/Region/Framework/Interfaces/IDialogModule.cs index be9764a..4d35c1c 100644 --- a/OpenSim/Region/Framework/Interfaces/IDialogModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IDialogModule.cs | |||
@@ -33,95 +33,140 @@ namespace OpenSim.Region.Framework.Interfaces | |||
33 | public interface IDialogModule | 33 | public interface IDialogModule |
34 | { | 34 | { |
35 | /// <summary> | 35 | /// <summary> |
36 | /// Send a non-modal alert message to a particular user. This can disappear from the user's view after a | 36 | /// Send a non-modal alert message to a particular user. This can |
37 | /// small interval. | 37 | /// disappear from the user's view after a small interval. |
38 | /// </summary> | 38 | /// </summary> |
39 | /// <param name="client"></param> | 39 | /// <param name="client"> |
40 | /// <param name="message"></param> | 40 | /// IClientAPI object representing the user. |
41 | /// </param> | ||
42 | /// <param name="message">Message text to send to the user.</param> | ||
41 | void SendAlertToUser(IClientAPI client, string message); | 43 | void SendAlertToUser(IClientAPI client, string message); |
42 | 44 | ||
43 | /// <summary> | 45 | /// <summary> |
44 | /// Send an alert message to a particular user. | 46 | /// Send an alert message to a particular user. |
45 | /// </summary> | 47 | /// </summary> |
46 | /// <param name="client"></param> | 48 | /// <param name="client"> |
47 | /// <param name="message"></param> | 49 | /// IClientAPI object representing the user. |
48 | /// <param name="modal"></param> | 50 | /// </param> |
51 | /// <param name="message">Message text to send to the user.</param> | ||
52 | /// <param name="modal">Flag to control modality.</param> | ||
49 | void SendAlertToUser(IClientAPI client, string message, bool modal); | 53 | void SendAlertToUser(IClientAPI client, string message, bool modal); |
50 | 54 | ||
51 | /// <summary> | 55 | /// <summary> |
52 | /// Send a non-modal alert message to a particular user. | 56 | /// Send a non-modal alert message to a particular user. |
53 | /// </summary> | 57 | /// </summary> |
54 | /// <param name="agentID"></param> | 58 | /// <param name="agentID">UUID of agent representing the user.</param> |
55 | /// <param name="message"></param> | 59 | /// <param name="message">Message text to send to the user.</param> |
56 | void SendAlertToUser(UUID agentID, string message); | 60 | void SendAlertToUser(UUID agentID, string message); |
57 | 61 | ||
58 | /// <summary> | 62 | /// <summary> |
59 | /// Send an alert message to a particular user. | 63 | /// Send an alert message to a particular user. |
60 | /// </summary> | 64 | /// </summary> |
61 | /// <param name="agentID"></param> | 65 | /// <param name="agentID">UUID of agent representing the user.</param> |
62 | /// <param name="message"></param> | 66 | /// <param name="message">Message text to send to the user.</param> |
63 | /// <param name="modal"></param> | 67 | /// <param name="modal">Flag to control modality.</param> |
64 | void SendAlertToUser(UUID agentID, string message, bool modal); | 68 | void SendAlertToUser(UUID agentID, string message, bool modal); |
65 | 69 | ||
66 | /// <summary> | 70 | /// <summary> |
67 | /// Send an alert message to a particular user. | 71 | /// Send an alert message to a particular user. |
68 | /// </summary> | 72 | /// </summary> |
69 | /// <param name="firstName"></param> | 73 | /// <param name="firstName">Account first name</param> |
70 | /// <param name="lastName"></param> | 74 | /// <param name="lastName">Account last name</param> |
71 | /// <param name="message"></param> | 75 | /// <param name="message">Message text to send to the user.</param> |
72 | /// <param name="modal"></param> | 76 | /// <param name="modal">Flag to control modality.</param> |
73 | void SendAlertToUser(string firstName, string lastName, string message, bool modal); | 77 | void SendAlertToUser(string firstName, string lastName, |
74 | 78 | string message, bool modal); | |
79 | |||
75 | /// <summary> | 80 | /// <summary> |
76 | /// Send an alert message to all users in the scene. | 81 | /// Send an alert message to all users in the scene. |
77 | /// </summary> | 82 | /// </summary> |
78 | /// <param name="message"></param> | 83 | /// <param name="message">Message text to send to all users.</param> |
79 | void SendGeneralAlert(string message); | 84 | void SendGeneralAlert(string message); |
80 | 85 | ||
81 | /// <summary> | 86 | /// <summary> |
82 | /// Send a dialog box to a particular user. | 87 | /// Send a dialog box to a particular user. |
83 | /// </summary> | 88 | /// </summary> |
84 | /// <param name="avatarID"></param> | 89 | /// <param name="avatarID"> |
85 | /// <param name="objectName"></param> | 90 | /// UUID of the avatar representing the user. |
86 | /// <param name="objectID"></param> | 91 | /// </param> |
87 | /// <param name="ownerID"></param> | 92 | /// <param name="objectName"> |
88 | /// <param name="message"></param> | 93 | /// Name of the object sending the dialog. |
89 | /// <param name="textureID"></param> | 94 | /// </param> |
90 | /// <param name="ch"></param> | 95 | /// <param name="objectID"> |
91 | /// <param name="buttonlabels"></param> | 96 | /// UUID of the object sending the dialog. |
92 | void SendDialogToUser( | 97 | /// </param> |
93 | UUID avatarID, string objectName, UUID objectID, UUID ownerID, | 98 | /// <param name="ownerID"> |
94 | string message, UUID textureID, int ch, string[] buttonlabels); | 99 | /// UUID of the user that owns the object. |
95 | 100 | /// </param> | |
101 | /// <param name="message">Message text to send to the user.</param> | ||
102 | /// <param name="textureID"> | ||
103 | /// Texture UUID to pass along with the dialog. | ||
104 | /// </param> | ||
105 | /// <param name="ch"> | ||
106 | /// Channel on which the selected button text should be broadcast. | ||
107 | /// </param> | ||
108 | /// <param name="buttonlabels">Dialog button text.</param> | ||
109 | void SendDialogToUser(UUID avatarID, string objectName, UUID objectID, | ||
110 | UUID ownerID, string message, UUID textureID, int ch, | ||
111 | string[] buttonlabels); | ||
112 | |||
96 | /// <summary> | 113 | /// <summary> |
97 | /// Send a url to a particular user. | 114 | /// Send a url to a particular user. |
98 | /// </summary> | 115 | /// </summary> |
99 | /// <param name="avatarID"></param> | 116 | /// <param name="avatarID"> |
100 | /// <param name="objectName"></param> | 117 | /// UUID of the avatar representing the user. |
101 | /// <param name="objectID"></param> | 118 | /// </param> |
102 | /// <param name="ownerID"></param> | 119 | /// <param name="objectName"> |
103 | /// <param name="groupOwned"></param> | 120 | /// Name of the object sending the dialog. |
104 | /// <param name="message"></param> | 121 | /// </param> |
105 | /// <param name="url"></param> | 122 | /// <param name="objectID"> |
106 | void SendUrlToUser( | 123 | /// UUID of the object sending the dialog. |
107 | UUID avatarID, string objectName, UUID objectID, UUID ownerID, bool groupOwned, string message, string url); | 124 | /// </param> |
108 | 125 | /// <param name="ownerID"> | |
126 | /// UUID of the user that owns the object. | ||
127 | /// </param> | ||
128 | /// <param name="groupOwned"> | ||
129 | /// Flag indicating whether or not the object is group-owned. | ||
130 | /// </param> | ||
131 | /// <param name="message">Message text to send to the user.</param> | ||
132 | /// <param name="url">Url to send to the user.</param> | ||
133 | void SendUrlToUser(UUID avatarID, string objectName, UUID objectID, | ||
134 | UUID ownerID, bool groupOwned, string message, string url); | ||
135 | |||
109 | /// <summary> | 136 | /// <summary> |
110 | /// Send a notification to all users in the scene. This notification should remain around until the | 137 | /// Send a notification to all users in the scene. This notification |
111 | /// user explicitly dismisses it. | 138 | /// should remain around until the user explicitly dismisses it. |
112 | /// </summary> | 139 | /// </summary> |
113 | /// | 140 | /// <remarks> |
114 | /// On the Linden Labs Second Client (as of 1.21), this is a big blue box message on the upper right of the | 141 | /// On the Linden Labs Second Client (as of 1.21), this is a big blue |
115 | /// screen. | 142 | /// box message on the upper right of the screen. |
116 | /// | 143 | /// </remarks> |
117 | /// <param name="fromAvatarID">The user sending the message</param> | 144 | /// <param name="fromAvatarID">The user sending the message</param> |
118 | /// <param name="fromAvatarName">The name of the user doing the sending</param> | 145 | /// <param name="fromAvatarName"> |
146 | /// The name of the user doing the sending | ||
147 | /// </param> | ||
119 | /// <param name="message">The message being sent to the user</param> | 148 | /// <param name="message">The message being sent to the user</param> |
120 | void SendNotificationToUsersInRegion(UUID fromAvatarID, string fromAvatarName, string message); | 149 | void SendNotificationToUsersInRegion(UUID fromAvatarID, |
121 | 150 | string fromAvatarName, string message); | |
151 | |||
122 | /// <summary> | 152 | /// <summary> |
123 | /// Send a textbox entry for the client to respond to | 153 | /// Send a textbox entry for the client to respond to |
124 | /// </summary> | 154 | /// </summary> |
125 | void SendTextBoxToUser(UUID avatarid, string message, int chatChannel, string name, UUID objectid, UUID ownerid); | 155 | /// <param name="avatarID"> |
156 | /// UUID of the avatar representing the user. | ||
157 | /// </param> | ||
158 | /// <param name="message">Message text to send to the user.</param> | ||
159 | /// <param name="chatChannel"> | ||
160 | /// Chat channel that the user's input should be broadcast on. | ||
161 | /// </param> | ||
162 | /// <param name="name">Name of the object sending the dialog.</param> | ||
163 | /// <param name="objectid"> | ||
164 | /// UUID of the object sending the dialog. | ||
165 | /// </param> | ||
166 | /// <param name="ownerid"> | ||
167 | /// UUID of the user that owns the object. | ||
168 | /// </param> | ||
169 | void SendTextBoxToUser(UUID avatarid, string message, int chatChannel, | ||
170 | string name, UUID objectid, UUID ownerid); | ||
126 | } | 171 | } |
127 | } | 172 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs index 8954513..6df5cc2 100644 --- a/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs +++ b/OpenSim/Region/Framework/Interfaces/IDynamicTextureManager.cs | |||
@@ -25,6 +25,8 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | ||
29 | using System.Drawing; | ||
28 | using System.IO; | 30 | using System.IO; |
29 | using OpenMetaverse; | 31 | using OpenMetaverse; |
30 | 32 | ||
@@ -33,7 +35,14 @@ namespace OpenSim.Region.Framework.Interfaces | |||
33 | public interface IDynamicTextureManager | 35 | public interface IDynamicTextureManager |
34 | { | 36 | { |
35 | void RegisterRender(string handleType, IDynamicTextureRender render); | 37 | void RegisterRender(string handleType, IDynamicTextureRender render); |
36 | void ReturnData(UUID id, byte[] data); | 38 | |
39 | /// <summary> | ||
40 | /// Used by IDynamicTextureRender implementations to return renders | ||
41 | /// </summary> | ||
42 | /// <param name='id'></param> | ||
43 | /// <param name='data'></param> | ||
44 | /// <param name='isReuseable'></param> | ||
45 | void ReturnData(UUID id, IDynamicTexture texture); | ||
37 | 46 | ||
38 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, | 47 | UUID AddDynamicTextureURL(UUID simID, UUID primID, string contentType, string url, string extraParams, |
39 | int updateTimer); | 48 | int updateTimer); |
@@ -113,11 +122,65 @@ namespace OpenSim.Region.Framework.Interfaces | |||
113 | string GetName(); | 122 | string GetName(); |
114 | string GetContentType(); | 123 | string GetContentType(); |
115 | bool SupportsAsynchronous(); | 124 | bool SupportsAsynchronous(); |
116 | byte[] ConvertUrl(string url, string extraParams); | 125 | |
117 | byte[] ConvertStream(Stream data, string extraParams); | 126 | // /// <summary> |
127 | // /// Return true if converting the input body and extra params data will always result in the same byte[] array | ||
128 | // /// </summary> | ||
129 | // /// <remarks> | ||
130 | // /// This method allows the caller to use a previously generated asset if it has one. | ||
131 | // /// </remarks> | ||
132 | // /// <returns></returns> | ||
133 | // /// <param name='bodyData'></param> | ||
134 | // /// <param name='extraParams'></param> | ||
135 | // bool AlwaysIdenticalConversion(string bodyData, string extraParams); | ||
136 | |||
137 | IDynamicTexture ConvertUrl(string url, string extraParams); | ||
138 | IDynamicTexture ConvertData(string bodyData, string extraParams); | ||
139 | |||
118 | bool AsyncConvertUrl(UUID id, string url, string extraParams); | 140 | bool AsyncConvertUrl(UUID id, string url, string extraParams); |
119 | bool AsyncConvertData(UUID id, string bodyData, string extraParams); | 141 | bool AsyncConvertData(UUID id, string bodyData, string extraParams); |
142 | |||
120 | void GetDrawStringSize(string text, string fontName, int fontSize, | 143 | void GetDrawStringSize(string text, string fontName, int fontSize, |
121 | out double xSize, out double ySize); | 144 | out double xSize, out double ySize); |
122 | } | 145 | } |
146 | |||
147 | public interface IDynamicTexture | ||
148 | { | ||
149 | /// <summary> | ||
150 | /// Input commands used to generate this data. | ||
151 | /// </summary> | ||
152 | /// <remarks> | ||
153 | /// Null if input commands were not used. | ||
154 | /// </remarks> | ||
155 | string InputCommands { get; } | ||
156 | |||
157 | /// <summary> | ||
158 | /// Uri used to generate this data. | ||
159 | /// </summary> | ||
160 | /// <remarks> | ||
161 | /// Null if a uri was not used. | ||
162 | /// </remarks> | ||
163 | Uri InputUri { get; } | ||
164 | |||
165 | /// <summary> | ||
166 | /// Extra input params used to generate this data. | ||
167 | /// </summary> | ||
168 | string InputParams { get; } | ||
169 | |||
170 | /// <summary> | ||
171 | /// Texture data. | ||
172 | /// </summary> | ||
173 | byte[] Data { get; } | ||
174 | |||
175 | /// <summary> | ||
176 | /// Size of texture. | ||
177 | /// </summary> | ||
178 | Size Size { get; } | ||
179 | |||
180 | /// <summary> | ||
181 | /// Signal whether the texture is reuseable (i.e. whether the same input data will always generate the same | ||
182 | /// texture). | ||
183 | /// </summary> | ||
184 | bool IsReuseable { get; } | ||
185 | } | ||
123 | } | 186 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IEntityInventory.cs b/OpenSim/Region/Framework/Interfaces/IEntityInventory.cs index 4274cbe..8028d87 100644 --- a/OpenSim/Region/Framework/Interfaces/IEntityInventory.cs +++ b/OpenSim/Region/Framework/Interfaces/IEntityInventory.cs | |||
@@ -152,6 +152,19 @@ namespace OpenSim.Region.Framework.Interfaces | |||
152 | void StopScriptInstance(UUID itemId); | 152 | void StopScriptInstance(UUID itemId); |
153 | 153 | ||
154 | /// <summary> | 154 | /// <summary> |
155 | /// Try to get the script running status. | ||
156 | /// </summary> | ||
157 | /// <returns> | ||
158 | /// Returns true if a script for the item was found in one of the simulator's script engines. In this case, | ||
159 | /// the running parameter will reflect the running status. | ||
160 | /// Returns false if the item could not be found, if the item is not a script or if a script instance for the | ||
161 | /// item was not found in any of the script engines. In this case, running status is irrelevant. | ||
162 | /// </returns> | ||
163 | /// <param name='itemId'></param> | ||
164 | /// <param name='running'></param> | ||
165 | bool TryGetScriptInstanceRunning(UUID itemId, out bool running); | ||
166 | |||
167 | /// <summary> | ||
155 | /// Add an item to this entity's inventory. If an item with the same name already exists, then an alternative | 168 | /// Add an item to this entity's inventory. If an item with the same name already exists, then an alternative |
156 | /// name is chosen. | 169 | /// name is chosen. |
157 | /// </summary> | 170 | /// </summary> |
@@ -270,17 +283,25 @@ namespace OpenSim.Region.Framework.Interfaces | |||
270 | void ApplyGodPermissions(uint perms); | 283 | void ApplyGodPermissions(uint perms); |
271 | 284 | ||
272 | /// <summary> | 285 | /// <summary> |
286 | /// Number of items in this inventory. | ||
287 | /// </summary> | ||
288 | int Count { get; } | ||
289 | |||
290 | /// <summary> | ||
273 | /// Returns true if this inventory contains any scripts | 291 | /// Returns true if this inventory contains any scripts |
274 | /// </summary></returns> | 292 | /// </summary></returns> |
275 | bool ContainsScripts(); | 293 | bool ContainsScripts(); |
276 | 294 | ||
277 | /// <summary> | 295 | /// <summary> |
278 | /// Returns the count of scripts contained | 296 | /// Number of scripts in this inventory. |
279 | /// </summary></returns> | 297 | /// </summary> |
298 | /// <remarks> | ||
299 | /// Includes both running and non running scripts. | ||
300 | /// </remarks> | ||
280 | int ScriptCount(); | 301 | int ScriptCount(); |
281 | 302 | ||
282 | /// <summary> | 303 | /// <summary> |
283 | /// Returns the count of running scripts contained | 304 | /// Number of running scripts in this inventory. |
284 | /// </summary></returns> | 305 | /// </summary></returns> |
285 | int RunningScriptCount(); | 306 | int RunningScriptCount(); |
286 | 307 | ||
diff --git a/OpenSim/Region/Framework/Interfaces/IEstateModule.cs b/OpenSim/Region/Framework/Interfaces/IEstateModule.cs index ca2ad94..292efa4 100644 --- a/OpenSim/Region/Framework/Interfaces/IEstateModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IEstateModule.cs | |||
@@ -46,6 +46,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
46 | /// </summary> | 46 | /// </summary> |
47 | void sendRegionHandshakeToAll(); | 47 | void sendRegionHandshakeToAll(); |
48 | void TriggerEstateInfoChange(); | 48 | void TriggerEstateInfoChange(); |
49 | |||
50 | /// <summary> | ||
51 | /// Fires the OnRegionInfoChange event. | ||
52 | /// </summary> | ||
49 | void TriggerRegionInfoChange(); | 53 | void TriggerRegionInfoChange(); |
50 | 54 | ||
51 | void setEstateTerrainBaseTexture(int level, UUID texture); | 55 | void setEstateTerrainBaseTexture(int level, UUID texture); |
diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index baac6e8..da39e95 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs | |||
@@ -35,7 +35,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
35 | 35 | ||
36 | public interface IJsonStoreModule | 36 | public interface IJsonStoreModule |
37 | { | 37 | { |
38 | bool CreateStore(string value, out UUID result); | 38 | bool CreateStore(string value, ref UUID result); |
39 | bool DestroyStore(UUID storeID); | 39 | bool DestroyStore(UUID storeID); |
40 | bool TestPath(UUID storeID, string path, bool useJson); | 40 | bool TestPath(UUID storeID, string path, bool useJson); |
41 | bool SetValue(UUID storeID, string path, string value, bool useJson); | 41 | bool SetValue(UUID storeID, string path, string value, bool useJson); |
diff --git a/OpenSim/Region/Framework/Interfaces/IRegionModule.cs b/OpenSim/Region/Framework/Interfaces/ILightShareModule.cs index 2bb0c75..b5fd24f 100644 --- a/OpenSim/Region/Framework/Interfaces/IRegionModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ILightShareModule.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -25,29 +25,9 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using Nini.Config; | ||
29 | using OpenSim.Region.Framework.Scenes; | ||
30 | |||
31 | namespace OpenSim.Region.Framework.Interfaces | 28 | namespace OpenSim.Region.Framework.Interfaces |
32 | { | 29 | { |
33 | /// <summary> | 30 | public interface ILightShareModule |
34 | /// DEPRECATED! Use INonSharedRegionModule or ISharedRegionModule instead | ||
35 | /// </summary> | ||
36 | public interface IRegionModule | ||
37 | { | 31 | { |
38 | /// <summary> | ||
39 | /// Initialize the module. | ||
40 | /// </summary> | ||
41 | /// <remarks> | ||
42 | /// For a shared module this can be called multiple times - once per scene. | ||
43 | /// </remarks> | ||
44 | /// <param name="scene"></param> | ||
45 | /// <param name="source">Configuration information. For a shared module this will be identical on every scene call</param> | ||
46 | void Initialise(Scene scene, IConfigSource source); | ||
47 | |||
48 | void PostInitialise(); | ||
49 | void Close(); | ||
50 | string Name { get; } | ||
51 | bool IsSharedModule { get; } | ||
52 | } | 32 | } |
53 | } | 33 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Interfaces/INPCModule.cs b/OpenSim/Region/Framework/Interfaces/INPCModule.cs index d582149..9817cf7 100644 --- a/OpenSim/Region/Framework/Interfaces/INPCModule.cs +++ b/OpenSim/Region/Framework/Interfaces/INPCModule.cs | |||
@@ -32,14 +32,16 @@ using OpenSim.Region.Framework.Scenes; | |||
32 | namespace OpenSim.Region.Framework.Interfaces | 32 | namespace OpenSim.Region.Framework.Interfaces |
33 | { | 33 | { |
34 | /// <summary> | 34 | /// <summary> |
35 | /// Temporary interface. More methods to come at some point to make NPCs more object oriented rather than | 35 | /// Temporary interface. More methods to come at some point to make NPCs |
36 | /// controlling purely through module level interface calls (e.g. sit/stand). | 36 | /// more object oriented rather than controlling purely through module |
37 | /// level interface calls (e.g. sit/stand). | ||
37 | /// </summary> | 38 | /// </summary> |
38 | public interface INPC | 39 | public interface INPC |
39 | { | 40 | { |
40 | /// <summary> | 41 | /// <summary> |
41 | /// Should this NPC be sensed by LSL sensors as an 'agent' (interpreted here to mean a normal user) | 42 | /// Should this NPC be sensed by LSL sensors as an 'agent' |
42 | /// rather than an OpenSim specific NPC extension? | 43 | /// (interpreted here to mean a normal user) rather than an OpenSim |
44 | /// specific NPC extension? | ||
43 | /// </summary> | 45 | /// </summary> |
44 | bool SenseAsAgent { get; } | 46 | bool SenseAsAgent { get; } |
45 | } | 47 | } |
@@ -53,35 +55,42 @@ namespace OpenSim.Region.Framework.Interfaces | |||
53 | /// <param name="lastname"></param> | 55 | /// <param name="lastname"></param> |
54 | /// <param name="position"></param> | 56 | /// <param name="position"></param> |
55 | /// <param name="senseAsAgent"> | 57 | /// <param name="senseAsAgent"> |
56 | /// Make the NPC show up as an agent on LSL sensors. The default is that they | 58 | /// Make the NPC show up as an agent on LSL sensors. The default is |
57 | /// show up as the NPC type instead, but this is currently an OpenSim-only extension. | 59 | /// that they show up as the NPC type instead, but this is currently |
60 | /// an OpenSim-only extension. | ||
58 | /// </param> | 61 | /// </param> |
59 | /// <param name="scene"></param> | 62 | /// <param name="scene"></param> |
60 | /// <param name="appearance">The avatar appearance to use for the new NPC.</param> | 63 | /// <param name="appearance"> |
61 | /// <returns>The UUID of the ScenePresence created. UUID.Zero if there was a failure.</returns> | 64 | /// The avatar appearance to use for the new NPC. |
62 | UUID CreateNPC( | 65 | /// </param> |
63 | string firstname, | 66 | /// <returns> |
64 | string lastname, | 67 | /// The UUID of the ScenePresence created. UUID.Zero if there was a |
65 | Vector3 position, | 68 | /// failure. |
66 | UUID owner, | 69 | /// </returns> |
67 | bool senseAsAgent, | 70 | UUID CreateNPC(string firstname, string lastname, Vector3 position, |
68 | Scene scene, | 71 | UUID owner, bool senseAsAgent, Scene scene, |
69 | AvatarAppearance appearance); | 72 | AvatarAppearance appearance); |
70 | 73 | ||
71 | /// <summary> | 74 | /// <summary> |
72 | /// Check if the agent is an NPC. | 75 | /// Check if the agent is an NPC. |
73 | /// </summary> | 76 | /// </summary> |
74 | /// <param name="agentID"></param> | 77 | /// <param name="agentID"></param> |
75 | /// <param name="scene"></param> | 78 | /// <param name="scene"></param> |
76 | /// <returns>True if the agent is an NPC in the given scene. False otherwise.</returns> | 79 | /// <returns> |
80 | /// True if the agent is an NPC in the given scene. False otherwise. | ||
81 | /// </returns> | ||
77 | bool IsNPC(UUID agentID, Scene scene); | 82 | bool IsNPC(UUID agentID, Scene scene); |
78 | 83 | ||
79 | /// <summary> | 84 | /// <summary> |
80 | /// Get the NPC. This is not currently complete - manipulation of NPCs still occurs through the region interface | 85 | /// Get the NPC. |
81 | /// </summary> | 86 | /// </summary> |
87 | /// <remarks> | ||
88 | /// This is not currently complete - manipulation of NPCs still occurs | ||
89 | /// through the region interface. | ||
90 | /// </remarks> | ||
82 | /// <param name="agentID"></param> | 91 | /// <param name="agentID"></param> |
83 | /// <param name="scene"></param> | 92 | /// <param name="scene"></param> |
84 | /// <returns>The NPC. null if it does not exist.</returns> | 93 | /// <returns>The NPC. null if it does not exist.</returns> |
85 | INPC GetNPC(UUID agentID, Scene scene); | 94 | INPC GetNPC(UUID agentID, Scene scene); |
86 | 95 | ||
87 | /// <summary> | 96 | /// <summary> |
@@ -89,7 +98,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
89 | /// </summary> | 98 | /// </summary> |
90 | /// <param name="npcID"></param> | 99 | /// <param name="npcID"></param> |
91 | /// <param name="callerID"></param> | 100 | /// <param name="callerID"></param> |
92 | /// <returns>true if they do, false if they don't or if there's no NPC with the given ID.</returns> | 101 | /// <returns> |
102 | /// true if they do, false if they don't or if there's no NPC with the | ||
103 | /// given ID. | ||
104 | /// </returns> | ||
93 | bool CheckPermissions(UUID npcID, UUID callerID); | 105 | bool CheckPermissions(UUID npcID, UUID callerID); |
94 | 106 | ||
95 | /// <summary> | 107 | /// <summary> |
@@ -98,8 +110,12 @@ namespace OpenSim.Region.Framework.Interfaces | |||
98 | /// <param name="agentID"></param> | 110 | /// <param name="agentID"></param> |
99 | /// <param name="appearance"></param> | 111 | /// <param name="appearance"></param> |
100 | /// <param name="scene"></param> | 112 | /// <param name="scene"></param> |
101 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 113 | /// <returns> |
102 | bool SetNPCAppearance(UUID agentID, AvatarAppearance appearance, Scene scene); | 114 | /// True if the operation succeeded, false if there was no such agent |
115 | /// or the agent was not an NPC. | ||
116 | /// </returns> | ||
117 | bool SetNPCAppearance(UUID agentID, AvatarAppearance appearance, | ||
118 | Scene scene); | ||
103 | 119 | ||
104 | /// <summary> | 120 | /// <summary> |
105 | /// Move an NPC to a target over time. | 121 | /// Move an NPC to a target over time. |
@@ -108,23 +124,29 @@ namespace OpenSim.Region.Framework.Interfaces | |||
108 | /// <param name="scene"></param> | 124 | /// <param name="scene"></param> |
109 | /// <param name="pos"></param> | 125 | /// <param name="pos"></param> |
110 | /// <param name="noFly"> | 126 | /// <param name="noFly"> |
111 | /// If true, then the avatar will attempt to walk to the location even if it's up in the air. | 127 | /// If true, then the avatar will attempt to walk to the location even |
112 | /// This is to allow walking on prims. | 128 | /// if it's up in the air. This is to allow walking on prims. |
113 | /// </param> | 129 | /// </param> |
114 | /// <param name="landAtTarget"> | 130 | /// <param name="landAtTarget"> |
115 | /// If true and the avatar is flying when it reaches the target, land. | 131 | /// If true and the avatar is flying when it reaches the target, land. |
116 | /// </param> name="running"> | 132 | /// </param> name="running"> |
117 | /// If true, NPC moves with running speed. | 133 | /// If true, NPC moves with running speed. |
118 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 134 | /// <returns> |
119 | /// | 135 | /// True if the operation succeeded, false if there was no such agent |
120 | bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos, bool noFly, bool landAtTarget, bool running); | 136 | /// or the agent was not an NPC. |
137 | /// </returns> | ||
138 | bool MoveToTarget(UUID agentID, Scene scene, Vector3 pos, bool noFly, | ||
139 | bool landAtTarget, bool running); | ||
121 | 140 | ||
122 | /// <summary> | 141 | /// <summary> |
123 | /// Stop the NPC's current movement. | 142 | /// Stop the NPC's current movement. |
124 | /// </summary> | 143 | /// </summary> |
125 | /// <param name="agentID">The UUID of the NPC</param> | 144 | /// <param name="agentID">The UUID of the NPC</param> |
126 | /// <param name="scene"></param> | 145 | /// <param name="scene"></param> |
127 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 146 | /// <returns> |
147 | /// True if the operation succeeded, false if there was no such agent | ||
148 | /// or the agent was not an NPC. | ||
149 | /// </returns> | ||
128 | bool StopMoveToTarget(UUID agentID, Scene scene); | 150 | bool StopMoveToTarget(UUID agentID, Scene scene); |
129 | 151 | ||
130 | /// <summary> | 152 | /// <summary> |
@@ -133,7 +155,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
133 | /// <param name="agentID">The UUID of the NPC</param> | 155 | /// <param name="agentID">The UUID of the NPC</param> |
134 | /// <param name="scene"></param> | 156 | /// <param name="scene"></param> |
135 | /// <param name="text"></param> | 157 | /// <param name="text"></param> |
136 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 158 | /// <returns> |
159 | /// True if the operation succeeded, false if there was no such agent | ||
160 | /// or the agent was not an NPC. | ||
161 | /// </returns> | ||
137 | bool Say(UUID agentID, Scene scene, string text); | 162 | bool Say(UUID agentID, Scene scene, string text); |
138 | 163 | ||
139 | /// <summary> | 164 | /// <summary> |
@@ -143,7 +168,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
143 | /// <param name="scene"></param> | 168 | /// <param name="scene"></param> |
144 | /// <param name="text"></param> | 169 | /// <param name="text"></param> |
145 | /// <param name="channel"></param> | 170 | /// <param name="channel"></param> |
146 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 171 | /// <returns> |
172 | /// True if the operation succeeded, false if there was no such agent | ||
173 | /// or the agent was not an NPC. | ||
174 | /// </returns> | ||
147 | bool Say(UUID agentID, Scene scene, string text, int channel); | 175 | bool Say(UUID agentID, Scene scene, string text, int channel); |
148 | 176 | ||
149 | /// <summary> | 177 | /// <summary> |
@@ -153,7 +181,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
153 | /// <param name="scene"></param> | 181 | /// <param name="scene"></param> |
154 | /// <param name="text"></param> | 182 | /// <param name="text"></param> |
155 | /// <param name="channel"></param> | 183 | /// <param name="channel"></param> |
156 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 184 | /// <returns> |
185 | /// True if the operation succeeded, false if there was no such agent | ||
186 | /// or the agent was not an NPC. | ||
187 | /// </returns> | ||
157 | bool Shout(UUID agentID, Scene scene, string text, int channel); | 188 | bool Shout(UUID agentID, Scene scene, string text, int channel); |
158 | 189 | ||
159 | /// <summary> | 190 | /// <summary> |
@@ -163,7 +194,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
163 | /// <param name="scene"></param> | 194 | /// <param name="scene"></param> |
164 | /// <param name="text"></param> | 195 | /// <param name="text"></param> |
165 | /// <param name="channel"></param> | 196 | /// <param name="channel"></param> |
166 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 197 | /// <returns> |
198 | /// True if the operation succeeded, false if there was no such agent | ||
199 | /// or the agent was not an NPC. | ||
200 | /// </returns> | ||
167 | bool Whisper(UUID agentID, Scene scene, string text, int channel); | 201 | bool Whisper(UUID agentID, Scene scene, string text, int channel); |
168 | 202 | ||
169 | /// <summary> | 203 | /// <summary> |
@@ -188,7 +222,9 @@ namespace OpenSim.Region.Framework.Interfaces | |||
188 | /// </summary> | 222 | /// </summary> |
189 | /// <param name="agentID"></param> | 223 | /// <param name="agentID"></param> |
190 | /// <param name="partID"></param> | 224 | /// <param name="partID"></param> |
191 | /// <returns>true if the touch is actually attempted, false if not</returns> | 225 | /// <returns> |
226 | /// true if the touch is actually attempted, false if not. | ||
227 | /// </returns> | ||
192 | bool Touch(UUID agentID, UUID partID); | 228 | bool Touch(UUID agentID, UUID partID); |
193 | 229 | ||
194 | /// <summary> | 230 | /// <summary> |
@@ -196,14 +232,20 @@ namespace OpenSim.Region.Framework.Interfaces | |||
196 | /// </summary> | 232 | /// </summary> |
197 | /// <param name="agentID">The UUID of the NPC</param> | 233 | /// <param name="agentID">The UUID of the NPC</param> |
198 | /// <param name="scene"></param> | 234 | /// <param name="scene"></param> |
199 | /// <returns>True if the operation succeeded, false if there was no such agent or the agent was not an NPC</returns> | 235 | /// <returns> |
236 | /// True if the operation succeeded, false if there was no such agent | ||
237 | /// or the agent was not an NPC. | ||
238 | /// </returns> | ||
200 | bool DeleteNPC(UUID agentID, Scene scene); | 239 | bool DeleteNPC(UUID agentID, Scene scene); |
201 | 240 | ||
202 | /// <summary> | 241 | /// <summary> |
203 | /// Get the owner of a NPC | 242 | /// Get the owner of a NPC |
204 | /// </summary> | 243 | /// </summary> |
205 | /// <param name="agentID">The UUID of the NPC</param> | 244 | /// <param name="agentID">The UUID of the NPC</param> |
206 | /// <returns>UUID of owner if the NPC exists, UUID.Zero if there was no such agent, the agent is unowned or the agent was not an NPC</returns> | 245 | /// <returns> |
246 | /// UUID of owner if the NPC exists, UUID.Zero if there was no such | ||
247 | /// agent, the agent is unowned or the agent was not an NPC. | ||
248 | /// </returns> | ||
207 | UUID GetOwner(UUID agentID); | 249 | UUID GetOwner(UUID agentID); |
208 | } | 250 | } |
209 | } \ No newline at end of file | 251 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/IScriptModuleComms.cs b/OpenSim/Region/Framework/Interfaces/IScriptModuleComms.cs index a76ffde..70ff954 100644 --- a/OpenSim/Region/Framework/Interfaces/IScriptModuleComms.cs +++ b/OpenSim/Region/Framework/Interfaces/IScriptModuleComms.cs | |||
@@ -47,9 +47,46 @@ namespace OpenSim.Region.Framework.Interfaces | |||
47 | /// </summary> | 47 | /// </summary> |
48 | event ScriptCommand OnScriptCommand; | 48 | event ScriptCommand OnScriptCommand; |
49 | 49 | ||
50 | /// <summary> | ||
51 | /// Register an instance method as a script call by method name | ||
52 | /// </summary> | ||
53 | /// <param name="target"></param> | ||
54 | /// <param name="method"></param> | ||
50 | void RegisterScriptInvocation(object target, string method); | 55 | void RegisterScriptInvocation(object target, string method); |
56 | |||
57 | /// <summary> | ||
58 | /// Register a static or instance method as a script call by method info | ||
59 | /// </summary> | ||
60 | /// <param name="target">If target is a Type object, will assume method is static.</param> | ||
61 | /// <param name="method"></param> | ||
51 | void RegisterScriptInvocation(object target, MethodInfo method); | 62 | void RegisterScriptInvocation(object target, MethodInfo method); |
63 | |||
64 | /// <summary> | ||
65 | /// Register one or more instance methods as script calls by method name | ||
66 | /// </summary> | ||
67 | /// <param name="target"></param> | ||
68 | /// <param name="methods"></param> | ||
52 | void RegisterScriptInvocation(object target, string[] methods); | 69 | void RegisterScriptInvocation(object target, string[] methods); |
70 | |||
71 | /// <summary> | ||
72 | /// Register one or more static methods as script calls by method name | ||
73 | /// </summary> | ||
74 | /// <param name="target"></param> | ||
75 | /// <param name="methods"></param> | ||
76 | void RegisterScriptInvocation(Type target, string[] methods); | ||
77 | |||
78 | /// <summary> | ||
79 | /// Automatically register script invocations by checking for methods | ||
80 | /// with <see cref="ScriptInvocationAttribute"/>. Should only check | ||
81 | /// public methods. | ||
82 | /// </summary> | ||
83 | /// <param name="target"></param> | ||
84 | void RegisterScriptInvocations(IRegionModuleBase target); | ||
85 | |||
86 | /// <summary> | ||
87 | /// Returns an array of all registered script calls | ||
88 | /// </summary> | ||
89 | /// <returns></returns> | ||
53 | Delegate[] GetScriptInvocationList(); | 90 | Delegate[] GetScriptInvocationList(); |
54 | 91 | ||
55 | Delegate LookupScriptInvocation(string fname); | 92 | Delegate LookupScriptInvocation(string fname); |
@@ -68,12 +105,44 @@ namespace OpenSim.Region.Framework.Interfaces | |||
68 | /// <param name="key"></param> | 105 | /// <param name="key"></param> |
69 | void DispatchReply(UUID scriptId, int code, string text, string key); | 106 | void DispatchReply(UUID scriptId, int code, string text, string key); |
70 | 107 | ||
71 | /// For constants | 108 | /// <summary> |
109 | /// Operation to for a region module to register a constant to be used | ||
110 | /// by the script engine | ||
111 | /// </summary> | ||
112 | /// <param name="cname"> | ||
113 | /// The name of the constant. LSL convention is for constant names to | ||
114 | /// be uppercase. | ||
115 | /// </param> | ||
116 | /// <param name="value"> | ||
117 | /// The value of the constant. Should be of a type that can be | ||
118 | /// converted to one of <see cref="OpenSim.Region.ScriptEngine.Shared.LSL_Types"/> | ||
119 | /// </param> | ||
72 | void RegisterConstant(string cname, object value); | 120 | void RegisterConstant(string cname, object value); |
121 | |||
122 | /// <summary> | ||
123 | /// Automatically register all constants on a region module by | ||
124 | /// checking for fields with <see cref="ScriptConstantAttribute"/>. | ||
125 | /// </summary> | ||
126 | /// <param name="target"></param> | ||
127 | void RegisterConstants(IRegionModuleBase target); | ||
128 | |||
129 | /// <summary> | ||
130 | /// Operation to check for a registered constant | ||
131 | /// </summary> | ||
132 | /// <param name="cname">Name of constant</param> | ||
133 | /// <returns>Value of constant or null if none found.</returns> | ||
73 | object LookupModConstant(string cname); | 134 | object LookupModConstant(string cname); |
74 | Dictionary<string, object> GetConstants(); | 135 | Dictionary<string, object> GetConstants(); |
75 | 136 | ||
76 | // For use ONLY by the script API | 137 | // For use ONLY by the script API |
77 | void RaiseEvent(UUID script, string id, string module, string command, string key); | 138 | void RaiseEvent(UUID script, string id, string module, string command, string key); |
78 | } | 139 | } |
140 | |||
141 | [AttributeUsage(AttributeTargets.Method)] | ||
142 | public class ScriptInvocationAttribute : Attribute | ||
143 | { } | ||
144 | |||
145 | [AttributeUsage(AttributeTargets.Field)] | ||
146 | public class ScriptConstantAttribute : Attribute | ||
147 | { } | ||
79 | } | 148 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs index 6117a80..68af492 100644 --- a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs | |||
@@ -32,9 +32,96 @@ namespace OpenSim.Region.Framework.Interfaces | |||
32 | { | 32 | { |
33 | public interface ISoundModule | 33 | public interface ISoundModule |
34 | { | 34 | { |
35 | void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID, double gain, Vector3 position, byte flags, float radius); | 35 | /// <summary> |
36 | 36 | /// Maximum distance between a sound source and a recipient. | |
37 | /// </summary> | ||
38 | float MaxDistance { get; } | ||
39 | |||
40 | /// <summary> | ||
41 | /// Play a sound from an object. | ||
42 | /// </summary> | ||
43 | /// <param name="soundID">Sound asset ID</param> | ||
44 | /// <param name="ownerID">Sound source owner</param> | ||
45 | /// <param name="objectID">Sound source ID</param> | ||
46 | /// <param name="gain">Sound volume</param> | ||
47 | /// <param name="position">Sound source position</param> | ||
48 | /// <param name="flags">Sound flags</param> | ||
49 | /// <param name="radius"> | ||
50 | /// Radius used to affect gain over distance. | ||
51 | /// </param> | ||
52 | void PlayAttachedSound(UUID soundID, UUID ownerID, UUID objectID, | ||
53 | double gain, Vector3 position, byte flags, float radius); | ||
54 | |||
55 | /// <summary> | ||
56 | /// Trigger a sound in the scene. | ||
57 | /// </summary> | ||
58 | /// <param name="soundId">Sound asset ID</param> | ||
59 | /// <param name="ownerID">Sound source owner</param> | ||
60 | /// <param name="objectID">Sound source ID</param> | ||
61 | /// <param name="parentID">Sound source parent.</param> | ||
62 | /// <param name="gain">Sound volume</param> | ||
63 | /// <param name="position">Sound source position</param> | ||
64 | /// <param name="handle"></param> | ||
65 | /// <param name="radius"> | ||
66 | /// Radius used to affect gain over distance. | ||
67 | /// </param> | ||
37 | void TriggerSound( | 68 | void TriggerSound( |
38 | UUID soundId, UUID ownerID, UUID objectID, UUID parentID, double gain, Vector3 position, UInt64 handle, float radius); | 69 | UUID soundId, UUID ownerID, UUID objectID, UUID parentID, |
70 | double gain, Vector3 position, UInt64 handle, float radius); | ||
71 | |||
72 | /// <summary> | ||
73 | /// Stop sounds eminating from an object. | ||
74 | /// </summary> | ||
75 | /// <param name="objectID">Sound source ID</param> | ||
76 | void StopSound(UUID objectID); | ||
77 | |||
78 | /// <summary> | ||
79 | /// Preload sound to viewers within range. | ||
80 | /// </summary> | ||
81 | /// <param name="objectID">Sound source ID</param> | ||
82 | /// <param name="soundID">Sound asset ID</param> | ||
83 | /// <param name="radius"> | ||
84 | /// Radius used to determine which viewers should preload the sound. | ||
85 | /// </param> | ||
86 | void PreloadSound(UUID objectID, UUID soundID, float radius); | ||
87 | |||
88 | /// <summary> | ||
89 | /// Loop specified sound at specified volume with specified radius, | ||
90 | /// optionally declaring object as new sync master. | ||
91 | /// </summary> | ||
92 | /// <param name="objectID">Sound source ID</param> | ||
93 | /// <param name="soundID">Sound asset ID</param> | ||
94 | /// <param name="gain">Sound volume</param> | ||
95 | /// <param name="radius">Sound radius</param> | ||
96 | /// <param name="isMaster">Set object to sync master if true</param> | ||
97 | void LoopSound(UUID objectID, UUID soundID, double gain, | ||
98 | double radius, bool isMaster); | ||
99 | |||
100 | /// <summary> | ||
101 | /// Trigger or play an attached sound in this part's inventory. | ||
102 | /// </summary> | ||
103 | /// <param name="objectID">Sound source ID</param> | ||
104 | /// <param name="sound">Sound asset ID</param> | ||
105 | /// <param name="volume">Sound volume</param> | ||
106 | /// <param name="triggered">Triggered or not.</param> | ||
107 | /// <param name="flags"></param> | ||
108 | /// <param name="radius">Sound radius</param> | ||
109 | /// <param name="useMaster">Play using sound master</param> | ||
110 | /// <param name="isMaster">Play as sound master</param> | ||
111 | void SendSound(UUID objectID, UUID sound, double volume, | ||
112 | bool triggered, byte flags, float radius, bool useMaster, | ||
113 | bool isMaster); | ||
114 | |||
115 | /// <summary> | ||
116 | /// Trigger a sound to be played to all agents within an axis-aligned | ||
117 | /// bounding box. | ||
118 | /// </summary> | ||
119 | /// <param name="objectID">Sound source ID</param> | ||
120 | /// <param name="sound">Sound asset ID</param> | ||
121 | /// <param name="volume">Sound volume</param> | ||
122 | /// <param name="min">AABB bottom south-west corner</param> | ||
123 | /// <param name="max">AABB top north-east corner</param> | ||
124 | void TriggerSoundLimited(UUID objectID, UUID sound, double volume, | ||
125 | Vector3 min, Vector3 max); | ||
39 | } | 126 | } |
40 | } \ No newline at end of file | 127 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Interfaces/ISunModule.cs b/OpenSim/Region/Framework/Interfaces/ISunModule.cs index 819ae11..8231716 100644 --- a/OpenSim/Region/Framework/Interfaces/ISunModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ISunModule.cs | |||
@@ -29,7 +29,7 @@ using OpenMetaverse; | |||
29 | 29 | ||
30 | namespace OpenSim.Region.Framework.Interfaces | 30 | namespace OpenSim.Region.Framework.Interfaces |
31 | { | 31 | { |
32 | public interface ISunModule : IRegionModule | 32 | public interface ISunModule : INonSharedRegionModule |
33 | { | 33 | { |
34 | double GetSunParameter(string param); | 34 | double GetSunParameter(string param); |
35 | 35 | ||
diff --git a/OpenSim/Region/Framework/Interfaces/IUrlModule.cs b/OpenSim/Region/Framework/Interfaces/IUrlModule.cs index 457444c..79e9f9d 100644 --- a/OpenSim/Region/Framework/Interfaces/IUrlModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IUrlModule.cs | |||
@@ -39,6 +39,8 @@ namespace OpenSim.Region.Framework.Interfaces | |||
39 | UUID RequestSecureURL(IScriptModule engine, SceneObjectPart host, UUID itemID); | 39 | UUID RequestSecureURL(IScriptModule engine, SceneObjectPart host, UUID itemID); |
40 | void ReleaseURL(string url); | 40 | void ReleaseURL(string url); |
41 | void HttpResponse(UUID request, int status, string body); | 41 | void HttpResponse(UUID request, int status, string body); |
42 | void HttpContentType(UUID request, string type); | ||
43 | |||
42 | string GetHttpHeader(UUID request, string header); | 44 | string GetHttpHeader(UUID request, string header); |
43 | int GetFreeUrls(); | 45 | int GetFreeUrls(); |
44 | 46 | ||
diff --git a/OpenSim/Region/Framework/Interfaces/IUserManagement.cs b/OpenSim/Region/Framework/Interfaces/IUserManagement.cs index 24cd069..f8088c3 100644 --- a/OpenSim/Region/Framework/Interfaces/IUserManagement.cs +++ b/OpenSim/Region/Framework/Interfaces/IUserManagement.cs | |||
@@ -1,4 +1,31 @@ | |||
1 | using System; | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
2 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
3 | 30 | ||
4 | using OpenMetaverse; | 31 | using OpenMetaverse; |
diff --git a/OpenSim/Region/Framework/Interfaces/IWindModule.cs b/OpenSim/Region/Framework/Interfaces/IWindModule.cs index 10ecc32..4a26a71 100644 --- a/OpenSim/Region/Framework/Interfaces/IWindModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IWindModule.cs | |||
@@ -29,7 +29,7 @@ using OpenMetaverse; | |||
29 | 29 | ||
30 | namespace OpenSim.Region.Framework.Interfaces | 30 | namespace OpenSim.Region.Framework.Interfaces |
31 | { | 31 | { |
32 | public interface IWindModule : IRegionModule | 32 | public interface IWindModule : INonSharedRegionModule |
33 | { | 33 | { |
34 | 34 | ||
35 | /// <summary> | 35 | /// <summary> |
diff --git a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs index e8e375e..20e0199 100644 --- a/OpenSim/Region/Framework/Interfaces/IWorldComm.cs +++ b/OpenSim/Region/Framework/Interfaces/IWorldComm.cs | |||
@@ -45,6 +45,13 @@ namespace OpenSim.Region.Framework.Interfaces | |||
45 | void Deactivate(); | 45 | void Deactivate(); |
46 | void Activate(); | 46 | void Activate(); |
47 | UUID GetID(); | 47 | UUID GetID(); |
48 | |||
49 | /// <summary> | ||
50 | /// Bitfield indicating which strings should be processed as regex. | ||
51 | /// 1 corresponds to IWorldCommListenerInfo::GetName() | ||
52 | /// 2 corresponds to IWorldCommListenerInfo::GetMessage() | ||
53 | /// </summary> | ||
54 | int RegexBitfield { get; } | ||
48 | } | 55 | } |
49 | 56 | ||
50 | public interface IWorldComm | 57 | public interface IWorldComm |
@@ -60,7 +67,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
60 | /// the script during 'peek' time. Parameter hostID is needed to | 67 | /// the script during 'peek' time. Parameter hostID is needed to |
61 | /// determine the position of the script. | 68 | /// determine the position of the script. |
62 | /// </summary> | 69 | /// </summary> |
63 | /// <param name="localID">localID of the script engine</param> | 70 | /// <param name="LocalID">localID of the script engine</param> |
64 | /// <param name="itemID">UUID of the script engine</param> | 71 | /// <param name="itemID">UUID of the script engine</param> |
65 | /// <param name="hostID">UUID of the SceneObjectPart</param> | 72 | /// <param name="hostID">UUID of the SceneObjectPart</param> |
66 | /// <param name="channel">channel to listen on</param> | 73 | /// <param name="channel">channel to listen on</param> |
@@ -70,6 +77,23 @@ namespace OpenSim.Region.Framework.Interfaces | |||
70 | /// <returns>number of the scripts handle</returns> | 77 | /// <returns>number of the scripts handle</returns> |
71 | int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg); | 78 | int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg); |
72 | 79 | ||
80 | /// <summary> | ||
81 | /// Create a listen event callback with the specified filters. | ||
82 | /// The parameters localID,itemID are needed to uniquely identify | ||
83 | /// the script during 'peek' time. Parameter hostID is needed to | ||
84 | /// determine the position of the script. | ||
85 | /// </summary> | ||
86 | /// <param name="LocalID">localID of the script engine</param> | ||
87 | /// <param name="itemID">UUID of the script engine</param> | ||
88 | /// <param name="hostID">UUID of the SceneObjectPart</param> | ||
89 | /// <param name="channel">channel to listen on</param> | ||
90 | /// <param name="name">name to filter on</param> | ||
91 | /// <param name="id">key to filter on (user given, could be totally faked)</param> | ||
92 | /// <param name="msg">msg to filter on</param> | ||
93 | /// <param name="regexBitfield">Bitfield indicating which strings should be processed as regex.</param> | ||
94 | /// <returns>number of the scripts handle</returns> | ||
95 | int Listen(uint LocalID, UUID itemID, UUID hostID, int channel, string name, UUID id, string msg, int regexBitfield); | ||
96 | |||
73 | /// <summary> | 97 | /// <summary> |
74 | /// This method scans over the objects which registered an interest in listen callbacks. | 98 | /// This method scans over the objects which registered an interest in listen callbacks. |
75 | /// For everyone it finds, it checks if it fits the given filter. If it does, then | 99 | /// For everyone it finds, it checks if it fits the given filter. If it does, then |