aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs24
-rw-r--r--OpenSim/Region/Framework/Interfaces/IPermissionsModule.cs54
-rw-r--r--OpenSim/Region/Framework/Interfaces/IScenePresence.cs8
-rw-r--r--OpenSim/Region/Framework/Interfaces/ISceneViewer.cs13
-rw-r--r--OpenSim/Region/Framework/Interfaces/IScriptModule.cs5
5 files changed, 86 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index 59c26e7..d1b7dc1 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -89,18 +89,13 @@ namespace OpenSim.Region.Framework.Interfaces
89 ISceneEntity RezSingleAttachmentFromInventory(IClientAPI remoteClient, UUID itemID, uint AttachmentPt); 89 ISceneEntity RezSingleAttachmentFromInventory(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
90 90
91 /// <summary> 91 /// <summary>
92 /// Rez an attachment from user inventory 92 /// Rez an attachment from user inventory and change inventory status to match.
93 /// </summary> 93 /// </summary>
94 /// <param name="remoteClient"></param> 94 /// <param name="sp"></param>
95 /// <param name="itemID"></param> 95 /// <param name="itemID"></param>
96 /// <param name="AttachmentPt"></param> 96 /// <param name="AttachmentPt"></param>
97 /// <param name="updateinventoryStatus"> 97 /// <returns>The scene object that was attached. Null if the scene object could not be found</returns>
98 /// If true, we also update the user's inventory to show that the attachment is set. If false, we do not. 98 ISceneEntity RezSingleAttachmentFromInventory(ScenePresence sp, UUID itemID, uint AttachmentPt);
99 /// False is required so that we don't attempt to update information when a user enters a scene with the
100 /// attachment already correctly set up in inventory.
101 /// <returns>The uuid of the scene object that was attached. Null if the scene object could not be found</returns>
102 ISceneEntity RezSingleAttachmentFromInventory(
103 IClientAPI remoteClient, UUID itemID, uint AttachmentPt, bool updateInventoryStatus);
104 99
105 // Same as above, but also load script states from a separate doc 100 // Same as above, but also load script states from a separate doc
106 ISceneEntity RezSingleAttachmentFromInventory( 101 ISceneEntity RezSingleAttachmentFromInventory(
@@ -146,13 +141,10 @@ namespace OpenSim.Region.Framework.Interfaces
146 /// </param> 141 /// </param>
147 void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient); 142 void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient);
148 143
149 /// <summary> 144 /// Update the position of an attachment.
150 /// Update the user inventory with a changed attachment
151 /// </summary> 145 /// </summary>
152 /// <param name="remoteClient"></param> 146 /// <param name="sog"></param>
153 /// <param name="grp"></param> 147 /// <param name="pos"></param>
154 /// <param name="itemID"></param> 148 void UpdateAttachmentPosition(SceneObjectGroup sog, Vector3 pos);
155 /// <param name="agentID"></param>
156 void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID);
157 } 149 }
158} 150}
diff --git a/OpenSim/Region/Framework/Interfaces/IPermissionsModule.cs b/OpenSim/Region/Framework/Interfaces/IPermissionsModule.cs
new file mode 100644
index 0000000..1ed978b
--- /dev/null
+++ b/OpenSim/Region/Framework/Interfaces/IPermissionsModule.cs
@@ -0,0 +1,54 @@
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
28using OpenMetaverse;
29using OpenSim.Region.Framework.Scenes;
30
31namespace OpenSim.Region.Framework.Interfaces
32{
33 /// <value>
34 /// Which set of permissions a user has.
35 /// </value>
36 public enum PermissionClass
37 {
38 Owner,
39 Group,
40 Everyone
41 };
42
43 public interface IPermissionsModule
44 {
45
46 /// <summary>
47 /// Returns the type of permissions that the user has over an object.
48 /// </summary>
49 /// <param name="user">The user</param>
50 /// <param name="obj">The object</param>
51 /// <returns>The type of permissions the user has over the object</returns>
52 PermissionClass GetPermissionClass(UUID user, SceneObjectPart obj);
53 }
54}
diff --git a/OpenSim/Region/Framework/Interfaces/IScenePresence.cs b/OpenSim/Region/Framework/Interfaces/IScenePresence.cs
index 8913133..ff39283 100644
--- a/OpenSim/Region/Framework/Interfaces/IScenePresence.cs
+++ b/OpenSim/Region/Framework/Interfaces/IScenePresence.cs
@@ -61,6 +61,14 @@ namespace OpenSim.Region.Framework.Interfaces
61 AvatarAppearance Appearance { get; set; } 61 AvatarAppearance Appearance { get; set; }
62 62
63 /// <summary> 63 /// <summary>
64 /// The AttachmentsModule synchronizes on this to avoid race conditions between commands to add and remove attachments.
65 /// </summary>
66 /// <remarks>
67 /// All add and remove attachment operations must synchronize on this for the lifetime of their operations.
68 /// </remarks>
69 Object AttachmentsSyncLock { get; }
70
71 /// <summary>
64 /// The scene objects attached to this avatar. 72 /// The scene objects attached to this avatar.
65 /// </summary> 73 /// </summary>
66 /// <returns> 74 /// <returns>
diff --git a/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs b/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
index 2397f22..e715e70 100644
--- a/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
+++ b/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
@@ -30,12 +30,21 @@ using OpenSim.Region.Framework.Scenes;
30 30
31namespace OpenSim.Region.Framework.Interfaces 31namespace OpenSim.Region.Framework.Interfaces
32{ 32{
33 /// <summary>
34 /// Sends scheduled updates to it's associated ScenePresence.
35 /// </summary>
33 public interface ISceneViewer 36 public interface ISceneViewer
34 { 37 {
35 void Reset(); 38// void Reset();
36 void Close(); 39 void Close();
40
41 /// <summary>
42 /// Add the part to the queue of parts for which we need to send an update to the client
43 /// </summary>
44 /// <param name="part"></param>
37 void QueuePartForUpdate(SceneObjectPart part); 45 void QueuePartForUpdate(SceneObjectPart part);
46
38 void SendPrimUpdates(); 47 void SendPrimUpdates();
39 int GetPendingObjectsCount(); 48 int GetPendingObjectsCount();
40 } 49 }
41} 50} \ No newline at end of file
diff --git a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs
index 641e226..7dde586 100644
--- a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs
@@ -54,5 +54,10 @@ namespace OpenSim.Region.Framework.Interfaces
54 bool HasScript(UUID itemID, out bool running); 54 bool HasScript(UUID itemID, out bool running);
55 55
56 void SaveAllState(); 56 void SaveAllState();
57
58 /// <summary>
59 /// Starts the processing threads.
60 /// </summary>
61 void StartProcessing();
57 } 62 }
58} 63}