diff options
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 14 | ||||
-rw-r--r-- | OpenSim/Services/Interfaces/ISimulationService.cs | 8 |
2 files changed, 21 insertions, 1 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index ff0dd7e..8e0063b 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -442,7 +442,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
442 | return true; | 442 | return true; |
443 | } | 443 | } |
444 | 444 | ||
445 | public bool CloseAgent(GridRegion destination, UUID id) | 445 | private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly) |
446 | { | 446 | { |
447 | string uri = string.Empty; | 447 | string uri = string.Empty; |
448 | try | 448 | try |
@@ -459,6 +459,8 @@ namespace OpenSim.Services.Connectors.Simulation | |||
459 | 459 | ||
460 | WebRequest request = WebRequest.Create(uri); | 460 | WebRequest request = WebRequest.Create(uri); |
461 | request.Method = "DELETE"; | 461 | request.Method = "DELETE"; |
462 | if (ChildOnly) | ||
463 | request.Method += "CHILD"; | ||
462 | request.Timeout = 10000; | 464 | request.Timeout = 10000; |
463 | 465 | ||
464 | StreamReader sr = null; | 466 | StreamReader sr = null; |
@@ -491,6 +493,16 @@ namespace OpenSim.Services.Connectors.Simulation | |||
491 | return true; | 493 | return true; |
492 | } | 494 | } |
493 | 495 | ||
496 | public bool CloseChildAgent(GridRegion destination, UUID id) | ||
497 | { | ||
498 | return CloseAgent(destination, id, true); | ||
499 | } | ||
500 | |||
501 | public bool CloseAgent(GridRegion destination, UUID id) | ||
502 | { | ||
503 | return CloseAgent(destination, id, false); | ||
504 | } | ||
505 | |||
494 | #endregion Agents | 506 | #endregion Agents |
495 | 507 | ||
496 | #region Objects | 508 | #region Objects |
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index 67d7cbe..33d6fde 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -71,6 +71,14 @@ namespace OpenSim.Services.Interfaces | |||
71 | bool ReleaseAgent(UUID originRegion, UUID id, string uri); | 71 | bool ReleaseAgent(UUID originRegion, UUID id, string uri); |
72 | 72 | ||
73 | /// <summary> | 73 | /// <summary> |
74 | /// Close child agent. | ||
75 | /// </summary> | ||
76 | /// <param name="regionHandle"></param> | ||
77 | /// <param name="id"></param> | ||
78 | /// <returns></returns> | ||
79 | bool CloseChildAgent(GridRegion destination, UUID id); | ||
80 | |||
81 | /// <summary> | ||
74 | /// Close agent. | 82 | /// Close agent. |
75 | /// </summary> | 83 | /// </summary> |
76 | /// <param name="regionHandle"></param> | 84 | /// <param name="regionHandle"></param> |