diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Communications/Hypergrid/HGUserServices.cs | 534 |
1 files changed, 267 insertions, 267 deletions
diff --git a/OpenSim/Region/Communications/Hypergrid/HGUserServices.cs b/OpenSim/Region/Communications/Hypergrid/HGUserServices.cs index 0ac39e9..06534be 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGUserServices.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGUserServices.cs | |||
@@ -1,267 +1,267 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions are met: | 6 | * modification, are permitted provided that the following conditions are met: |
7 | * * Redistributions of source code must retain the above copyright | 7 | * * Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. | 8 | * notice, this list of conditions and the following disclaimer. |
9 | * * Redistributions in binary form must reproduce the above copyright | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. | 11 | * documentation and/or other materials provided with the distribution. |
12 | * * Neither the name of the OpenSim Project nor the | 12 | * * Neither the name of the OpenSim Project nor the |
13 | * names of its contributors may be used to endorse or promote products | 13 | * names of its contributors may be used to endorse or promote products |
14 | * derived from this software without specific prior written permission. | 14 | * derived from this software without specific prior written permission. |
15 | * | 15 | * |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections; | 29 | using System.Collections; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using System.Net; | 31 | using System.Net; |
32 | using System.Reflection; | 32 | using System.Reflection; |
33 | using System.Text.RegularExpressions; | 33 | using System.Text.RegularExpressions; |
34 | using OpenMetaverse; | 34 | using OpenMetaverse; |
35 | using log4net; | 35 | using log4net; |
36 | using Nwc.XmlRpc; | 36 | using Nwc.XmlRpc; |
37 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
38 | using OpenSim.Framework.Communications; | 38 | using OpenSim.Framework.Communications; |
39 | using OpenSim.Region.Communications.OGS1; | 39 | using OpenSim.Region.Communications.OGS1; |
40 | 40 | ||
41 | namespace OpenSim.Region.Communications.Hypergrid | 41 | namespace OpenSim.Region.Communications.Hypergrid |
42 | { | 42 | { |
43 | /// <summary> | 43 | /// <summary> |
44 | /// For the time being, this class is just an identity wrapper around OGS1UserServices, | 44 | /// For the time being, this class is just an identity wrapper around OGS1UserServices, |
45 | /// so it always fails for foreign users. | 45 | /// so it always fails for foreign users. |
46 | /// Later it needs to talk with the foreign users' user servers. | 46 | /// Later it needs to talk with the foreign users' user servers. |
47 | /// </summary> | 47 | /// </summary> |
48 | public class HGUserServices : IUserService, IAvatarService, IMessagingService | 48 | public class HGUserServices : IUserService, IAvatarService, IMessagingService |
49 | { | 49 | { |
50 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 50 | //private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
51 | 51 | ||
52 | //private HGCommunicationsGridMode m_parent; | 52 | //private HGCommunicationsGridMode m_parent; |
53 | private OGS1UserServices m_remoteUserServices; | 53 | private OGS1UserServices m_remoteUserServices; |
54 | 54 | ||
55 | public HGUserServices(HGCommunicationsGridMode parent) | 55 | public HGUserServices(HGCommunicationsGridMode parent) |
56 | { | 56 | { |
57 | //m_parent = parent; | 57 | //m_parent = parent; |
58 | m_remoteUserServices = new OGS1UserServices(parent); | 58 | m_remoteUserServices = new OGS1UserServices(parent); |
59 | } | 59 | } |
60 | 60 | ||
61 | public UserProfileData ConvertXMLRPCDataToUserProfile(Hashtable data) | 61 | public UserProfileData ConvertXMLRPCDataToUserProfile(Hashtable data) |
62 | { | 62 | { |
63 | return m_remoteUserServices.ConvertXMLRPCDataToUserProfile(data); | 63 | return m_remoteUserServices.ConvertXMLRPCDataToUserProfile(data); |
64 | } | 64 | } |
65 | 65 | ||
66 | /// <summary> | 66 | /// <summary> |
67 | /// Get a user agent from the user server | 67 | /// Get a user agent from the user server |
68 | /// </summary> | 68 | /// </summary> |
69 | /// <param name="avatarID"></param> | 69 | /// <param name="avatarID"></param> |
70 | /// <returns>null if the request fails</returns> | 70 | /// <returns>null if the request fails</returns> |
71 | public UserAgentData GetAgentByUUID(UUID userId) | 71 | public UserAgentData GetAgentByUUID(UUID userId) |
72 | { | 72 | { |
73 | return m_remoteUserServices.GetAgentByUUID(userId); | 73 | return m_remoteUserServices.GetAgentByUUID(userId); |
74 | } | 74 | } |
75 | 75 | ||
76 | public AvatarAppearance ConvertXMLRPCDataToAvatarAppearance(Hashtable data) | 76 | public AvatarAppearance ConvertXMLRPCDataToAvatarAppearance(Hashtable data) |
77 | { | 77 | { |
78 | return m_remoteUserServices.ConvertXMLRPCDataToAvatarAppearance(data); | 78 | return m_remoteUserServices.ConvertXMLRPCDataToAvatarAppearance(data); |
79 | } | 79 | } |
80 | 80 | ||
81 | public List<AvatarPickerAvatar> ConvertXMLRPCDataToAvatarPickerList(UUID queryID, Hashtable data) | 81 | public List<AvatarPickerAvatar> ConvertXMLRPCDataToAvatarPickerList(UUID queryID, Hashtable data) |
82 | { | 82 | { |
83 | return m_remoteUserServices.ConvertXMLRPCDataToAvatarPickerList(queryID, data); | 83 | return m_remoteUserServices.ConvertXMLRPCDataToAvatarPickerList(queryID, data); |
84 | } | 84 | } |
85 | 85 | ||
86 | public List<FriendListItem> ConvertXMLRPCDataToFriendListItemList(Hashtable data) | 86 | public List<FriendListItem> ConvertXMLRPCDataToFriendListItemList(Hashtable data) |
87 | { | 87 | { |
88 | return m_remoteUserServices.ConvertXMLRPCDataToFriendListItemList(data); | 88 | return m_remoteUserServices.ConvertXMLRPCDataToFriendListItemList(data); |
89 | } | 89 | } |
90 | 90 | ||
91 | /// <summary> | 91 | /// <summary> |
92 | /// Logs off a user on the user server | 92 | /// Logs off a user on the user server |
93 | /// </summary> | 93 | /// </summary> |
94 | /// <param name="UserID">UUID of the user</param> | 94 | /// <param name="UserID">UUID of the user</param> |
95 | /// <param name="regionID">UUID of the Region</param> | 95 | /// <param name="regionID">UUID of the Region</param> |
96 | /// <param name="regionhandle">regionhandle</param> | 96 | /// <param name="regionhandle">regionhandle</param> |
97 | /// <param name="position">final position</param> | 97 | /// <param name="position">final position</param> |
98 | /// <param name="lookat">final lookat</param> | 98 | /// <param name="lookat">final lookat</param> |
99 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat) | 99 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat) |
100 | { | 100 | { |
101 | m_remoteUserServices.LogOffUser(userid, regionid, regionhandle, position, lookat); | 101 | m_remoteUserServices.LogOffUser(userid, regionid, regionhandle, position, lookat); |
102 | } | 102 | } |
103 | 103 | ||
104 | /// <summary> | 104 | /// <summary> |
105 | /// Logs off a user on the user server (deprecated as of 2008-08-27) | 105 | /// Logs off a user on the user server (deprecated as of 2008-08-27) |
106 | /// </summary> | 106 | /// </summary> |
107 | /// <param name="UserID">UUID of the user</param> | 107 | /// <param name="UserID">UUID of the user</param> |
108 | /// <param name="regionID">UUID of the Region</param> | 108 | /// <param name="regionID">UUID of the Region</param> |
109 | /// <param name="regionhandle">regionhandle</param> | 109 | /// <param name="regionhandle">regionhandle</param> |
110 | /// <param name="posx">final position x</param> | 110 | /// <param name="posx">final position x</param> |
111 | /// <param name="posy">final position y</param> | 111 | /// <param name="posy">final position y</param> |
112 | /// <param name="posz">final position z</param> | 112 | /// <param name="posz">final position z</param> |
113 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, float posx, float posy, float posz) | 113 | public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, float posx, float posy, float posz) |
114 | { | 114 | { |
115 | m_remoteUserServices.LogOffUser(userid, regionid, regionhandle, posx, posy, posz); | 115 | m_remoteUserServices.LogOffUser(userid, regionid, regionhandle, posx, posy, posz); |
116 | } | 116 | } |
117 | 117 | ||
118 | public UserProfileData GetUserProfile(string firstName, string lastName) | 118 | public UserProfileData GetUserProfile(string firstName, string lastName) |
119 | { | 119 | { |
120 | return GetUserProfile(firstName + " " + lastName); | 120 | return GetUserProfile(firstName + " " + lastName); |
121 | } | 121 | } |
122 | 122 | ||
123 | public void UpdateUserCurrentRegion(UUID avatarid, UUID regionuuid, ulong regionhandle) | 123 | public void UpdateUserCurrentRegion(UUID avatarid, UUID regionuuid, ulong regionhandle) |
124 | { | 124 | { |
125 | m_remoteUserServices.UpdateUserCurrentRegion(avatarid, regionuuid, regionhandle); | 125 | m_remoteUserServices.UpdateUserCurrentRegion(avatarid, regionuuid, regionhandle); |
126 | } | 126 | } |
127 | 127 | ||
128 | public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(UUID queryID, string query) | 128 | public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(UUID queryID, string query) |
129 | { | 129 | { |
130 | return m_remoteUserServices.GenerateAgentPickerRequestResponse(queryID, query); | 130 | return m_remoteUserServices.GenerateAgentPickerRequestResponse(queryID, query); |
131 | } | 131 | } |
132 | 132 | ||
133 | /// <summary> | 133 | /// <summary> |
134 | /// Get a user profile from the user server | 134 | /// Get a user profile from the user server |
135 | /// </summary> | 135 | /// </summary> |
136 | /// <param name="avatarID"></param> | 136 | /// <param name="avatarID"></param> |
137 | /// <returns>null if the request fails</returns> | 137 | /// <returns>null if the request fails</returns> |
138 | public UserProfileData GetUserProfile(string name) | 138 | public UserProfileData GetUserProfile(string name) |
139 | { | 139 | { |
140 | return m_remoteUserServices.GetUserProfile(name); | 140 | return m_remoteUserServices.GetUserProfile(name); |
141 | } | 141 | } |
142 | 142 | ||
143 | /// <summary> | 143 | /// <summary> |
144 | /// Get a user profile from the user server | 144 | /// Get a user profile from the user server |
145 | /// </summary> | 145 | /// </summary> |
146 | /// <param name="avatarID"></param> | 146 | /// <param name="avatarID"></param> |
147 | /// <returns>null if the request fails</returns> | 147 | /// <returns>null if the request fails</returns> |
148 | public UserProfileData GetUserProfile(UUID avatarID) | 148 | public UserProfileData GetUserProfile(UUID avatarID) |
149 | { | 149 | { |
150 | return m_remoteUserServices.GetUserProfile(avatarID); | 150 | return m_remoteUserServices.GetUserProfile(avatarID); |
151 | } | 151 | } |
152 | 152 | ||
153 | 153 | ||
154 | public void ClearUserAgent(UUID avatarID) | 154 | public void ClearUserAgent(UUID avatarID) |
155 | { | 155 | { |
156 | m_remoteUserServices.ClearUserAgent(avatarID); | 156 | m_remoteUserServices.ClearUserAgent(avatarID); |
157 | } | 157 | } |
158 | 158 | ||
159 | /// <summary> | 159 | /// <summary> |
160 | /// Retrieve the user information for the given master uuid. | 160 | /// Retrieve the user information for the given master uuid. |
161 | /// </summary> | 161 | /// </summary> |
162 | /// <param name="uuid"></param> | 162 | /// <param name="uuid"></param> |
163 | /// <returns></returns> | 163 | /// <returns></returns> |
164 | public UserProfileData SetupMasterUser(string firstName, string lastName) | 164 | public UserProfileData SetupMasterUser(string firstName, string lastName) |
165 | { | 165 | { |
166 | return m_remoteUserServices.SetupMasterUser(firstName, lastName); | 166 | return m_remoteUserServices.SetupMasterUser(firstName, lastName); |
167 | } | 167 | } |
168 | 168 | ||
169 | /// <summary> | 169 | /// <summary> |
170 | /// Retrieve the user information for the given master uuid. | 170 | /// Retrieve the user information for the given master uuid. |
171 | /// </summary> | 171 | /// </summary> |
172 | /// <param name="uuid"></param> | 172 | /// <param name="uuid"></param> |
173 | /// <returns></returns> | 173 | /// <returns></returns> |
174 | public UserProfileData SetupMasterUser(string firstName, string lastName, string password) | 174 | public UserProfileData SetupMasterUser(string firstName, string lastName, string password) |
175 | { | 175 | { |
176 | return m_remoteUserServices.SetupMasterUser(firstName, lastName, password); | 176 | return m_remoteUserServices.SetupMasterUser(firstName, lastName, password); |
177 | } | 177 | } |
178 | 178 | ||
179 | /// <summary> | 179 | /// <summary> |
180 | /// Retrieve the user information for the given master uuid. | 180 | /// Retrieve the user information for the given master uuid. |
181 | /// </summary> | 181 | /// </summary> |
182 | /// <param name="uuid"></param> | 182 | /// <param name="uuid"></param> |
183 | /// <returns></returns> | 183 | /// <returns></returns> |
184 | public UserProfileData SetupMasterUser(UUID uuid) | 184 | public UserProfileData SetupMasterUser(UUID uuid) |
185 | { | 185 | { |
186 | return m_remoteUserServices.SetupMasterUser(uuid); | 186 | return m_remoteUserServices.SetupMasterUser(uuid); |
187 | } | 187 | } |
188 | 188 | ||
189 | public UUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY) | 189 | public UUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY) |
190 | { | 190 | { |
191 | return m_remoteUserServices.AddUserProfile(firstName, lastName, pass, regX, regY); | 191 | return m_remoteUserServices.AddUserProfile(firstName, lastName, pass, regX, regY); |
192 | } | 192 | } |
193 | 193 | ||
194 | public bool ResetUserPassword(string firstName, string lastName, string newPassword) | 194 | public bool ResetUserPassword(string firstName, string lastName, string newPassword) |
195 | { | 195 | { |
196 | return m_remoteUserServices.ResetUserPassword(firstName, lastName, newPassword); | 196 | return m_remoteUserServices.ResetUserPassword(firstName, lastName, newPassword); |
197 | } | 197 | } |
198 | 198 | ||
199 | public bool UpdateUserProfile(UserProfileData userProfile) | 199 | public bool UpdateUserProfile(UserProfileData userProfile) |
200 | { | 200 | { |
201 | return m_remoteUserServices.UpdateUserProfile(userProfile); | 201 | return m_remoteUserServices.UpdateUserProfile(userProfile); |
202 | } | 202 | } |
203 | 203 | ||
204 | #region IUserServices Friend Methods | 204 | #region IUserServices Friend Methods |
205 | /// <summary> | 205 | /// <summary> |
206 | /// Adds a new friend to the database for XUser | 206 | /// Adds a new friend to the database for XUser |
207 | /// </summary> | 207 | /// </summary> |
208 | /// <param name="friendlistowner">The agent that who's friends list is being added to</param> | 208 | /// <param name="friendlistowner">The agent that who's friends list is being added to</param> |
209 | /// <param name="friend">The agent that being added to the friends list of the friends list owner</param> | 209 | /// <param name="friend">The agent that being added to the friends list of the friends list owner</param> |
210 | /// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param> | 210 | /// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param> |
211 | public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) | 211 | public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) |
212 | { | 212 | { |
213 | m_remoteUserServices.AddNewUserFriend(friendlistowner, friend, perms); | 213 | m_remoteUserServices.AddNewUserFriend(friendlistowner, friend, perms); |
214 | } | 214 | } |
215 | 215 | ||
216 | /// <summary> | 216 | /// <summary> |
217 | /// Delete friend on friendlistowner's friendlist. | 217 | /// Delete friend on friendlistowner's friendlist. |
218 | /// </summary> | 218 | /// </summary> |
219 | /// <param name="friendlistowner">The agent that who's friends list is being updated</param> | 219 | /// <param name="friendlistowner">The agent that who's friends list is being updated</param> |
220 | /// <param name="friend">The Ex-friend agent</param> | 220 | /// <param name="friend">The Ex-friend agent</param> |
221 | public void RemoveUserFriend(UUID friendlistowner, UUID friend) | 221 | public void RemoveUserFriend(UUID friendlistowner, UUID friend) |
222 | { | 222 | { |
223 | m_remoteUserServices.RemoveUserFriend(friend, friend); | 223 | m_remoteUserServices.RemoveUserFriend(friend, friend); |
224 | } | 224 | } |
225 | 225 | ||
226 | /// <summary> | 226 | /// <summary> |
227 | /// Update permissions for friend on friendlistowner's friendlist. | 227 | /// Update permissions for friend on friendlistowner's friendlist. |
228 | /// </summary> | 228 | /// </summary> |
229 | /// <param name="friendlistowner">The agent that who's friends list is being updated</param> | 229 | /// <param name="friendlistowner">The agent that who's friends list is being updated</param> |
230 | /// <param name="friend">The agent that is getting or loosing permissions</param> | 230 | /// <param name="friend">The agent that is getting or loosing permissions</param> |
231 | /// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param> | 231 | /// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param> |
232 | public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) | 232 | public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) |
233 | { | 233 | { |
234 | m_remoteUserServices.UpdateUserFriendPerms(friendlistowner, friend, perms); | 234 | m_remoteUserServices.UpdateUserFriendPerms(friendlistowner, friend, perms); |
235 | } | 235 | } |
236 | /// <summary> | 236 | /// <summary> |
237 | /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for UUID friendslistowner | 237 | /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for UUID friendslistowner |
238 | /// </summary> | 238 | /// </summary> |
239 | /// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param> | 239 | /// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param> |
240 | public List<FriendListItem> GetUserFriendList(UUID friendlistowner) | 240 | public List<FriendListItem> GetUserFriendList(UUID friendlistowner) |
241 | { | 241 | { |
242 | return m_remoteUserServices.GetUserFriendList(friendlistowner); | 242 | return m_remoteUserServices.GetUserFriendList(friendlistowner); |
243 | } | 243 | } |
244 | 244 | ||
245 | #endregion | 245 | #endregion |
246 | 246 | ||
247 | /// Appearance | 247 | /// Appearance |
248 | public AvatarAppearance GetUserAppearance(UUID user) | 248 | public AvatarAppearance GetUserAppearance(UUID user) |
249 | { | 249 | { |
250 | return m_remoteUserServices.GetUserAppearance(user); | 250 | return m_remoteUserServices.GetUserAppearance(user); |
251 | } | 251 | } |
252 | 252 | ||
253 | public void UpdateUserAppearance(UUID user, AvatarAppearance appearance) | 253 | public void UpdateUserAppearance(UUID user, AvatarAppearance appearance) |
254 | { | 254 | { |
255 | m_remoteUserServices.UpdateUserAppearance(user, appearance); | 255 | m_remoteUserServices.UpdateUserAppearance(user, appearance); |
256 | } | 256 | } |
257 | 257 | ||
258 | #region IMessagingService | 258 | #region IMessagingService |
259 | 259 | ||
260 | public Dictionary<UUID, FriendRegionInfo> GetFriendRegionInfos(List<UUID> uuids) | 260 | public Dictionary<UUID, FriendRegionInfo> GetFriendRegionInfos(List<UUID> uuids) |
261 | { | 261 | { |
262 | return m_remoteUserServices.GetFriendRegionInfos(uuids); | 262 | return m_remoteUserServices.GetFriendRegionInfos(uuids); |
263 | } | 263 | } |
264 | #endregion | 264 | #endregion |
265 | 265 | ||
266 | } | 266 | } |
267 | } | 267 | } |