diff options
Diffstat (limited to 'OpenSim/Region')
5 files changed, 38 insertions, 30 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index 4ee90e2..f73a7e3 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs | |||
@@ -199,6 +199,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
199 | InventoryFolderImpl inventoryFolder = null; | 199 | InventoryFolderImpl inventoryFolder = null; |
200 | InventoryItemBase inventoryItem = null; | 200 | InventoryItemBase inventoryItem = null; |
201 | 201 | ||
202 | /* | ||
202 | if (!m_userInfo.HasReceivedInventory) | 203 | if (!m_userInfo.HasReceivedInventory) |
203 | { | 204 | { |
204 | // If the region server has access to the user admin service (by which users are created), | 205 | // If the region server has access to the user admin service (by which users are created), |
@@ -220,13 +221,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
220 | m_userInfo.FetchInventory(); | 221 | m_userInfo.FetchInventory(); |
221 | } | 222 | } |
222 | } | 223 | } |
224 | */ | ||
223 | 225 | ||
224 | bool foundStar = false; | 226 | bool foundStar = false; |
225 | 227 | ||
226 | // Eliminate double slashes and any leading / on the path. This might be better done within InventoryFolderImpl | 228 | // Eliminate double slashes and any leading / on the path. This might be better done within InventoryFolderImpl |
227 | // itself (possibly at a small loss in efficiency). | 229 | // itself (possibly at a small loss in efficiency). |
228 | string[] components | 230 | string[] components |
229 | = m_invPath.Split(new string[] { InventoryFolderImpl.PATH_DELIMITER }, StringSplitOptions.RemoveEmptyEntries); | 231 | = m_invPath.Split( |
232 | new string[] { InventoryFolderImpl.PATH_DELIMITER }, StringSplitOptions.RemoveEmptyEntries); | ||
230 | 233 | ||
231 | int maxComponentIndex = components.Length - 1; | 234 | int maxComponentIndex = components.Length - 1; |
232 | 235 | ||
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs index d3ba5fe..c495e02 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs | |||
@@ -64,6 +64,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
64 | /// </value> | 64 | /// </value> |
65 | private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); | 65 | private Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>(); |
66 | private Scene m_aScene; | 66 | private Scene m_aScene; |
67 | |||
67 | /// <value> | 68 | /// <value> |
68 | /// The comms manager we will use for all comms requests | 69 | /// The comms manager we will use for all comms requests |
69 | /// </value> | 70 | /// </value> |
@@ -110,8 +111,30 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
110 | InventoryArchiveSaved handlerInventoryArchiveSaved = OnInventoryArchiveSaved; | 111 | InventoryArchiveSaved handlerInventoryArchiveSaved = OnInventoryArchiveSaved; |
111 | if (handlerInventoryArchiveSaved != null) | 112 | if (handlerInventoryArchiveSaved != null) |
112 | handlerInventoryArchiveSaved(succeeded, userInfo, invPath, saveStream, reportedException); | 113 | handlerInventoryArchiveSaved(succeeded, userInfo, invPath, saveStream, reportedException); |
114 | } | ||
115 | |||
116 | public void ArchiveInventory(string firstName, string lastName, string invPath, Stream saveStream) | ||
117 | { | ||
118 | if (m_scenes.Count > 0) | ||
119 | { | ||
120 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
121 | |||
122 | if (userInfo != null) | ||
123 | new InventoryArchiveWriteRequest(this, userInfo, invPath, saveStream).Execute(); | ||
124 | } | ||
125 | } | ||
126 | |||
127 | public void ArchiveInventory(string firstName, string lastName, string invPath, string savePath) | ||
128 | { | ||
129 | if (m_scenes.Count > 0) | ||
130 | { | ||
131 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
132 | |||
133 | if (userInfo != null) | ||
134 | new InventoryArchiveWriteRequest(this, userInfo, invPath, savePath).Execute(); | ||
135 | } | ||
113 | } | 136 | } |
114 | 137 | ||
115 | public void DearchiveInventory(string firstName, string lastName, string invPath, Stream loadStream) | 138 | public void DearchiveInventory(string firstName, string lastName, string invPath, Stream loadStream) |
116 | { | 139 | { |
117 | if (m_scenes.Count > 0) | 140 | if (m_scenes.Count > 0) |
@@ -125,18 +148,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
125 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); | 148 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); |
126 | } | 149 | } |
127 | } | 150 | } |
128 | } | 151 | } |
129 | |||
130 | public void ArchiveInventory(string firstName, string lastName, string invPath, Stream saveStream) | ||
131 | { | ||
132 | if (m_scenes.Count > 0) | ||
133 | { | ||
134 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
135 | |||
136 | if (userInfo != null) | ||
137 | new InventoryArchiveWriteRequest(this, userInfo, invPath, saveStream).Execute(); | ||
138 | } | ||
139 | } | ||
140 | 152 | ||
141 | public void DearchiveInventory(string firstName, string lastName, string invPath, string loadPath) | 153 | public void DearchiveInventory(string firstName, string lastName, string invPath, string loadPath) |
142 | { | 154 | { |
@@ -151,18 +163,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver | |||
151 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); | 163 | UpdateClientWithLoadedNodes(userInfo, request.Execute()); |
152 | } | 164 | } |
153 | } | 165 | } |
154 | } | 166 | } |
155 | |||
156 | public void ArchiveInventory(string firstName, string lastName, string invPath, string savePath) | ||
157 | { | ||
158 | if (m_scenes.Count > 0) | ||
159 | { | ||
160 | CachedUserInfo userInfo = GetUserInfo(firstName, lastName); | ||
161 | |||
162 | if (userInfo != null) | ||
163 | new InventoryArchiveWriteRequest(this, userInfo, invPath, savePath).Execute(); | ||
164 | } | ||
165 | } | ||
166 | 167 | ||
167 | /// <summary> | 168 | /// <summary> |
168 | /// Load inventory from an inventory file archive | 169 | /// Load inventory from an inventory file archive |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs index 621e9d2..7b4e374 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | |||
@@ -272,7 +272,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
272 | 272 | ||
273 | if (asset != null) | 273 | if (asset != null) |
274 | { | 274 | { |
275 | handler.BeginInvoke(id, sender, asset, null, null); | 275 | Util.FireAndForget(delegate { handler(id, sender, asset); }); |
276 | return true; | 276 | return true; |
277 | } | 277 | } |
278 | 278 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs index b13a116..fd3aaf4 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs | |||
@@ -211,7 +211,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
211 | 211 | ||
212 | if (asset != null) | 212 | if (asset != null) |
213 | { | 213 | { |
214 | handler.BeginInvoke(id, sender, asset, null, null); | 214 | Util.FireAndForget(delegate { handler(id, sender, asset); }); |
215 | return true; | 215 | return true; |
216 | } | 216 | } |
217 | 217 | ||
@@ -219,8 +219,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
219 | { | 219 | { |
220 | if ((a != null) && (m_Cache != null)) | 220 | if ((a != null) && (m_Cache != null)) |
221 | m_Cache.Cache(a); | 221 | m_Cache.Cache(a); |
222 | 222 | ||
223 | handler.BeginInvoke(assetID, s, a, null, null); | 223 | Util.FireAndForget(delegate { handler(assetID, s, a); }); |
224 | }); | 224 | }); |
225 | } | 225 | } |
226 | 226 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 55b100b..fddba86 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -457,6 +457,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
457 | 457 | ||
458 | void SendInventoryComplete(IAsyncResult iar) | 458 | void SendInventoryComplete(IAsyncResult iar) |
459 | { | 459 | { |
460 | SendInventoryDelegate d = (SendInventoryDelegate)iar.AsyncState; | ||
461 | d.EndInvoke(iar); | ||
460 | } | 462 | } |
461 | 463 | ||
462 | /// <summary> | 464 | /// <summary> |
@@ -622,6 +624,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
622 | 624 | ||
623 | private void PurgeFolderCompleted(IAsyncResult iar) | 625 | private void PurgeFolderCompleted(IAsyncResult iar) |
624 | { | 626 | { |
627 | PurgeFolderDelegate d = (PurgeFolderDelegate)iar.AsyncState; | ||
628 | d.EndInvoke(iar); | ||
625 | } | 629 | } |
626 | } | 630 | } |
627 | } | 631 | } |