aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs4
-rw-r--r--OpenSim/Services/Interfaces/IPresenceService.cs2
-rw-r--r--OpenSim/Services/PresenceService/PresenceService.cs42
3 files changed, 26 insertions, 22 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
index 0012f0a..24362c7 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/LocalPresenceServiceConnector.cs
@@ -81,7 +81,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
81 81
82 if (serviceDll == String.Empty) 82 if (serviceDll == String.Empty)
83 { 83 {
84 m_log.Error("[LOCAL PRESENCE CONNECTOR]: No LocalServiceModule named in section InventoryService"); 84 m_log.Error("[LOCAL PRESENCE CONNECTOR]: No LocalServiceModule named in section PresenceService");
85 return; 85 return;
86 } 86 }
87 87
@@ -176,7 +176,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence
176 return m_PresenceService.GetAgent(sessionID); 176 return m_PresenceService.GetAgent(sessionID);
177 } 177 }
178 178
179 public PresenceInfo[] GetAgents(UUID[] principalIDs) 179 public PresenceInfo[] GetAgents(string[] principalIDs)
180 { 180 {
181 return m_PresenceService.GetAgents(principalIDs); 181 return m_PresenceService.GetAgents(principalIDs);
182 } 182 }
diff --git a/OpenSim/Services/Interfaces/IPresenceService.cs b/OpenSim/Services/Interfaces/IPresenceService.cs
index 70d4b28..1cda13c 100644
--- a/OpenSim/Services/Interfaces/IPresenceService.cs
+++ b/OpenSim/Services/Interfaces/IPresenceService.cs
@@ -52,6 +52,6 @@ namespace OpenSim.Services.Interfaces
52 bool ReportAgent(UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt); 52 bool ReportAgent(UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt);
53 53
54 PresenceInfo GetAgent(UUID sessionID); 54 PresenceInfo GetAgent(UUID sessionID);
55 PresenceInfo[] GetAgents(UUID[] PrincipalIDs); 55 PresenceInfo[] GetAgents(string[] principalIDs);
56 } 56 }
57} 57}
diff --git a/OpenSim/Services/PresenceService/PresenceService.cs b/OpenSim/Services/PresenceService/PresenceService.cs
index 6542c25..0529d3d 100644
--- a/OpenSim/Services/PresenceService/PresenceService.cs
+++ b/OpenSim/Services/PresenceService/PresenceService.cs
@@ -116,30 +116,34 @@ namespace OpenSim.Services.PresenceService
116 return ret; 116 return ret;
117 } 117 }
118 118
119 public PresenceInfo[] GetAgents(UUID[] PrincipalIDs) 119 public PresenceInfo[] GetAgents(string[] principalIDs)
120 { 120 {
121 List<PresenceInfo> info = new List<PresenceInfo>(); 121 List<PresenceInfo> info = new List<PresenceInfo>();
122 122
123 foreach (UUID principalID in PrincipalIDs) 123 foreach (string principalIDStr in principalIDs)
124 { 124 {
125 PresenceData[] data = m_Database.Get("PrincipalID", 125 UUID principalID = UUID.Zero;
126 principalID.ToString()); 126 if (UUID.TryParse(principalIDStr, out principalID))
127
128 foreach (PresenceData d in data)
129 { 127 {
130 PresenceInfo ret = new PresenceInfo(); 128 PresenceData[] data = m_Database.Get("PrincipalID",
131 129 principalID.ToString());
132 ret.PrincipalID = d.PrincipalID; 130
133 ret.RegionID = d.RegionID; 131 foreach (PresenceData d in data)
134 ret.Online = bool.Parse(d.Data["Online"]); 132 {
135 ret.Login = Util.ToDateTime(Convert.ToInt32( 133 PresenceInfo ret = new PresenceInfo();
136 d.Data["Login"])); 134
137 ret.Logout = Util.ToDateTime(Convert.ToInt32( 135 ret.PrincipalID = d.PrincipalID;
138 d.Data["Logout"])); 136 ret.RegionID = d.RegionID;
139 ret.Position = Vector3.Parse(d.Data["Position"]); 137 ret.Online = bool.Parse(d.Data["Online"]);
140 ret.LookAt = Vector3.Parse(d.Data["LookAt"]); 138 ret.Login = Util.ToDateTime(Convert.ToInt32(
141 139 d.Data["Login"]));
142 info.Add(ret); 140 ret.Logout = Util.ToDateTime(Convert.ToInt32(
141 d.Data["Logout"]));
142 ret.Position = Vector3.Parse(d.Data["Position"]);
143 ret.LookAt = Vector3.Parse(d.Data["LookAt"]);
144
145 info.Add(ret);
146 }
143 } 147 }
144 } 148 }
145 149