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