diff options
author | Melanie | 2012-01-16 02:19:19 +0100 |
---|---|---|
committer | Melanie | 2012-01-16 23:09:24 +0000 |
commit | e13a17cc0c8514bc673d5ba39c86d23451278389 (patch) | |
tree | 5db52b401e5abd91316ca17d79aabdb3ae704fde /OpenSim/Services/Connectors | |
parent | Comment out noisy log lines I accidentally included in the nant build target ... (diff) | |
download | opensim-SC_OLD-e13a17cc0c8514bc673d5ba39c86d23451278389.zip opensim-SC_OLD-e13a17cc0c8514bc673d5ba39c86d23451278389.tar.gz opensim-SC_OLD-e13a17cc0c8514bc673d5ba39c86d23451278389.tar.bz2 opensim-SC_OLD-e13a17cc0c8514bc673d5ba39c86d23451278389.tar.xz |
Allow retrival of multiple user records in one operation, analog to presence
Diffstat (limited to 'OpenSim/Services/Connectors')
-rw-r--r-- | OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs | 60 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs | 4 |
2 files changed, 64 insertions, 0 deletions
diff --git a/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs b/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs index 738cc06..aa98b5d 100644 --- a/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs +++ b/OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs | |||
@@ -223,5 +223,65 @@ namespace OpenSim.Services.Connectors | |||
223 | 223 | ||
224 | } | 224 | } |
225 | 225 | ||
226 | public GridUserInfo[] GetGridUserInfo(string[] userIDs) | ||
227 | { | ||
228 | Dictionary<string, object> sendData = new Dictionary<string, object>(); | ||
229 | //sendData["SCOPEID"] = scopeID.ToString(); | ||
230 | sendData["VERSIONMIN"] = ProtocolVersions.ClientProtocolVersionMin.ToString(); | ||
231 | sendData["VERSIONMAX"] = ProtocolVersions.ClientProtocolVersionMax.ToString(); | ||
232 | sendData["METHOD"] = "getgriduserinfos"; | ||
233 | |||
234 | sendData["AgentIDs"] = new List<string>(userIDs); | ||
235 | |||
236 | string reply = string.Empty; | ||
237 | string reqString = ServerUtils.BuildQueryString(sendData); | ||
238 | //m_log.DebugFormat("[PRESENCE CONNECTOR]: queryString = {0}", reqString); | ||
239 | try | ||
240 | { | ||
241 | reply = SynchronousRestFormsRequester.MakeRequest("POST", | ||
242 | m_ServerURI + "/griduser", | ||
243 | reqString); | ||
244 | if (reply == null || (reply != null && reply == string.Empty)) | ||
245 | { | ||
246 | m_log.DebugFormat("[GRID USER CONNECTOR]: GetGridUserInfo received null or empty reply"); | ||
247 | return null; | ||
248 | } | ||
249 | } | ||
250 | catch (Exception e) | ||
251 | { | ||
252 | m_log.DebugFormat("[GRID USER CONNECTOR]: Exception when contacting grid user server: {0}", e.Message); | ||
253 | } | ||
254 | |||
255 | List<GridUserInfo> rinfos = new List<GridUserInfo>(); | ||
256 | |||
257 | Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply); | ||
258 | |||
259 | if (replyData != null) | ||
260 | { | ||
261 | if (replyData.ContainsKey("result") && | ||
262 | (replyData["result"].ToString() == "null" || replyData["result"].ToString() == "Failure")) | ||
263 | { | ||
264 | return new GridUserInfo[0]; | ||
265 | } | ||
266 | |||
267 | Dictionary<string, object>.ValueCollection pinfosList = replyData.Values; | ||
268 | //m_log.DebugFormat("[PRESENCE CONNECTOR]: GetAgents returned {0} elements", pinfosList.Count); | ||
269 | foreach (object griduser in pinfosList) | ||
270 | { | ||
271 | if (griduser is Dictionary<string, object>) | ||
272 | { | ||
273 | GridUserInfo pinfo = new GridUserInfo((Dictionary<string, object>)griduser); | ||
274 | rinfos.Add(pinfo); | ||
275 | } | ||
276 | else | ||
277 | m_log.DebugFormat("[GRID USER CONNECTOR]: GetGridUserInfo received invalid response type {0}", | ||
278 | griduser.GetType()); | ||
279 | } | ||
280 | } | ||
281 | else | ||
282 | m_log.DebugFormat("[GRID USER CONNECTOR]: GetGridUserInfo received null response"); | ||
283 | |||
284 | return rinfos.ToArray(); | ||
285 | } | ||
226 | } | 286 | } |
227 | } | 287 | } |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs index 678f738..ca1b64f 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs | |||
@@ -472,6 +472,10 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
472 | return false; | 472 | return false; |
473 | } | 473 | } |
474 | 474 | ||
475 | public GridUserInfo[] GetGridUserInfo(string[] userIDs) | ||
476 | { | ||
477 | return new GridUserInfo[0]; | ||
478 | } | ||
475 | #endregion Helpers | 479 | #endregion Helpers |
476 | } | 480 | } |
477 | } | 481 | } |