aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces')
-rw-r--r--OpenSim/Region/Framework/Interfaces/IEstateDataService.cs64
-rw-r--r--OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs68
-rw-r--r--OpenSim/Region/Framework/Interfaces/ILandChannel.cs91
-rw-r--r--OpenSim/Region/Framework/Interfaces/ILandObject.cs112
-rw-r--r--OpenSim/Region/Framework/Interfaces/IPrimCountModule.cs16
5 files changed, 131 insertions, 220 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
index 95c9659..7066cf2 100644
--- a/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
+++ b/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
@@ -34,12 +34,74 @@ namespace OpenSim.Region.Framework.Interfaces
34{ 34{
35 public interface IEstateDataService 35 public interface IEstateDataService
36 { 36 {
37 /// <summary>
38 /// Load estate settings for a region.
39 /// </summary>
40 /// <param name="regionID"></param>
41 /// <param name="create">If true, then an estate is created if one is not found.</param>
42 /// <returns></returns>
37 EstateSettings LoadEstateSettings(UUID regionID, bool create); 43 EstateSettings LoadEstateSettings(UUID regionID, bool create);
44
45 /// <summary>
46 /// Load estate settings for an estate ID.
47 /// </summary>
48 /// <param name="estateID"></param>
49 /// <returns></returns>
38 EstateSettings LoadEstateSettings(int estateID); 50 EstateSettings LoadEstateSettings(int estateID);
51
52 /// <summary>
53 /// Load/Get all estate settings.
54 /// </summary>
55 /// <returns>An empty list if no estates were found.</returns>
56 List<EstateSettings> LoadEstateSettingsAll();
57
58 /// <summary>
59 /// Store estate settings.
60 /// </summary>
61 /// <remarks>
62 /// This is also called by EstateSettings.Save()</remarks>
63 /// <param name="es"></param>
39 void StoreEstateSettings(EstateSettings es); 64 void StoreEstateSettings(EstateSettings es);
65
66 /// <summary>
67 /// Get estate IDs.
68 /// </summary>
69 /// <param name="search">Name of estate to search for. This is the exact name, no parttern matching is done.</param>
70 /// <returns></returns>
40 List<int> GetEstates(string search); 71 List<int> GetEstates(string search);
72
73 /// <summary>
74 /// Get the IDs of all estates owned by the given user.
75 /// </summary>
76 /// <returns>An empty list if no estates were found.</returns>
77 List<int> GetEstatesByOwner(UUID ownerID);
78
79 /// <summary>
80 /// Get the IDs of all estates.
81 /// </summary>
82 /// <returns>An empty list if no estates were found.</returns>
83 List<int> GetEstatesAll();
84
85 /// <summary>
86 /// Link a region to an estate.
87 /// </summary>
88 /// <param name="regionID"></param>
89 /// <param name="estateID"></param>
90 /// <returns>true if the link succeeded, false otherwise</returns>
41 bool LinkRegion(UUID regionID, int estateID); 91 bool LinkRegion(UUID regionID, int estateID);
92
93 /// <summary>
94 /// Get the UUIDs of all the regions in an estate.
95 /// </summary>
96 /// <param name="estateID"></param>
97 /// <returns></returns>
42 List<UUID> GetRegions(int estateID); 98 List<UUID> GetRegions(int estateID);
99
100 /// <summary>
101 /// Delete an estate
102 /// </summary>
103 /// <param name="estateID"></param>
104 /// <returns>true if the delete succeeded, false otherwise</returns>
43 bool DeleteEstate(int estateID); 105 bool DeleteEstate(int estateID);
44 } 106 }
45} 107} \ No newline at end of file
diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
index 87c7a05..d790a30 100644
--- a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
+++ b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
@@ -33,14 +33,80 @@ namespace OpenSim.Region.Framework.Interfaces
33{ 33{
34 public interface IEstateDataStore 34 public interface IEstateDataStore
35 { 35 {
36 /// <summary>
37 /// Initialise the data store.
38 /// </summary>
39 /// <param name="connectstring"></param>
36 void Initialise(string connectstring); 40 void Initialise(string connectstring);
37 41
42 /// <summary>
43 /// Load estate settings for a region.
44 /// </summary>
45 /// <param name="regionID"></param>
46 /// <param name="create">If true, then an estate is created if one is not found.</param>
47 /// <returns></returns>
38 EstateSettings LoadEstateSettings(UUID regionID, bool create); 48 EstateSettings LoadEstateSettings(UUID regionID, bool create);
49
50 /// <summary>
51 /// Load estate settings for an estate ID.
52 /// </summary>
53 /// <param name="estateID"></param>
54 /// <returns></returns>
39 EstateSettings LoadEstateSettings(int estateID); 55 EstateSettings LoadEstateSettings(int estateID);
56
57 /// <summary>
58 /// Load/Get all estate settings.
59 /// </summary>
60 /// <returns>An empty list if no estates were found.</returns>
61 List<EstateSettings> LoadEstateSettingsAll();
62
63 /// <summary>
64 /// Store estate settings.
65 /// </summary>
66 /// <remarks>
67 /// This is also called by EstateSettings.Save()</remarks>
68 /// <param name="es"></param>
40 void StoreEstateSettings(EstateSettings es); 69 void StoreEstateSettings(EstateSettings es);
70
71 /// <summary>
72 /// Get estate IDs.
73 /// </summary>
74 /// <param name="search">Name of estate to search for. This is the exact name, no parttern matching is done.</param>
75 /// <returns></returns>
41 List<int> GetEstates(string search); 76 List<int> GetEstates(string search);
77
78 /// <summary>
79 /// Get the IDs of all estates owned by the given user.
80 /// </summary>
81 /// <returns>An empty list if no estates were found.</returns>
82 List<int> GetEstatesByOwner(UUID ownerID);
83
84 /// <summary>
85 /// Get the IDs of all estates.
86 /// </summary>
87 /// <returns>An empty list if no estates were found.</returns>
88 List<int> GetEstatesAll();
89
90 /// <summary>
91 /// Link a region to an estate.
92 /// </summary>
93 /// <param name="regionID"></param>
94 /// <param name="estateID"></param>
95 /// <returns>true if the link succeeded, false otherwise</returns>
42 bool LinkRegion(UUID regionID, int estateID); 96 bool LinkRegion(UUID regionID, int estateID);
97
98 /// <summary>
99 /// Get the UUIDs of all the regions in an estate.
100 /// </summary>
101 /// <param name="estateID"></param>
102 /// <returns></returns>
43 List<UUID> GetRegions(int estateID); 103 List<UUID> GetRegions(int estateID);
104
105 /// <summary>
106 /// Delete an estate
107 /// </summary>
108 /// <param name="estateID"></param>
109 /// <returns>true if the delete succeeded, false otherwise</returns>
44 bool DeleteEstate(int estateID); 110 bool DeleteEstate(int estateID);
45 } 111 }
46} 112} \ No newline at end of file
diff --git a/OpenSim/Region/Framework/Interfaces/ILandChannel.cs b/OpenSim/Region/Framework/Interfaces/ILandChannel.cs
deleted file mode 100644
index 30bae16..0000000
--- a/OpenSim/Region/Framework/Interfaces/ILandChannel.cs
+++ /dev/null
@@ -1,91 +0,0 @@
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 System.Collections.Generic;
29using OpenMetaverse;
30using OpenSim.Framework;
31
32namespace OpenSim.Region.Framework.Interfaces
33{
34 public interface ILandChannel
35 {
36 /// <summary>
37 /// Get all parcels
38 /// </summary>
39 /// <returns></returns>
40 List<ILandObject> AllParcels();
41
42 /// <summary>
43 /// Get the parcel at the specified point
44 /// </summary>
45 /// <param name="x">Value between 0 - 256 on the x axis of the point</param>
46 /// <param name="y">Value between 0 - 256 on the y axis of the point</param>
47 /// <returns>Land object at the point supplied</returns>
48 ILandObject GetLandObject(int x, int y);
49
50 /// <summary>
51 /// Get the parcel at the specified point
52 /// </summary>
53 /// <param name="x">Value between 0 - 256 on the x axis of the point</param>
54 /// <param name="y">Value between 0 - 256 on the y axis of the point</param>
55 /// <returns>Land object at the point supplied</returns>
56 ILandObject GetLandObject(float x, float y);
57
58 /// <summary>
59 /// Get the parcels near the specified point
60 /// </summary>
61 /// <param name="position"></param>
62 /// <returns></returns>
63 List<ILandObject> ParcelsNearPoint(Vector3 position);
64
65 /// <summary>
66 /// Get the parcel given the land's local id.
67 /// </summary>
68 /// <param name="localID"></param>
69 /// <returns></returns>
70 ILandObject GetLandObject(int localID);
71
72 /// <summary>
73 /// Clear the land channel of all parcels.
74 /// </summary>
75 /// <param name="setupDefaultParcel">
76 /// If true, set up a default parcel covering the whole region owned by the estate owner.
77 /// </param>
78 void Clear(bool setupDefaultParcel);
79
80 bool IsLandPrimCountTainted();
81 bool IsForcefulBansAllowed();
82 void UpdateLandObject(int localID, LandData data);
83 void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient);
84 void setParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel);
85 void setSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel);
86 void SetParcelOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime);
87
88 void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id);
89 void Subdivide(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id);
90 }
91}
diff --git a/OpenSim/Region/Framework/Interfaces/ILandObject.cs b/OpenSim/Region/Framework/Interfaces/ILandObject.cs
deleted file mode 100644
index eeb9d3a..0000000
--- a/OpenSim/Region/Framework/Interfaces/ILandObject.cs
+++ /dev/null
@@ -1,112 +0,0 @@
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 System.Collections.Generic;
29using OpenMetaverse;
30using OpenSim.Framework;
31using OpenSim.Region.Framework.Scenes;
32
33namespace OpenSim.Region.Framework.Interfaces
34{
35 public delegate int overrideParcelMaxPrimCountDelegate(ILandObject obj);
36 public delegate int overrideSimulatorMaxPrimCountDelegate(ILandObject obj);
37
38 public interface ILandObject
39 {
40 int GetParcelMaxPrimCount(ILandObject thisObject);
41 int GetSimulatorMaxPrimCount(ILandObject thisObject);
42 int GetPrimsFree();
43
44 LandData LandData { get; set; }
45 bool[,] LandBitmap { get; set; }
46 UUID RegionUUID { get; }
47
48 /// <summary>
49 /// The start point for the land object. This is the western-most point as one scans land working from
50 /// north to south.
51 /// </summary>
52 Vector3 StartPoint { get; }
53
54 /// <summary>
55 /// The end point for the land object. This is the eastern-most point as one scans land working from
56 /// south to north.
57 /// </summary>
58 Vector3 EndPoint { get; }
59
60 bool ContainsPoint(int x, int y);
61
62 ILandObject Copy();
63
64 void SendLandUpdateToAvatarsOverMe();
65
66 void SendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client);
67 void UpdateLandProperties(LandUpdateArgs args, IClientAPI remote_client);
68 bool IsEitherBannedOrRestricted(UUID avatar);
69 bool IsBannedFromLand(UUID avatar);
70 bool IsRestrictedFromLand(UUID avatar);
71 void SendLandUpdateToClient(IClientAPI remote_client);
72 void SendLandUpdateToClient(bool snap_selection, IClientAPI remote_client);
73 List<UUID> CreateAccessListArrayByFlag(AccessList flag);
74 void SendAccessList(UUID agentID, UUID sessionID, uint flags, int sequenceID, IClientAPI remote_client);
75 void UpdateAccessList(uint flags, UUID transactionID, int sequenceID, int sections, List<ParcelManager.ParcelAccessEntry> entries, IClientAPI remote_client);
76 void UpdateLandBitmapByteArray();
77 void SetLandBitmapFromByteArray();
78 bool[,] GetLandBitmap();
79 void ForceUpdateLandInfo();
80 void SetLandBitmap(bool[,] bitmap);
81
82 bool[,] BasicFullRegionLandBitmap();
83 bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y);
84 bool[,] ModifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value);
85 bool[,] MergeLandBitmaps(bool[,] bitmap_base, bool[,] bitmap_add);
86 void SendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client);
87 void SendLandObjectOwners(IClientAPI remote_client);
88 void ReturnObject(SceneObjectGroup obj);
89 void ReturnLandObjects(uint type, UUID[] owners, UUID[] tasks, IClientAPI remote_client);
90 void ResetLandPrimCounts();
91 void AddPrimToCount(SceneObjectGroup obj);
92 void RemovePrimFromCount(SceneObjectGroup obj);
93 void UpdateLandSold(UUID avatarID, UUID groupID, bool groupOwned, uint AuctionID, int claimprice, int area);
94
95 void DeedToGroup(UUID groupID);
96
97 void SetParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel);
98 void SetSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel);
99
100 /// <summary>
101 /// Set the media url for this land parcel
102 /// </summary>
103 /// <param name="url"></param>
104 void SetMediaUrl(string url);
105
106 /// <summary>
107 /// Set the music url for this land parcel
108 /// </summary>
109 /// <param name="url"></param>
110 void SetMusicUrl(string url);
111 }
112}
diff --git a/OpenSim/Region/Framework/Interfaces/IPrimCountModule.cs b/OpenSim/Region/Framework/Interfaces/IPrimCountModule.cs
index 65158e1..d63da2e 100644
--- a/OpenSim/Region/Framework/Interfaces/IPrimCountModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IPrimCountModule.cs
@@ -38,18 +38,4 @@ namespace OpenSim.Region.Framework.Interfaces
38 38
39 IPrimCounts GetPrimCounts(UUID parcelID); 39 IPrimCounts GetPrimCounts(UUID parcelID);
40 } 40 }
41 41} \ No newline at end of file
42 public interface IPrimCounts
43 {
44 int Owner { get; }
45 int Group { get; }
46 int Others { get; }
47 int Simulator { get; }
48 IUserPrimCounts Users { get; }
49 }
50
51 public interface IUserPrimCounts
52 {
53 int this[UUID agentID] { get; }
54 }
55}