diff options
author | Justin Clarke Casey | 2008-02-12 22:41:57 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-02-12 22:41:57 +0000 |
commit | 2018cf312bd51350f1f71a8ff1c710d0085a6358 (patch) | |
tree | 1ebc025710d1a7644f67e1192e42a5277eeb5b43 | |
parent | * Add missing locking to mysql inventory plugin (diff) | |
download | opensim-SC-2018cf312bd51350f1f71a8ff1c710d0085a6358.zip opensim-SC-2018cf312bd51350f1f71a8ff1c710d0085a6358.tar.gz opensim-SC-2018cf312bd51350f1f71a8ff1c710d0085a6358.tar.bz2 opensim-SC-2018cf312bd51350f1f71a8ff1c710d0085a6358.tar.xz |
Refactor: factor a method out of AgentAssetTransactionsManager
-rw-r--r-- | OpenSim/Framework/Communications/Cache/AgentAssetTransactionsManager.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 35 |
2 files changed, 29 insertions, 21 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AgentAssetTransactionsManager.cs b/OpenSim/Framework/Communications/Cache/AgentAssetTransactionsManager.cs index 70471cc..c9c35d2 100644 --- a/OpenSim/Framework/Communications/Cache/AgentAssetTransactionsManager.cs +++ b/OpenSim/Framework/Communications/Cache/AgentAssetTransactionsManager.cs | |||
@@ -81,28 +81,17 @@ namespace OpenSim.Framework.Communications.Cache | |||
81 | /// Get the collection of asset transactions for the given user. | 81 | /// Get the collection of asset transactions for the given user. |
82 | /// </summary> | 82 | /// </summary> |
83 | /// <param name="userID"></param> | 83 | /// <param name="userID"></param> |
84 | /// <returns></returns> | 84 | /// <returns>null if this agent does not have an asset transactions collection</returns> |
85 | public AgentAssetTransactions GetUserTransactions(LLUUID userID) | 85 | public AgentAssetTransactions GetUserTransactions(LLUUID userID) |
86 | { | 86 | { |
87 | if (AgentTransactions.ContainsKey(userID)) | 87 | if (AgentTransactions.ContainsKey(userID)) |
88 | { | 88 | { |
89 | return AgentTransactions[userID]; | 89 | return AgentTransactions[userID]; |
90 | } | 90 | } |
91 | |||
91 | return null; | 92 | return null; |
92 | } | 93 | } |
93 | 94 | ||
94 | public void HandleInventoryFromTransaction(IClientAPI remoteClient, LLUUID transactionID, LLUUID folderID, | ||
95 | uint callbackID, string description, string name, sbyte invType, | ||
96 | sbyte type, byte wearableType, uint nextOwnerMask) | ||
97 | { | ||
98 | AgentAssetTransactions transactions = GetUserTransactions(remoteClient.AgentId); | ||
99 | if (transactions != null) | ||
100 | { | ||
101 | transactions.RequestCreateInventoryItem(remoteClient, transactionID, folderID, callbackID, description, | ||
102 | name, invType, type, wearableType, nextOwnerMask); | ||
103 | } | ||
104 | } | ||
105 | |||
106 | public void HandleUDPUploadRequest(IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, | 95 | public void HandleUDPUploadRequest(IClientAPI remoteClient, LLUUID assetID, LLUUID transaction, sbyte type, |
107 | byte[] data, bool storeLocal, bool tempFile) | 96 | byte[] data, bool storeLocal, bool tempFile) |
108 | { | 97 | { |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 953dce7..0dc3139 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -449,7 +449,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
449 | /// Create a new inventory item. | 449 | /// Create a new inventory item. |
450 | /// </summary> | 450 | /// </summary> |
451 | /// <param name="remoteClient"></param> | 451 | /// <param name="remoteClient"></param> |
452 | /// <param name="transActionID"></param> | 452 | /// <param name="transactionID"></param> |
453 | /// <param name="folderID"></param> | 453 | /// <param name="folderID"></param> |
454 | /// <param name="callbackID"></param> | 454 | /// <param name="callbackID"></param> |
455 | /// <param name="description"></param> | 455 | /// <param name="description"></param> |
@@ -458,14 +458,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
458 | /// <param name="type"></param> | 458 | /// <param name="type"></param> |
459 | /// <param name="wearableType"></param> | 459 | /// <param name="wearableType"></param> |
460 | /// <param name="nextOwnerMask"></param> | 460 | /// <param name="nextOwnerMask"></param> |
461 | public void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID transActionID, LLUUID folderID, | 461 | public void CreateNewInventoryItem(IClientAPI remoteClient, LLUUID transactionID, LLUUID folderID, |
462 | uint callbackID, string description, string name, sbyte invType, | 462 | uint callbackID, string description, string name, sbyte invType, |
463 | sbyte assetType, | 463 | sbyte assetType, |
464 | byte wearableType, uint nextOwnerMask) | 464 | byte wearableType, uint nextOwnerMask) |
465 | { | 465 | { |
466 | if (transActionID == LLUUID.Zero) | 466 | if (transactionID == LLUUID.Zero) |
467 | { | 467 | { |
468 | CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); | 468 | CachedUserInfo userInfo |
469 | = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); | ||
470 | |||
469 | if (userInfo != null) | 471 | if (userInfo != null) |
470 | { | 472 | { |
471 | AssetBase asset = CreateAsset(name, description, invType, assetType, null); | 473 | AssetBase asset = CreateAsset(name, description, invType, assetType, null); |
@@ -473,13 +475,30 @@ namespace OpenSim.Region.Environment.Scenes | |||
473 | 475 | ||
474 | CreateNewInventoryItem(remoteClient, folderID, callbackID, asset, nextOwnerMask); | 476 | CreateNewInventoryItem(remoteClient, folderID, callbackID, asset, nextOwnerMask); |
475 | } | 477 | } |
478 | else | ||
479 | { | ||
480 | m_log.ErrorFormat( | ||
481 | "userInfo for agent uuid {0} unexpectedly null in CreateNewInventoryItem", | ||
482 | remoteClient.AgentId); | ||
483 | } | ||
476 | } | 484 | } |
477 | else | 485 | else |
478 | { | 486 | { |
479 | CommsManager.TransactionsManager.HandleInventoryFromTransaction(remoteClient, transActionID, folderID, | 487 | AgentAssetTransactions transactions |
480 | callbackID, description, name, invType, | 488 | = CommsManager.TransactionsManager.GetUserTransactions(remoteClient.AgentId); |
481 | assetType, wearableType, nextOwnerMask); | 489 | |
482 | //System.Console.WriteLine("request to create inventory item from transaction " + transActionID); | 490 | if (transactions != null) |
491 | { | ||
492 | transactions.RequestCreateInventoryItem( | ||
493 | remoteClient, transactionID, folderID, callbackID, description, | ||
494 | name, invType, assetType, wearableType, nextOwnerMask); | ||
495 | } | ||
496 | else | ||
497 | { | ||
498 | m_log.ErrorFormat( | ||
499 | "Agent asset transactions for agent {0} uuid {1} in transaction uuid {2} unexpectedly null!", | ||
500 | remoteClient.Name, remoteClient.AgentId, transactionID); | ||
501 | } | ||
483 | } | 502 | } |
484 | } | 503 | } |
485 | 504 | ||