diff options
Diffstat (limited to 'OpenSim/Framework/Communications/caches')
3 files changed, 235 insertions, 235 deletions
diff --git a/OpenSim/Framework/Communications/caches/CachedUserInfo.cs b/OpenSim/Framework/Communications/caches/CachedUserInfo.cs index 1c779e9..b8d8847 100644 --- a/OpenSim/Framework/Communications/caches/CachedUserInfo.cs +++ b/OpenSim/Framework/Communications/caches/CachedUserInfo.cs | |||
@@ -1,77 +1,77 @@ | |||
1 | using System; | 1 | using System; |
2 | using System.Collections.Generic; | 2 | using System.Collections.Generic; |
3 | using System.Text; | 3 | using System.Text; |
4 | using OpenSim.Framework.Data; | 4 | using OpenSim.Framework.Data; |
5 | using libsecondlife; | 5 | using libsecondlife; |
6 | 6 | ||
7 | namespace OpenSim.Framework.Communications.Caches | 7 | namespace OpenSim.Framework.Communications.Caches |
8 | { | 8 | { |
9 | public class CachedUserInfo | 9 | public class CachedUserInfo |
10 | { | 10 | { |
11 | public UserProfileData UserProfile; | 11 | public UserProfileData UserProfile; |
12 | //public Dictionary<LLUUID, InventoryFolder> Folders = new Dictionary<LLUUID, InventoryFolder>(); | 12 | //public Dictionary<LLUUID, InventoryFolder> Folders = new Dictionary<LLUUID, InventoryFolder>(); |
13 | public InventoryFolder RootFolder; | 13 | public InventoryFolder RootFolder; |
14 | 14 | ||
15 | public CachedUserInfo() | 15 | public CachedUserInfo() |
16 | { | 16 | { |
17 | 17 | ||
18 | } | 18 | } |
19 | 19 | ||
20 | /// <summary> | 20 | /// <summary> |
21 | /// | 21 | /// |
22 | /// </summary> | 22 | /// </summary> |
23 | /// <param name="userID"></param> | 23 | /// <param name="userID"></param> |
24 | /// <param name="folderInfo"></param> | 24 | /// <param name="folderInfo"></param> |
25 | public void FolderReceive(LLUUID userID, InventoryFolder folderInfo) | 25 | public void FolderReceive(LLUUID userID, InventoryFolder folderInfo) |
26 | { | 26 | { |
27 | if (userID == UserProfile.UUID) | 27 | if (userID == UserProfile.UUID) |
28 | { | 28 | { |
29 | if (this.RootFolder == null) | 29 | if (this.RootFolder == null) |
30 | { | 30 | { |
31 | if (folderInfo.parentID == LLUUID.Zero) | 31 | if (folderInfo.parentID == LLUUID.Zero) |
32 | { | 32 | { |
33 | this.RootFolder = folderInfo; | 33 | this.RootFolder = folderInfo; |
34 | } | 34 | } |
35 | } | 35 | } |
36 | else | 36 | else |
37 | { | 37 | { |
38 | if (this.RootFolder.folderID == folderInfo.parentID) | 38 | if (this.RootFolder.folderID == folderInfo.parentID) |
39 | { | 39 | { |
40 | this.RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo); | 40 | this.RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo); |
41 | } | 41 | } |
42 | else | 42 | else |
43 | { | 43 | { |
44 | InventoryFolder pFolder = this.RootFolder.HasSubFolder(folderInfo.parentID); | 44 | InventoryFolder pFolder = this.RootFolder.HasSubFolder(folderInfo.parentID); |
45 | if (pFolder != null) | 45 | if (pFolder != null) |
46 | { | 46 | { |
47 | pFolder.SubFolders.Add(folderInfo.folderID, folderInfo); | 47 | pFolder.SubFolders.Add(folderInfo.folderID, folderInfo); |
48 | } | 48 | } |
49 | } | 49 | } |
50 | } | 50 | } |
51 | } | 51 | } |
52 | } | 52 | } |
53 | 53 | ||
54 | public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo) | 54 | public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo) |
55 | { | 55 | { |
56 | if (userID == UserProfile.UUID) | 56 | if (userID == UserProfile.UUID) |
57 | { | 57 | { |
58 | if (this.RootFolder != null) | 58 | if (this.RootFolder != null) |
59 | { | 59 | { |
60 | if (itemInfo.parentFolderID == this.RootFolder.folderID) | 60 | if (itemInfo.parentFolderID == this.RootFolder.folderID) |
61 | { | 61 | { |
62 | this.RootFolder.Items.Add(itemInfo.inventoryID, itemInfo); | 62 | this.RootFolder.Items.Add(itemInfo.inventoryID, itemInfo); |
63 | } | 63 | } |
64 | else | 64 | else |
65 | { | 65 | { |
66 | InventoryFolder pFolder = this.RootFolder.HasSubFolder(itemInfo.parentFolderID); | 66 | InventoryFolder pFolder = this.RootFolder.HasSubFolder(itemInfo.parentFolderID); |
67 | if (pFolder != null) | 67 | if (pFolder != null) |
68 | { | 68 | { |
69 | pFolder.Items.Add(itemInfo.inventoryID, itemInfo); | 69 | pFolder.Items.Add(itemInfo.inventoryID, itemInfo); |
70 | } | 70 | } |
71 | } | 71 | } |
72 | } | 72 | } |
73 | 73 | ||
74 | } | 74 | } |
75 | } | 75 | } |
76 | } | 76 | } |
77 | } | 77 | } |
diff --git a/OpenSim/Framework/Communications/caches/InventoryFolder.cs b/OpenSim/Framework/Communications/caches/InventoryFolder.cs index eaddf19..af38b12 100644 --- a/OpenSim/Framework/Communications/caches/InventoryFolder.cs +++ b/OpenSim/Framework/Communications/caches/InventoryFolder.cs | |||
@@ -1,51 +1,51 @@ | |||
1 | using System; | 1 | using System; |
2 | using System.Collections.Generic; | 2 | using System.Collections.Generic; |
3 | using System.Text; | 3 | using System.Text; |
4 | using libsecondlife; | 4 | using libsecondlife; |
5 | using OpenSim.Framework.Data; | 5 | using OpenSim.Framework.Data; |
6 | 6 | ||
7 | namespace OpenSim.Framework.Communications.Caches | 7 | namespace OpenSim.Framework.Communications.Caches |
8 | { | 8 | { |
9 | public class InventoryFolder : InventoryFolderBase | 9 | public class InventoryFolder : InventoryFolderBase |
10 | { | 10 | { |
11 | public Dictionary<LLUUID, InventoryFolder> SubFolders = new Dictionary<LLUUID, InventoryFolder>(); | 11 | public Dictionary<LLUUID, InventoryFolder> SubFolders = new Dictionary<LLUUID, InventoryFolder>(); |
12 | public Dictionary<LLUUID, InventoryItemBase> Items = new Dictionary<LLUUID, InventoryItemBase>(); | 12 | public Dictionary<LLUUID, InventoryItemBase> Items = new Dictionary<LLUUID, InventoryItemBase>(); |
13 | 13 | ||
14 | public InventoryFolder() | 14 | public InventoryFolder() |
15 | { | 15 | { |
16 | } | 16 | } |
17 | 17 | ||
18 | public InventoryFolder HasSubFolder(LLUUID folderID) | 18 | public InventoryFolder HasSubFolder(LLUUID folderID) |
19 | { | 19 | { |
20 | InventoryFolder returnFolder = null; | 20 | InventoryFolder returnFolder = null; |
21 | if (this.SubFolders.ContainsKey(folderID)) | 21 | if (this.SubFolders.ContainsKey(folderID)) |
22 | { | 22 | { |
23 | returnFolder = this.SubFolders[folderID]; | 23 | returnFolder = this.SubFolders[folderID]; |
24 | } | 24 | } |
25 | else | 25 | else |
26 | { | 26 | { |
27 | foreach (InventoryFolder folder in this.SubFolders.Values) | 27 | foreach (InventoryFolder folder in this.SubFolders.Values) |
28 | { | 28 | { |
29 | returnFolder = folder.HasSubFolder(folderID); | 29 | returnFolder = folder.HasSubFolder(folderID); |
30 | if (returnFolder != null) | 30 | if (returnFolder != null) |
31 | { | 31 | { |
32 | break; | 32 | break; |
33 | } | 33 | } |
34 | } | 34 | } |
35 | } | 35 | } |
36 | return returnFolder; | 36 | return returnFolder; |
37 | } | 37 | } |
38 | 38 | ||
39 | public InventoryFolder CreateNewSubFolder(LLUUID folderID, string folderName, ushort type) | 39 | public InventoryFolder CreateNewSubFolder(LLUUID folderID, string folderName, ushort type) |
40 | { | 40 | { |
41 | InventoryFolder subFold = new InventoryFolder(); | 41 | InventoryFolder subFold = new InventoryFolder(); |
42 | subFold.name = folderName; | 42 | subFold.name = folderName; |
43 | subFold.folderID = folderID; | 43 | subFold.folderID = folderID; |
44 | subFold.type = type; | 44 | subFold.type = type; |
45 | subFold.parentID = this.folderID; | 45 | subFold.parentID = this.folderID; |
46 | subFold.agentID = this.agentID; | 46 | subFold.agentID = this.agentID; |
47 | this.SubFolders.Add(subFold.folderID, subFold); | 47 | this.SubFolders.Add(subFold.folderID, subFold); |
48 | return subFold; | 48 | return subFold; |
49 | } | 49 | } |
50 | } | 50 | } |
51 | } | 51 | } |
diff --git a/OpenSim/Framework/Communications/caches/UserProfileCache.cs b/OpenSim/Framework/Communications/caches/UserProfileCache.cs index 0ee63ba..f651b8a 100644 --- a/OpenSim/Framework/Communications/caches/UserProfileCache.cs +++ b/OpenSim/Framework/Communications/caches/UserProfileCache.cs | |||
@@ -1,107 +1,107 @@ | |||
1 | using System; | 1 | using System; |
2 | using System.Collections.Generic; | 2 | using System.Collections.Generic; |
3 | using System.Text; | 3 | using System.Text; |
4 | using libsecondlife; | 4 | using libsecondlife; |
5 | using OpenSim.Framework.Data; | 5 | using OpenSim.Framework.Data; |
6 | using OpenSim.Framework.Communications; | 6 | using OpenSim.Framework.Communications; |
7 | 7 | ||
8 | namespace OpenSim.Framework.Communications.Caches | 8 | namespace OpenSim.Framework.Communications.Caches |
9 | { | 9 | { |
10 | public class UserProfileCache | 10 | public class UserProfileCache |
11 | { | 11 | { |
12 | public Dictionary<LLUUID, CachedUserInfo> UserProfiles = new Dictionary<LLUUID, CachedUserInfo>(); | 12 | public Dictionary<LLUUID, CachedUserInfo> UserProfiles = new Dictionary<LLUUID, CachedUserInfo>(); |
13 | 13 | ||
14 | private CommunicationsManager m_parent; | 14 | private CommunicationsManager m_parent; |
15 | 15 | ||
16 | public UserProfileCache(CommunicationsManager parent) | 16 | public UserProfileCache(CommunicationsManager parent) |
17 | { | 17 | { |
18 | m_parent = parent; | 18 | m_parent = parent; |
19 | } | 19 | } |
20 | 20 | ||
21 | /// <summary> | 21 | /// <summary> |
22 | /// A new user has moved into a region in this instance | 22 | /// A new user has moved into a region in this instance |
23 | /// so get info from servers | 23 | /// so get info from servers |
24 | /// </summary> | 24 | /// </summary> |
25 | /// <param name="userID"></param> | 25 | /// <param name="userID"></param> |
26 | public void AddNewUser(LLUUID userID) | 26 | public void AddNewUser(LLUUID userID) |
27 | { | 27 | { |
28 | if (!this.UserProfiles.ContainsKey(userID)) | 28 | if (!this.UserProfiles.ContainsKey(userID)) |
29 | { | 29 | { |
30 | CachedUserInfo userInfo = new CachedUserInfo(); | 30 | CachedUserInfo userInfo = new CachedUserInfo(); |
31 | userInfo.UserProfile = this.RequestUserProfileForUser(userID); | 31 | userInfo.UserProfile = this.RequestUserProfileForUser(userID); |
32 | this.m_parent.InventoryServer.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive); | 32 | this.m_parent.InventoryServer.RequestInventoryForUser(userID, userInfo.FolderReceive, userInfo.ItemReceive); |
33 | if (userInfo.UserProfile != null) | 33 | if (userInfo.UserProfile != null) |
34 | { | 34 | { |
35 | this.UserProfiles.Add(userID, userInfo); | 35 | this.UserProfiles.Add(userID, userInfo); |
36 | } | 36 | } |
37 | else | 37 | else |
38 | { | 38 | { |
39 | //no profile for this user, what do we do now? | 39 | //no profile for this user, what do we do now? |
40 | } | 40 | } |
41 | } | 41 | } |
42 | else | 42 | else |
43 | { | 43 | { |
44 | //already have a cached profile for this user | 44 | //already have a cached profile for this user |
45 | //we should make sure its upto date with the user server version | 45 | //we should make sure its upto date with the user server version |
46 | } | 46 | } |
47 | } | 47 | } |
48 | 48 | ||
49 | /// <summary> | 49 | /// <summary> |
50 | /// A new user has moved into a region in this instance | 50 | /// A new user has moved into a region in this instance |
51 | /// so get info from servers | 51 | /// so get info from servers |
52 | /// </summary> | 52 | /// </summary> |
53 | /// <param name="firstName"></param> | 53 | /// <param name="firstName"></param> |
54 | /// <param name="lastName"></param> | 54 | /// <param name="lastName"></param> |
55 | public void AddNewUser(string firstName, string lastName) | 55 | public void AddNewUser(string firstName, string lastName) |
56 | { | 56 | { |
57 | 57 | ||
58 | } | 58 | } |
59 | 59 | ||
60 | /// <summary> | 60 | /// <summary> |
61 | /// A user has left this instance | 61 | /// A user has left this instance |
62 | /// so make sure servers have been updated | 62 | /// so make sure servers have been updated |
63 | /// Then remove cached info | 63 | /// Then remove cached info |
64 | /// </summary> | 64 | /// </summary> |
65 | /// <param name="userID"></param> | 65 | /// <param name="userID"></param> |
66 | public void UserLogOut(LLUUID userID) | 66 | public void UserLogOut(LLUUID userID) |
67 | { | 67 | { |
68 | 68 | ||
69 | } | 69 | } |
70 | 70 | ||
71 | /// <summary> | 71 | /// <summary> |
72 | /// Request the user profile from User server | 72 | /// Request the user profile from User server |
73 | /// </summary> | 73 | /// </summary> |
74 | /// <param name="userID"></param> | 74 | /// <param name="userID"></param> |
75 | private UserProfileData RequestUserProfileForUser(LLUUID userID) | 75 | private UserProfileData RequestUserProfileForUser(LLUUID userID) |
76 | { | 76 | { |
77 | return this.m_parent.UserServer.GetUserProfile(userID); | 77 | return this.m_parent.UserServer.GetUserProfile(userID); |
78 | } | 78 | } |
79 | 79 | ||
80 | /// <summary> | 80 | /// <summary> |
81 | /// Request Iventory Info from Inventory server | 81 | /// Request Iventory Info from Inventory server |
82 | /// </summary> | 82 | /// </summary> |
83 | /// <param name="userID"></param> | 83 | /// <param name="userID"></param> |
84 | private void RequestInventoryForUser(LLUUID userID) | 84 | private void RequestInventoryForUser(LLUUID userID) |
85 | { | 85 | { |
86 | 86 | ||
87 | } | 87 | } |
88 | 88 | ||
89 | /// <summary> | 89 | /// <summary> |
90 | /// Make sure UserProfile is updated on user server | 90 | /// Make sure UserProfile is updated on user server |
91 | /// </summary> | 91 | /// </summary> |
92 | /// <param name="userID"></param> | 92 | /// <param name="userID"></param> |
93 | private void UpdateUserProfileToServer(LLUUID userID) | 93 | private void UpdateUserProfileToServer(LLUUID userID) |
94 | { | 94 | { |
95 | 95 | ||
96 | } | 96 | } |
97 | 97 | ||
98 | /// <summary> | 98 | /// <summary> |
99 | /// Update Inventory data to Inventory server | 99 | /// Update Inventory data to Inventory server |
100 | /// </summary> | 100 | /// </summary> |
101 | /// <param name="userID"></param> | 101 | /// <param name="userID"></param> |
102 | private void UpdateInventoryToServer(LLUUID userID) | 102 | private void UpdateInventoryToServer(LLUUID userID) |
103 | { | 103 | { |
104 | 104 | ||
105 | } | 105 | } |
106 | } | 106 | } |
107 | } | 107 | } |