From 1458fab82c4dab9901d81419e6b515f47ea7320f Mon Sep 17 00:00:00 2001
From: Kevin Houlihan
Date: Mon, 12 Sep 2011 23:08:16 +0100
Subject: Reattaching a region was failing if the estate name had not changed
(issue 5035).
Using the RemoteAdmin API to close then recreate a region would fail if the estate name had not changed. If the estate name /was/ changed then the existing estate would be renamed rather than a new one being created. The problem really arose from a lack of distinction in the data storage layer between creating new estates and loading existing ones.
---
OpenSim/Region/Framework/Interfaces/IEstateDataService.cs | 10 +++++++++-
OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs | 8 ++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework/Interfaces')
diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
index 7066cf2..35cc220 100644
--- a/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
+++ b/OpenSim/Region/Framework/Interfaces/IEstateDataService.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -48,6 +48,14 @@ namespace OpenSim.Region.Framework.Interfaces
///
///
EstateSettings LoadEstateSettings(int estateID);
+
+ ///
+ /// Create a new estate.
+ ///
+ ///
+ /// A
+ ///
+ EstateSettings CreateNewEstate();
///
/// Load/Get all estate settings.
diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
index d790a30..8febb13 100644
--- a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
+++ b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs
@@ -55,6 +55,14 @@ namespace OpenSim.Region.Framework.Interfaces
EstateSettings LoadEstateSettings(int estateID);
///
+ /// Create a new estate.
+ ///
+ ///
+ /// A
+ ///
+ EstateSettings CreateNewEstate();
+
+ ///
/// Load/Get all estate settings.
///
/// An empty list if no estates were found.
--
cgit v1.1
From 246443773ae52420092b483603d0e1daf9b87f00 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Sat, 1 Oct 2011 00:15:30 +0100
Subject: minor: remove clutter null check from pass in config to
AvatarFactoryModule.Initialize()
This is never null
---
OpenSim/Region/Framework/Interfaces/IRegionModule.cs | 9 +++++++++
1 file changed, 9 insertions(+)
(limited to 'OpenSim/Region/Framework/Interfaces')
diff --git a/OpenSim/Region/Framework/Interfaces/IRegionModule.cs b/OpenSim/Region/Framework/Interfaces/IRegionModule.cs
index e25a6e8..2bb0c75 100644
--- a/OpenSim/Region/Framework/Interfaces/IRegionModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IRegionModule.cs
@@ -35,7 +35,16 @@ namespace OpenSim.Region.Framework.Interfaces
///
public interface IRegionModule
{
+ ///
+ /// Initialize the module.
+ ///
+ ///
+ /// For a shared module this can be called multiple times - once per scene.
+ ///
+ ///
+ /// Configuration information. For a shared module this will be identical on every scene call
void Initialise(Scene scene, IConfigSource source);
+
void PostInitialise();
void Close();
string Name { get; }
--
cgit v1.1
From e77c919290e166f19e77f3ef040418dd39f2f5bd Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Mon, 3 Oct 2011 11:55:54 -0700
Subject: Remove usage of Linden packet types from inside Attachments Module
and interface
---
OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/Framework/Interfaces')
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index 5ffbec8..8d3366c 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -26,6 +26,7 @@
*/
using System;
+using System.Collections.Generic;
using OpenMetaverse;
using OpenMetaverse.Packets;
using OpenSim.Framework;
@@ -104,8 +105,7 @@ namespace OpenSim.Region.Framework.Interfaces
///
void RezMultipleAttachmentsFromInventory(
IClientAPI remoteClient,
- RezMultipleAttachmentsFromInvPacket.HeaderDataBlock header,
- RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] objects);
+ List> rezlist);
///
/// Detach an object from the avatar.
--
cgit v1.1
From 460946ad62b682c7a942751f192ca9e96b662f0e Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Mon, 3 Oct 2011 16:44:32 -0700
Subject: Removed redundant code in AttachmentsModule and simplified interfaces
which converted back and forth between ScenePresence and IClientAPI. More to
be done still.
---
.../Framework/Interfaces/IAttachmentsModule.cs | 35 ++++------------------
1 file changed, 6 insertions(+), 29 deletions(-)
(limited to 'OpenSim/Region/Framework/Interfaces')
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index 8d3366c..1a0423f 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -58,17 +58,6 @@ namespace OpenSim.Region.Framework.Interfaces
void DeleteAttachmentsFromScene(IScenePresence sp, bool silent);
///
- /// Attach an object to an avatar from the world.
- ///
- ///
- ///
- ///
- ///
- ///
- void AttachObject(
- IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent);
-
- ///
/// Attach an object to an avatar
///
///
@@ -76,17 +65,7 @@ namespace OpenSim.Region.Framework.Interfaces
///
///
/// true if the object was successfully attached, false otherwise
- bool AttachObject(
- IClientAPI remoteClient, SceneObjectGroup grp, uint AttachmentPt, bool silent);
-
- ///
- /// Rez an attachment from user inventory and change inventory status to match.
- ///
- ///
- ///
- ///
- /// The scene object that was attached. Null if the scene object could not be found
- ISceneEntity RezSingleAttachmentFromInventory(IClientAPI remoteClient, UUID itemID, uint AttachmentPt);
+ bool AttachObject(IScenePresence sp, SceneObjectGroup grp, uint AttachmentPt, bool silent);
///
/// Rez an attachment from user inventory and change inventory status to match.
@@ -95,17 +74,15 @@ namespace OpenSim.Region.Framework.Interfaces
///
///
/// The scene object that was attached. Null if the scene object could not be found
- ISceneEntity RezSingleAttachmentFromInventory(ScenePresence sp, UUID itemID, uint AttachmentPt);
+ ISceneEntity RezSingleAttachmentFromInventory(IScenePresence sp, UUID itemID, uint AttachmentPt);
///
/// Rez multiple attachments from a user's inventory
///
- ///
+ ///
///
///
- void RezMultipleAttachmentsFromInventory(
- IClientAPI remoteClient,
- List> rezlist);
+ void RezMultipleAttachmentsFromInventory(IScenePresence sp,List> rezlist);
///
/// Detach an object from the avatar.
@@ -121,9 +98,9 @@ namespace OpenSim.Region.Framework.Interfaces
///
/// Detach the given item to the ground.
///
+ ///
///
- ///
- void DetachSingleAttachmentToGround(uint objectLocalID, IClientAPI remoteClient);
+ void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID);
///
/// Detach the given item so that it remains in the user's inventory.
--
cgit v1.1
From 92c88121c72386f85472c6cf4891eca8b62b9867 Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Tue, 4 Oct 2011 14:40:39 -0700
Subject: Removed all refs to IClientAPI from IAttachmentsModule. Separated
client handlers for attachments to call public interface and rearranged
module file into sections
---
.../Framework/Interfaces/IAttachmentsModule.cs | 31 +++++++---------------
1 file changed, 9 insertions(+), 22 deletions(-)
(limited to 'OpenSim/Region/Framework/Interfaces')
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
index 1a0423f..e668dae 100644
--- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
@@ -28,7 +28,6 @@
using System;
using System.Collections.Generic;
using OpenMetaverse;
-using OpenMetaverse.Packets;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
@@ -40,6 +39,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// RezAttachments. This should only be called upon login on the first region.
/// Attachment rezzings on crossings and TPs are done in a different way.
///
+ ///
void RezAttachments(IScenePresence sp);
///
@@ -50,17 +50,16 @@ namespace OpenSim.Region.Framework.Interfaces
///
/// Delete all the presence's attachments from the scene
- ///
- ///
/// This is done when a root agent leaves/is demoted to child (for instance, on logout, teleport or region cross).
- ///
+ ///
+ ///
///
void DeleteAttachmentsFromScene(IScenePresence sp, bool silent);
///
/// Attach an object to an avatar
///
- ///
+ ///
///
///
///
@@ -80,34 +79,22 @@ namespace OpenSim.Region.Framework.Interfaces
/// Rez multiple attachments from a user's inventory
///
///
- ///
- ///
+ ///
void RezMultipleAttachmentsFromInventory(IScenePresence sp,List> rezlist);
-
- ///
- /// Detach an object from the avatar.
- ///
- ///
- /// This method is called in response to a client's detach request, so we only update the information in
- /// inventory
- ///
- ///
- ///
- void DetachObject(uint objectLocalID, IClientAPI remoteClient);
///
/// Detach the given item to the ground.
///
- ///
+ ///
///
void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID);
///
/// Detach the given item so that it remains in the user's inventory.
///
- /// /param>
- ///
- void DetachSingleAttachmentToInv(UUID itemID, IClientAPI remoteClient);
+ /// /param>
+ ///
+ void DetachSingleAttachmentToInv(IScenePresence sp, UUID itemID);
///
/// Update the position of an attachment.
--
cgit v1.1