diff options
author | Homer Horwitz | 2008-09-24 21:12:21 +0000 |
---|---|---|
committer | Homer Horwitz | 2008-09-24 21:12:21 +0000 |
commit | fe9aea258ff4142e718b4916ccefeeedef229768 (patch) | |
tree | f60c40697833392b35788fbc5cd97a5014bb29b7 /OpenSim/Framework | |
parent | light the mysql region tests (diff) | |
download | opensim-SC-fe9aea258ff4142e718b4916ccefeeedef229768.zip opensim-SC-fe9aea258ff4142e718b4916ccefeeedef229768.tar.gz opensim-SC-fe9aea258ff4142e718b4916ccefeeedef229768.tar.bz2 opensim-SC-fe9aea258ff4142e718b4916ccefeeedef229768.tar.xz |
Add persistence of active gestures. This needs an UGAIM update to work.
Active gestures are sent as part of the login-response. Added
fetchActiveGestures to SQLite and MySQL; added an empty one for MSSQL and
NHibernate. Using the empty ones won't cause errors, but doesn't provide
persistence either, of course.
Diffstat (limited to 'OpenSim/Framework')
4 files changed, 41 insertions, 2 deletions
diff --git a/OpenSim/Framework/Communications/IInterServiceInventoryServices.cs b/OpenSim/Framework/Communications/IInterServiceInventoryServices.cs index 5900f4e..661eb91 100644 --- a/OpenSim/Framework/Communications/IInterServiceInventoryServices.cs +++ b/OpenSim/Framework/Communications/IInterServiceInventoryServices.cs | |||
@@ -49,5 +49,16 @@ namespace OpenSim.Framework.Communications | |||
49 | /// <returns>A flat list of the user's inventory folder tree, | 49 | /// <returns>A flat list of the user's inventory folder tree, |
50 | /// null if there is no inventory for this user</returns> | 50 | /// null if there is no inventory for this user</returns> |
51 | List<InventoryFolderBase> GetInventorySkeleton(UUID userId); | 51 | List<InventoryFolderBase> GetInventorySkeleton(UUID userId); |
52 | |||
53 | /// <summary> | ||
54 | /// Returns a list of all the active gestures in a user's inventory. | ||
55 | /// </summary> | ||
56 | /// <param name="userId"> | ||
57 | /// The <see cref="UUID"/> of the user | ||
58 | /// </param> | ||
59 | /// <returns> | ||
60 | /// A flat list of the gesture items. | ||
61 | /// </returns> | ||
62 | List<InventoryItemBase> GetActiveGestures(UUID userId); | ||
52 | } | 63 | } |
53 | } | 64 | } |
diff --git a/OpenSim/Framework/Communications/InventoryServiceBase.cs b/OpenSim/Framework/Communications/InventoryServiceBase.cs index e9dc3c4..d6392c4 100644 --- a/OpenSim/Framework/Communications/InventoryServiceBase.cs +++ b/OpenSim/Framework/Communications/InventoryServiceBase.cs | |||
@@ -148,6 +148,15 @@ namespace OpenSim.Framework.Communications | |||
148 | // See IInventoryServices | 148 | // See IInventoryServices |
149 | public abstract void RequestInventoryForUser(UUID userID, InventoryReceiptCallback callback); | 149 | public abstract void RequestInventoryForUser(UUID userID, InventoryReceiptCallback callback); |
150 | 150 | ||
151 | public List<InventoryItemBase> GetActiveGestures(UUID userId) | ||
152 | { | ||
153 | foreach (IInventoryDataPlugin plugin in m_plugins) | ||
154 | { | ||
155 | return plugin.fetchActiveGestures(userId); | ||
156 | } | ||
157 | return new List<InventoryItemBase>(); | ||
158 | } | ||
159 | |||
151 | #endregion | 160 | #endregion |
152 | 161 | ||
153 | #region Methods used by GridInventoryService | 162 | #region Methods used by GridInventoryService |
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs index 435852d4..db504f9 100644 --- a/OpenSim/Framework/Communications/LoginResponse.cs +++ b/OpenSim/Framework/Communications/LoginResponse.cs | |||
@@ -60,6 +60,7 @@ namespace OpenSim.Framework.Communications | |||
60 | private ArrayList inventoryLibraryOwner; | 60 | private ArrayList inventoryLibraryOwner; |
61 | private ArrayList inventoryLibRoot; | 61 | private ArrayList inventoryLibRoot; |
62 | private ArrayList inventoryLibrary; | 62 | private ArrayList inventoryLibrary; |
63 | private ArrayList activeGestures; | ||
63 | 64 | ||
64 | private UserInfo userProfile; | 65 | private UserInfo userProfile; |
65 | 66 | ||
@@ -124,6 +125,7 @@ namespace OpenSim.Framework.Communications | |||
124 | agentInventory = new ArrayList(); | 125 | agentInventory = new ArrayList(); |
125 | inventoryLibrary = new ArrayList(); | 126 | inventoryLibrary = new ArrayList(); |
126 | inventoryLibraryOwner = new ArrayList(); | 127 | inventoryLibraryOwner = new ArrayList(); |
128 | activeGestures = new ArrayList(); | ||
127 | 129 | ||
128 | xmlRpcResponse = new XmlRpcResponse(); | 130 | xmlRpcResponse = new XmlRpcResponse(); |
129 | // defaultXmlRpcResponse = new XmlRpcResponse(); | 131 | // defaultXmlRpcResponse = new XmlRpcResponse(); |
@@ -355,7 +357,7 @@ namespace OpenSim.Framework.Communications | |||
355 | responseData["inventory-skel-lib"] = inventoryLibrary; | 357 | responseData["inventory-skel-lib"] = inventoryLibrary; |
356 | responseData["inventory-root"] = inventoryRoot; | 358 | responseData["inventory-root"] = inventoryRoot; |
357 | responseData["inventory-lib-root"] = inventoryLibRoot; | 359 | responseData["inventory-lib-root"] = inventoryLibRoot; |
358 | responseData["gestures"] = new ArrayList(); // todo | 360 | responseData["gestures"] = activeGestures; |
359 | responseData["inventory-lib-owner"] = inventoryLibraryOwner; | 361 | responseData["inventory-lib-owner"] = inventoryLibraryOwner; |
360 | responseData["initial-outfit"] = initialOutfit; | 362 | responseData["initial-outfit"] = initialOutfit; |
361 | responseData["start_location"] = startLocation; | 363 | responseData["start_location"] = startLocation; |
@@ -452,7 +454,7 @@ namespace OpenSim.Framework.Communications | |||
452 | 454 | ||
453 | #endregion Inventory | 455 | #endregion Inventory |
454 | 456 | ||
455 | map["gestures"] = new LLSDArray(); // todo | 457 | map["gestures"] = ArrayListToLLSDArray(activeGestures); |
456 | 458 | ||
457 | map["initial-outfit"] = ArrayListToLLSDArray(initialOutfit); | 459 | map["initial-outfit"] = ArrayListToLLSDArray(initialOutfit); |
458 | map["start_location"] = LLSD.FromString(startLocation); | 460 | map["start_location"] = LLSD.FromString(startLocation); |
@@ -699,6 +701,12 @@ namespace OpenSim.Framework.Communications | |||
699 | set { inventoryLibRoot = value; } | 701 | set { inventoryLibRoot = value; } |
700 | } | 702 | } |
701 | 703 | ||
704 | public ArrayList ActiveGestures | ||
705 | { | ||
706 | get { return activeGestures; } | ||
707 | set { activeGestures = value; } | ||
708 | } | ||
709 | |||
702 | public string Home | 710 | public string Home |
703 | { | 711 | { |
704 | get { return home; } | 712 | get { return home; } |
diff --git a/OpenSim/Framework/IInventoryData.cs b/OpenSim/Framework/IInventoryData.cs index d5fa25d..e42e50d 100644 --- a/OpenSim/Framework/IInventoryData.cs +++ b/OpenSim/Framework/IInventoryData.cs | |||
@@ -131,6 +131,17 @@ namespace OpenSim.Framework | |||
131 | /// </summary> | 131 | /// </summary> |
132 | /// <param name="folder">The id of the folder</param> | 132 | /// <param name="folder">The id of the folder</param> |
133 | void deleteInventoryFolder(UUID folder); | 133 | void deleteInventoryFolder(UUID folder); |
134 | |||
135 | /// <summary> | ||
136 | /// Returns all activated gesture-items in the inventory of the specified avatar. | ||
137 | /// </summary> | ||
138 | /// <param name="avatarID"> | ||
139 | /// The <see cref="UUID"/> of the avatar | ||
140 | /// </param> | ||
141 | /// <returns> | ||
142 | /// The list of gestures (<see cref="InventoryItemBase"/>s) | ||
143 | /// </returns> | ||
144 | List<InventoryItemBase> fetchActiveGestures(UUID avatarID); | ||
134 | } | 145 | } |
135 | 146 | ||
136 | public class InventoryDataInitialiser : PluginInitialiserBase | 147 | public class InventoryDataInitialiser : PluginInitialiserBase |