aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server')
-rw-r--r--OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs27
1 files changed, 27 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs b/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
index 9ca5120..2558fa0 100644
--- a/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
+++ b/OpenSim/Server/Handlers/Presence/PresenceServerPostHandler.cs
@@ -94,6 +94,33 @@ namespace OpenSim.Server.Handlers.Presence
94 94
95 byte[] Report(Dictionary<string, string> request) 95 byte[] Report(Dictionary<string, string> request)
96 { 96 {
97 PresenceInfo info = new PresenceInfo();
98 info.Data = new Dictionary<string, string>();
99
100 if (request["PrincipalID"] == null || request["RegionID"] == null)
101 return FailureResult();
102
103 if (!UUID.TryParse(request["PrincipalID"].ToString(),
104 out info.PrincipalID))
105 return FailureResult();
106
107 if (!UUID.TryParse(request["RegionID"].ToString(),
108 out info.RegionID))
109 return FailureResult();
110
111 foreach (KeyValuePair<string, string> kvp in request)
112 {
113 if (kvp.Key == "METHOD" ||
114 kvp.Key == "PrincipalID" ||
115 kvp.Key == "RegionID")
116 continue;
117
118 info.Data[kvp.Key] = kvp.Value;
119 }
120
121 if (m_PresenceService.Report(info))
122 return SuccessResult();
123
97 return FailureResult(); 124 return FailureResult();
98 } 125 }
99 126