aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-13 22:48:19 +0000
committerTeravus Ovares2007-11-13 22:48:19 +0000
commit9f6b3e2357e76b9b85b447da189b4bf4163edd3c (patch)
tree7d9c39258e45e6271db953608e6868433f9ac70d /OpenSim/Framework
parentfirst pass on unlinking of objects. From Jay Clarke (IBM) (diff)
downloadopensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.zip
opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.gz
opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.bz2
opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.xz
* Added AvatarPicker in Standalone mode. Works for finding avatar to ban, manually trying to add a friend (with the add button) or useful to those who are curious which usernames have visited your standalone sim. Important for future development :D.
* Grid mode always returns 0 results until the Grid Communications portion is done.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Communications/CommunicationsManager.cs10
-rw-r--r--OpenSim/Framework/Communications/IGridServices.cs1
-rw-r--r--OpenSim/Framework/Communications/UserManagerBase.cs19
-rw-r--r--OpenSim/Framework/Data.DB4o/DB4oGridData.cs10
-rw-r--r--OpenSim/Framework/Data.DB4o/DB4oUserData.cs8
-rw-r--r--OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs13
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLGridData.cs85
-rw-r--r--OpenSim/Framework/Data.MySQL/MySQLUserData.cs81
-rw-r--r--OpenSim/Framework/Data.SQLite/SQLiteGridData.cs11
-rw-r--r--OpenSim/Framework/Data.SQLite/SQLiteUserData.cs53
-rw-r--r--OpenSim/Framework/Data/GridData.cs12
-rw-r--r--OpenSim/Framework/IClientAPI.cs3
-rw-r--r--OpenSim/Framework/IUserData.cs12
-rw-r--r--OpenSim/Framework/IUserService.cs2
-rw-r--r--OpenSim/Framework/UserProfileData.cs13
15 files changed, 330 insertions, 3 deletions
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs
index 77c7261..7b1a97e 100644
--- a/OpenSim/Framework/Communications/CommunicationsManager.cs
+++ b/OpenSim/Framework/Communications/CommunicationsManager.cs
@@ -28,6 +28,7 @@
28using System; 28using System;
29using libsecondlife; 29using libsecondlife;
30using OpenSim.Framework.Communications.Cache; 30using OpenSim.Framework.Communications.Cache;
31using System.Collections.Generic;
31using OpenSim.Framework.Console; 32using OpenSim.Framework.Console;
32using OpenSim.Framework.Interfaces; 33using OpenSim.Framework.Interfaces;
33using OpenSim.Framework.Servers; 34using OpenSim.Framework.Servers;
@@ -173,6 +174,15 @@ namespace OpenSim.Framework.Communications
173 } 174 }
174 } 175 }
175 } 176 }
177 public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query)
178 {
179
180
181 List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query);
182
183
184 return pickerlist;
185 }
176 186
177 #endregion 187 #endregion
178 } 188 }
diff --git a/OpenSim/Framework/Communications/IGridServices.cs b/OpenSim/Framework/Communications/IGridServices.cs
index ce6205f..3d0af09 100644
--- a/OpenSim/Framework/Communications/IGridServices.cs
+++ b/OpenSim/Framework/Communications/IGridServices.cs
@@ -36,5 +36,6 @@ namespace OpenSim.Framework.Communications
36 List<SimpleRegionInfo> RequestNeighbours(uint x, uint y); 36 List<SimpleRegionInfo> RequestNeighbours(uint x, uint y);
37 RegionInfo RequestNeighbourInfo(ulong regionHandle); 37 RegionInfo RequestNeighbourInfo(ulong regionHandle);
38 List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY); 38 List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY);
39
39 } 40 }
40} \ No newline at end of file 41} \ No newline at end of file
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs
index 408f37c..3a32ba9 100644
--- a/OpenSim/Framework/Communications/UserManagerBase.cs
+++ b/OpenSim/Framework/Communications/UserManagerBase.cs
@@ -105,6 +105,25 @@ namespace OpenSim.Framework.UserManagement
105 return null; 105 return null;
106 } 106 }
107 107
108 public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query)
109 {
110 List<AvatarPickerAvatar> pickerlist = new List<AvatarPickerAvatar>();
111 foreach (KeyValuePair<string, IUserData> plugin in _plugins)
112 {
113 try
114 {
115 pickerlist = plugin.Value.GeneratePickerResults(queryID, query);
116
117 }
118 catch (Exception e)
119 {
120 MainLog.Instance.Verbose("Unable to generate AgentPickerData via " + plugin.Key + "(" + query + ")");
121 return new List<AvatarPickerAvatar>();
122 }
123 }
124 return pickerlist;
125 }
126
108 127
109 /// <summary> 128 /// <summary>
110 /// Loads a user profile by name 129 /// Loads a user profile by name
diff --git a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
index a96d9bd..a071543 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs
@@ -27,6 +27,7 @@
27*/ 27*/
28 28
29using System; 29using System;
30using System.Collections.Generic;
30using libsecondlife; 31using libsecondlife;
31 32
32namespace OpenSim.Framework.Data.DB4o 33namespace OpenSim.Framework.Data.DB4o
@@ -139,7 +140,16 @@ namespace OpenSim.Framework.Data.DB4o
139 { 140 {
140 manager = null; 141 manager = null;
141 } 142 }
143 /// <summary>
144 /// // Returns a list of avatar and UUIDs that match the query
145 /// </summary>
142 146
147 public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
148 {
149 //Do nothing yet
150 List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
151 return returnlist;
152 }
143 /// <summary> 153 /// <summary>
144 /// Returns the providers name 154 /// Returns the providers name
145 /// </summary> 155 /// </summary>
diff --git a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
index c7113bf..4c6d4b0 100644
--- a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
+++ b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs
@@ -27,6 +27,7 @@
27*/ 27*/
28using System; 28using System;
29using System.IO; 29using System.IO;
30using System.Collections.Generic;
30using libsecondlife; 31using libsecondlife;
31 32
32namespace OpenSim.Framework.Data.DB4o 33namespace OpenSim.Framework.Data.DB4o
@@ -131,7 +132,12 @@ namespace OpenSim.Framework.Data.DB4o
131 return null; 132 return null;
132 } 133 }
133 } 134 }
134 135 public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
136 {
137 //Do nothing yet
138 List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>();
139 return returnlist;
140 }
135 /// <summary> 141 /// <summary>
136 /// Creates a new user profile 142 /// Creates a new user profile
137 /// </summary> 143 /// </summary>
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
index 1946790..1516fec 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs
@@ -28,10 +28,12 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Data; 30using System.Data;
31using OpenSim.Framework;
31using System.Security.Cryptography; 32using System.Security.Cryptography;
32using System.Text; 33using System.Text;
33using libsecondlife; 34using libsecondlife;
34 35
36
35namespace OpenSim.Framework.Data.MSSQL 37namespace OpenSim.Framework.Data.MSSQL
36{ 38{
37 /// <summary> 39 /// <summary>
@@ -130,7 +132,16 @@ namespace OpenSim.Framework.Data.MSSQL
130 132
131 return row; 133 return row;
132 } 134 }
135 /// <summary>
136 /// // Returns a list of avatar and UUIDs that match the query
137 /// </summary>
133 138
139 public List<OpenSim.Framework.Data.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
140 {
141 //Do nothing yet
142 List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
143 return returnlist;
144 }
134 /// <summary> 145 /// <summary>
135 /// Adds a new specified region to the database 146 /// Adds a new specified region to the database
136 /// </summary> 147 /// </summary>
@@ -190,5 +201,7 @@ namespace OpenSim.Framework.Data.MSSQL
190 { 201 {
191 return null; 202 return null;
192 } 203 }
204 // This is here because MSSQL GridData only seems to know about itself o.O
205
193 } 206 }
194} \ No newline at end of file 207} \ No newline at end of file
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
index fdfc61c..930b3f4 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs
@@ -169,6 +169,91 @@ namespace OpenSim.Framework.Data.MySQL
169 return null; 169 return null;
170 } 170 }
171 } 171 }
172 /// <summary>
173 /// // Returns a list of avatar and UUIDs that match the query
174 /// </summary>
175
176 public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
177 {
178 List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
179 string[] querysplit;
180 querysplit = query.Split(' ');
181 if (querysplit.Length == 2)
182 {
183 try
184 {
185 lock (database)
186 {
187 Dictionary<string, string> param = new Dictionary<string, string>();
188 param["?first"] = querysplit[0];
189 param["?second"] = querysplit[1];
190
191 IDbCommand result =
192 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param);
193 IDataReader reader = result.ExecuteReader();
194
195
196 while (reader.Read())
197 {
198 AvatarPickerAvatar user = new AvatarPickerAvatar();
199 user.AvatarID = new LLUUID((string)reader["UUID"]);
200 user.firstName = (string)reader["username"];
201 user.lastName = (string)reader["surname"];
202 returnlist.Add(user);
203
204 }
205 reader.Close();
206 result.Dispose();
207 }
208 }
209 catch (Exception e)
210 {
211 database.Reconnect();
212 MainLog.Instance.Error(e.ToString());
213 return returnlist;
214 }
215
216
217
218 }
219 else if (querysplit.Length == 1)
220 {
221
222 try
223 {
224 lock (database)
225 {
226 Dictionary<string, string> param = new Dictionary<string, string>();
227 param["?first"] = querysplit[0];
228 param["?second"] = querysplit[1];
229
230 IDbCommand result =
231 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param);
232 IDataReader reader = result.ExecuteReader();
233
234
235 while (reader.Read())
236 {
237 AvatarPickerAvatar user = new AvatarPickerAvatar();
238 user.AvatarID = new LLUUID((string)reader["UUID"]);
239 user.firstName = (string)reader["username"];
240 user.lastName = (string)reader["surname"];
241 returnlist.Add(user);
242
243 }
244 reader.Close();
245 result.Dispose();
246 }
247 }
248 catch (Exception e)
249 {
250 database.Reconnect();
251 MainLog.Instance.Error(e.ToString());
252 return returnlist;
253 }
254 }
255 return returnlist;
256 }
172 257
173 /// <summary> 258 /// <summary>
174 /// Returns a sim profile from it's UUID 259 /// Returns a sim profile from it's UUID
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
index 8846650..3ae1fba 100644
--- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
+++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs
@@ -97,7 +97,6 @@ namespace OpenSim.Framework.Data.MySQL
97 97
98 reader.Close(); 98 reader.Close();
99 result.Dispose(); 99 result.Dispose();
100
101 return row; 100 return row;
102 } 101 }
103 } 102 }
@@ -108,7 +107,87 @@ namespace OpenSim.Framework.Data.MySQL
108 return null; 107 return null;
109 } 108 }
110 } 109 }
110 public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
111 {
112 List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>();
113 string[] querysplit;
114 querysplit = query.Split(' ');
115 if (querysplit.Length == 2)
116 {
117 try
118 {
119 lock (database)
120 {
121 Dictionary<string, string> param = new Dictionary<string, string>();
122 param["?first"] = querysplit[0];
123 param["?second"] = querysplit[1];
124
125 IDbCommand result =
126 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param);
127 IDataReader reader = result.ExecuteReader();
128
129
130 while (reader.Read())
131 {
132 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
133 user.AvatarID = new LLUUID((string)reader["UUID"]);
134 user.firstName = (string)reader["username"];
135 user.lastName = (string)reader["surname"];
136 returnlist.Add(user);
137
138 }
139 reader.Close();
140 result.Dispose();
141 }
142 }
143 catch (Exception e)
144 {
145 database.Reconnect();
146 MainLog.Instance.Error(e.ToString());
147 return returnlist;
148 }
111 149
150
151
152 }
153 else if (querysplit.Length == 1)
154 {
155
156 try
157 {
158 lock (database)
159 {
160 Dictionary<string, string> param = new Dictionary<string, string>();
161 param["?first"] = querysplit[0];
162 param["?second"] = querysplit[1];
163
164 IDbCommand result =
165 database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param);
166 IDataReader reader = result.ExecuteReader();
167
168
169 while (reader.Read())
170 {
171 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
172 user.AvatarID = new LLUUID((string)reader["UUID"]);
173 user.firstName = (string)reader["username"];
174 user.lastName = (string)reader["surname"];
175 returnlist.Add(user);
176
177 }
178 reader.Close();
179 result.Dispose();
180 }
181 }
182 catch (Exception e)
183 {
184 database.Reconnect();
185 MainLog.Instance.Error(e.ToString());
186 return returnlist;
187 }
188 }
189 return returnlist;
190 }
112 /// <summary> 191 /// <summary>
113 /// Searches the database for a specified user profile by UUID 192 /// Searches the database for a specified user profile by UUID
114 /// </summary> 193 /// </summary>
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
index 8f3e8aa..b8fc639 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs
@@ -130,7 +130,16 @@ namespace OpenSim.Framework.Data.SQLite
130 130
131 return row; 131 return row;
132 } 132 }
133 133 /// <summary>
134 /// // Returns a list of avatar and UUIDs that match the query
135 /// </summary>
136
137 public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
138 {
139 //Do nothing yet
140 List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>();
141 return returnlist;
142 }
134 /// <summary> 143 /// <summary>
135 /// Adds a new specified region to the database 144 /// Adds a new specified region to the database
136 /// </summary> 145 /// </summary>
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs
index d7a6b39..1385ffc 100644
--- a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs
+++ b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs
@@ -26,16 +26,22 @@
26* 26*
27*/ 27*/
28using System; 28using System;
29using System.Collections.Generic;
29using System.Data; 30using System.Data;
30using libsecondlife; 31using libsecondlife;
31using Mono.Data.SqliteClient; 32using Mono.Data.SqliteClient;
33using OpenSim.Framework;
32using OpenSim.Framework.Console; 34using OpenSim.Framework.Console;
33 35
36
34namespace OpenSim.Framework.Data.SQLite 37namespace OpenSim.Framework.Data.SQLite
35{ 38{
36 /// <summary> 39 /// <summary>
37 /// A User storage interface for the DB4o database system 40 /// A User storage interface for the DB4o database system
38 /// </summary> 41 /// </summary>
42 ///
43
44
39 public class SQLiteUserData : SQLiteBase, IUserData 45 public class SQLiteUserData : SQLiteBase, IUserData
40 { 46 {
41 /// <summary> 47 /// <summary>
@@ -135,6 +141,53 @@ namespace OpenSim.Framework.Data.SQLite
135 } 141 }
136 } 142 }
137 143
144 public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query)
145 {
146 List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>();
147 string[] querysplit;
148 querysplit = query.Split(' ');
149 if (querysplit.Length == 2)
150 {
151 string select = "username like '" + querysplit[0] + "%' and surname like '" + querysplit[1] + "%'";
152 lock(ds)
153 {
154 DataRow[] rows = ds.Tables["users"].Select(select);
155 if (rows.Length > 0)
156 {
157 for (int i = 0; i < rows.Length; i++)
158 {
159 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
160 DataRow row = rows[i];
161 user.AvatarID = new LLUUID((string)row["UUID"]);
162 user.firstName = (string)row["username"];
163 user.lastName = (string)row["surname"];
164 returnlist.Add(user);
165 }
166 }
167 }
168 }
169 else if (querysplit.Length == 1)
170 {
171
172 string select = "username like '" + querysplit[0] + "%' OR surname like '" + querysplit[0] + "%'";
173 lock(ds)
174 {
175 DataRow[] rows = ds.Tables["users"].Select(select);
176 if (rows.Length > 0)
177 {
178 for (int i = 0;i<rows.Length;i++) {
179 OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar();
180 DataRow row = rows[i];
181 user.AvatarID = new LLUUID((string)row[0]);
182 user.firstName = (string)row[1];
183 user.lastName = (string)row[2];
184 returnlist.Add(user);
185 }
186 }
187 }
188 }
189 return returnlist;
190 }
138 /// <summary> 191 /// <summary>
139 /// Returns a user by UUID direct 192 /// Returns a user by UUID direct
140 /// </summary> 193 /// </summary>
diff --git a/OpenSim/Framework/Data/GridData.cs b/OpenSim/Framework/Data/GridData.cs
index b3b6ed7..23e7bf6 100644
--- a/OpenSim/Framework/Data/GridData.cs
+++ b/OpenSim/Framework/Data/GridData.cs
@@ -26,9 +26,19 @@
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29using System.Collections.Generic;
29 30
30namespace OpenSim.Framework.Data 31namespace OpenSim.Framework.Data
31{ 32{
33 public class AvatarPickerAvatar
34 {
35 public LLUUID AvatarID;
36 public string firstName;
37 public string lastName;
38 public AvatarPickerAvatar()
39 {
40 }
41 }
32 public enum DataResponse 42 public enum DataResponse
33 { 43 {
34 RESPONSE_OK, 44 RESPONSE_OK,
@@ -66,6 +76,8 @@ namespace OpenSim.Framework.Data
66 /// <returns>An array containing all the sim profiles in the specified range</returns> 76 /// <returns>An array containing all the sim profiles in the specified range</returns>
67 RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); 77 RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
68 78
79
80 List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query);
69 /// <summary> 81 /// <summary>
70 /// Authenticates a sim by use of it's recv key. 82 /// Authenticates a sim by use of it's recv key.
71 /// WARNING: Insecure 83 /// WARNING: Insecure
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index ab5dbb6..d577a20 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -228,6 +228,7 @@ namespace OpenSim.Framework
228 public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset); 228 public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset);
229 229
230 public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID); 230 public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID);
231 public delegate void AvatarPickerRequest(IClientAPI remoteClient, LLUUID agentdata, LLUUID queryID, string UserQuery);
231 232
232 public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient); 233 public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient);
233 234
@@ -305,6 +306,7 @@ namespace OpenSim.Framework
305 event UpdateAgent OnAgentUpdate; 306 event UpdateAgent OnAgentUpdate;
306 event AgentRequestSit OnAgentRequestSit; 307 event AgentRequestSit OnAgentRequestSit;
307 event AgentSit OnAgentSit; 308 event AgentSit OnAgentSit;
309 event AvatarPickerRequest OnAvatarPickerRequest;
308 event Action<IClientAPI> OnRequestAvatarsData; 310 event Action<IClientAPI> OnRequestAvatarsData;
309 event AddNewPrim OnAddPrim; 311 event AddNewPrim OnAddPrim;
310 event ObjectDuplicate OnObjectDuplicate; 312 event ObjectDuplicate OnObjectDuplicate;
@@ -423,6 +425,7 @@ namespace OpenSim.Framework
423 void SendRemoveInventoryItem(LLUUID itemID); 425 void SendRemoveInventoryItem(LLUUID itemID);
424 void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName); 426 void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName);
425 void SendXferPacket(ulong xferID, uint packet, byte[] data); 427 void SendXferPacket(ulong xferID, uint packet, byte[] data);
428 void SendAvatarPickerReply(AvatarPickerReplyPacket Pack);
426 429
427 void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID); 430 void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID);
428 void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags); 431 void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags);
diff --git a/OpenSim/Framework/IUserData.cs b/OpenSim/Framework/IUserData.cs
index cb2502a..6de9e08 100644
--- a/OpenSim/Framework/IUserData.cs
+++ b/OpenSim/Framework/IUserData.cs
@@ -26,6 +26,7 @@
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29using System.Collections.Generic;
29 30
30namespace OpenSim.Framework 31namespace OpenSim.Framework
31{ 32{
@@ -56,6 +57,8 @@ namespace OpenSim.Framework
56 /// <returns>The user data profile</returns> 57 /// <returns>The user data profile</returns>
57 UserProfileData GetUserByName(string fname, string lname); 58 UserProfileData GetUserByName(string fname, string lname);
58 59
60 List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query);
61
59 /// <summary> 62 /// <summary>
60 /// Returns the current agent for a user searching by it's UUID 63 /// Returns the current agent for a user searching by it's UUID
61 /// </summary> 64 /// </summary>
@@ -131,4 +134,13 @@ namespace OpenSim.Framework
131 /// </summary> 134 /// </summary>
132 void Initialise(); 135 void Initialise();
133 } 136 }
137 public class AvatarPickerAvatar
138 {
139 public LLUUID AvatarID;
140 public string firstName;
141 public string lastName;
142 public AvatarPickerAvatar()
143 {
144 }
145 }
134} \ No newline at end of file 146} \ No newline at end of file
diff --git a/OpenSim/Framework/IUserService.cs b/OpenSim/Framework/IUserService.cs
index 6465a48..de9865a 100644
--- a/OpenSim/Framework/IUserService.cs
+++ b/OpenSim/Framework/IUserService.cs
@@ -26,6 +26,7 @@
26* 26*
27*/ 27*/
28using libsecondlife; 28using libsecondlife;
29using System.Collections.Generic;
29 30
30namespace OpenSim.Framework.Interfaces 31namespace OpenSim.Framework.Interfaces
31{ 32{
@@ -35,6 +36,7 @@ namespace OpenSim.Framework.Interfaces
35 UserProfileData GetUserProfile(string name); 36 UserProfileData GetUserProfile(string name);
36 UserProfileData GetUserProfile(LLUUID userId); 37 UserProfileData GetUserProfile(LLUUID userId);
37 void clearUserAgent(LLUUID avatarID); 38 void clearUserAgent(LLUUID avatarID);
39 List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID QueryID, string Query);
38 40
39 UserProfileData SetupMasterUser(string firstName, string lastName); 41 UserProfileData SetupMasterUser(string firstName, string lastName);
40 UserProfileData SetupMasterUser(string firstName, string lastName, string password); 42 UserProfileData SetupMasterUser(string firstName, string lastName, string password);
diff --git a/OpenSim/Framework/UserProfileData.cs b/OpenSim/Framework/UserProfileData.cs
index d10aa36..9bd1ad1 100644
--- a/OpenSim/Framework/UserProfileData.cs
+++ b/OpenSim/Framework/UserProfileData.cs
@@ -146,6 +146,19 @@ namespace OpenSim.Framework
146 } 146 }
147 147
148 /// <summary> 148 /// <summary>
149 /// Minimal User Data required to service the AvatarPickerReply
150 /// </summary>
151 //public class AvatarPickerAvatar
152 //{
153 //public LLUUID AvatarID;
154 //public string firstName;
155 //public string lastName;
156 //public AvatarPickerAvatar()
157 //{
158 //}
159 //}
160
161 /// <summary>
149 /// Information about a users session 162 /// Information about a users session
150 /// </summary> 163 /// </summary>
151 public class UserAgentData 164 public class UserAgentData