aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs')
-rw-r--r--OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs106
1 files changed, 106 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
index 85a8738..c90dd6f 100644
--- a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
+++ b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
@@ -103,6 +103,14 @@ namespace OpenSim.Server.Handlers.Grid
103 case "get_region_range": 103 case "get_region_range":
104 return GetRegionRange(request); 104 return GetRegionRange(request);
105 105
106 case "get_default_regions":
107 return GetDefaultRegions(request);
108
109 case "get_fallback_regions":
110 return GetFallbackRegions(request);
111
112 case "get_region_flags":
113 return GetRegionFlags(request);
106 } 114 }
107 m_log.DebugFormat("[GRID HANDLER]: unknown method {0} request {1}", method.Length, method); 115 m_log.DebugFormat("[GRID HANDLER]: unknown method {0} request {1}", method.Length, method);
108 } 116 }
@@ -404,6 +412,104 @@ namespace OpenSim.Server.Handlers.Grid
404 return encoding.GetBytes(xmlString); 412 return encoding.GetBytes(xmlString);
405 } 413 }
406 414
415 byte[] GetDefaultRegions(Dictionary<string, object> request)
416 {
417 //m_log.DebugFormat("[GRID HANDLER]: GetDefaultRegions");
418 UUID scopeID = UUID.Zero;
419 if (request.ContainsKey("SCOPEID"))
420 UUID.TryParse(request["SCOPEID"].ToString(), out scopeID);
421 else
422 m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get region range");
423
424 List<GridRegion> rinfos = m_GridService.GetDefaultRegions(scopeID);
425
426 Dictionary<string, object> result = new Dictionary<string, object>();
427 if ((rinfos == null) || ((rinfos != null) && (rinfos.Count == 0)))
428 result["result"] = "null";
429 else
430 {
431 int i = 0;
432 foreach (GridRegion rinfo in rinfos)
433 {
434 Dictionary<string, object> rinfoDict = rinfo.ToKeyValuePairs();
435 result["region" + i] = rinfoDict;
436 i++;
437 }
438 }
439 string xmlString = ServerUtils.BuildXmlResponse(result);
440 //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString);
441 UTF8Encoding encoding = new UTF8Encoding();
442 return encoding.GetBytes(xmlString);
443 }
444
445 byte[] GetFallbackRegions(Dictionary<string, object> request)
446 {
447 //m_log.DebugFormat("[GRID HANDLER]: GetRegionRange");
448 UUID scopeID = UUID.Zero;
449 if (request.ContainsKey("SCOPEID"))
450 UUID.TryParse(request["SCOPEID"].ToString(), out scopeID);
451 else
452 m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get fallback regions");
453
454 int x = 0, y = 0;
455 if (request.ContainsKey("X"))
456 Int32.TryParse(request["X"].ToString(), out x);
457 else
458 m_log.WarnFormat("[GRID HANDLER]: no X in request to get fallback regions");
459 if (request.ContainsKey("Y"))
460 Int32.TryParse(request["Y"].ToString(), out y);
461 else
462 m_log.WarnFormat("[GRID HANDLER]: no Y in request to get fallback regions");
463
464
465 List<GridRegion> rinfos = m_GridService.GetFallbackRegions(scopeID, x, y);
466
467 Dictionary<string, object> result = new Dictionary<string, object>();
468 if ((rinfos == null) || ((rinfos != null) && (rinfos.Count == 0)))
469 result["result"] = "null";
470 else
471 {
472 int i = 0;
473 foreach (GridRegion rinfo in rinfos)
474 {
475 Dictionary<string, object> rinfoDict = rinfo.ToKeyValuePairs();
476 result["region" + i] = rinfoDict;
477 i++;
478 }
479 }
480 string xmlString = ServerUtils.BuildXmlResponse(result);
481 //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString);
482 UTF8Encoding encoding = new UTF8Encoding();
483 return encoding.GetBytes(xmlString);
484 }
485
486 byte[] GetRegionFlags(Dictionary<string, object> request)
487 {
488 UUID scopeID = UUID.Zero;
489 if (request.ContainsKey("SCOPEID"))
490 UUID.TryParse(request["SCOPEID"].ToString(), out scopeID);
491 else
492 m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get neighbours");
493
494 UUID regionID = UUID.Zero;
495 if (request.ContainsKey("REGIONID"))
496 UUID.TryParse(request["REGIONID"].ToString(), out regionID);
497 else
498 m_log.WarnFormat("[GRID HANDLER]: no regionID in request to get neighbours");
499
500 int flags = m_GridService.GetRegionFlags(scopeID, regionID);
501 // m_log.DebugFormat("[GRID HANDLER]: flags for region {0}: {1}", regionID, flags);
502
503 Dictionary<string, object> result = new Dictionary<string, object>();
504 result["result"] = flags.ToString();
505
506 string xmlString = ServerUtils.BuildXmlResponse(result);
507 //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString);
508 UTF8Encoding encoding = new UTF8Encoding();
509 return encoding.GetBytes(xmlString);
510 }
511
512
407 #endregion 513 #endregion
408 514
409 #region Misc 515 #region Misc