aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs5
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs51
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs2
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs4
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}