OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IRCClientView.cs
Go to the documentation of this file.
1 /*
2  * Copyright (c) Contributors, http://opensimulator.org/
3  * See CONTRIBUTORS.TXT for a full list of copyright holders.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of the OpenSimulator Project nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
28 using System;
29 using System.Collections.Generic;
30 using System.IO;
31 using System.Net;
32 using System.Net.Sockets;
33 using System.Reflection;
34 using System.Text;
35 using System.Threading;
36 using log4net;
37 using OpenMetaverse;
38 using OpenMetaverse.Packets;
39 using OpenSim.Framework;
40 using OpenSim.Framework.Client;
41 using OpenSim.Framework.Monitoring;
42 using OpenSim.Region.Framework.Scenes;
43 
44 namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
45 {
46  public delegate void OnIRCClientReadyDelegate(IRCClientView cv);
47 
49  {
50  public event OnIRCClientReadyDelegate OnIRCReady;
51 
52  private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
53 
54  private readonly TcpClient m_client;
55  private readonly Scene m_scene;
56 
57  private UUID m_agentID = UUID.Random();
58 
59  public ISceneAgent SceneAgent { get; set; }
60 
61  public int PingTimeMS { get { return 0; } }
62 
63  private string m_username;
64  private string m_nick;
65 
66  private bool m_hasNick = false;
67  private bool m_hasUser = false;
68 
69  private bool m_connected = true;
70 
71  public List<uint> SelectedObjects {get; private set;}
72 
73  public IRCClientView(TcpClient client, Scene scene)
74  {
75  m_client = client;
76  m_scene = scene;
77 
78  WorkManager.StartThread(InternalLoop, "IRCClientView", ThreadPriority.Normal, false, true);
79  }
80 
81  private void SendServerCommand(string command)
82  {
83  SendCommand(":opensimircd " + command);
84  }
85 
86  private void SendCommand(string command)
87  {
88  m_log.Info("[IRCd] Sending >>> " + command);
89 
90  byte[] buf = Util.UTF8.GetBytes(command + "\r\n");
91 
92  m_client.GetStream().BeginWrite(buf, 0, buf.Length, SendComplete, null);
93  }
94 
95  private void SendComplete(IAsyncResult result)
96  {
97  m_log.Info("[IRCd] Send Complete.");
98  }
99 
100  private string IrcRegionName
101  {
102  // I know &Channel is more technically correct, but people are used to seeing #Channel
103  // Dont shoot me!
104  get { return "#" + m_scene.RegionInfo.RegionName.Replace(" ", "-"); }
105  }
106 
107  private void InternalLoop()
108  {
109  try
110  {
111  string strbuf = String.Empty;
112 
113  while (m_connected && m_client.Connected)
114  {
115  byte[] buf = new byte[8]; // RFC1459 defines max message size as 512.
116 
117  int count = m_client.GetStream().Read(buf, 0, buf.Length);
118  string line = Util.UTF8.GetString(buf, 0, count);
119 
120  strbuf += line;
121 
122  string message = ExtractMessage(strbuf);
123  if (message != null)
124  {
125  // Remove from buffer
126  strbuf = strbuf.Remove(0, message.Length);
127 
128  m_log.Info("[IRCd] Recieving <<< " + message);
129  message = message.Trim();
130 
131  // Extract command sequence
132  string command = ExtractCommand(message);
133  ProcessInMessage(message, command);
134  }
135  else
136  {
137  //m_log.Info("[IRCd] Recieved data, but not enough to make a message. BufLen is " + strbuf.Length +
138  // "[" + strbuf + "]");
139  if (strbuf.Length == 0)
140  {
141  m_connected = false;
142  m_log.Info("[IRCd] Buffer zero, closing...");
143  if (OnDisconnectUser != null)
144  OnDisconnectUser();
145  }
146  }
147 
148  Thread.Sleep(0);
149  Watchdog.UpdateThread();
150  }
151  }
152  catch (IOException)
153  {
154  if (OnDisconnectUser != null)
155  OnDisconnectUser();
156 
157  m_log.Warn("[IRCd] Disconnected client.");
158  }
159  catch (SocketException)
160  {
161  if (OnDisconnectUser != null)
162  OnDisconnectUser();
163 
164  m_log.Warn("[IRCd] Disconnected client.");
165  }
166 
167  Watchdog.RemoveThread();
168  }
169 
170  private void ProcessInMessage(string message, string command)
171  {
172  m_log.Info("[IRCd] Processing [MSG:" + message + "] [COM:" + command + "]");
173  if (command != null)
174  {
175  switch (command)
176  {
177  case "ADMIN":
178  case "AWAY":
179  case "CONNECT":
180  case "DIE":
181  case "ERROR":
182  case "INFO":
183  case "INVITE":
184  case "ISON":
185  case "KICK":
186  case "KILL":
187  case "LINKS":
188  case "LUSERS":
189  case "OPER":
190  case "PART":
191  case "REHASH":
192  case "SERVICE":
193  case "SERVLIST":
194  case "SERVER":
195  case "SQUERY":
196  case "SQUIT":
197  case "STATS":
198  case "SUMMON":
199  case "TIME":
200  case "TRACE":
201  case "VERSION":
202  case "WALLOPS":
203  case "WHOIS":
204  case "WHOWAS":
205  SendServerCommand("421 " + command + " :Command unimplemented");
206  break;
207 
208  // Connection Commands
209  case "PASS":
210  break; // Ignore for now. I want to implement authentication later however.
211 
212  case "JOIN":
213  IRC_SendReplyJoin();
214  break;
215 
216  case "MODE":
217  IRC_SendReplyModeChannel();
218  break;
219 
220  case "USER":
221  IRC_ProcessUser(message);
222  IRC_Ready();
223  break;
224 
225  case "USERHOST":
226  string[] userhostArgs = ExtractParameters(message);
227  if (userhostArgs[0] == ":" + m_nick)
228  {
229  SendServerCommand("302 :" + m_nick + "=+" + m_nick + "@" +
230  ((IPEndPoint) m_client.Client.RemoteEndPoint).Address);
231  }
232  break;
233  case "NICK":
234  IRC_ProcessNick(message);
235  IRC_Ready();
236 
237  break;
238  case "TOPIC":
239  IRC_SendReplyTopic();
240  break;
241  case "USERS":
242  IRC_SendReplyUsers();
243  break;
244 
245  case "LIST":
246  break; // TODO
247 
248  case "MOTD":
249  IRC_SendMOTD();
250  break;
251 
252  case "NOTICE": // TODO
253  break;
254 
255  case "WHO": // TODO
256  IRC_SendNamesReply();
257  IRC_SendWhoReply();
258  break;
259 
260  case "PING":
261  IRC_ProcessPing(message);
262  break;
263 
264  // Special case, ignore this completely.
265  case "PONG":
266  break;
267 
268  case "QUIT":
269  if (OnDisconnectUser != null)
270  OnDisconnectUser();
271  break;
272 
273  case "NAMES":
274  IRC_SendNamesReply();
275  break;
276  case "PRIVMSG":
277  IRC_ProcessPrivmsg(message);
278  break;
279 
280  default:
281  SendServerCommand("421 " + command + " :Unknown command");
282  break;
283  }
284  }
285  }
286 
287  private void IRC_Ready()
288  {
289  if (m_hasUser && m_hasNick)
290  {
291  SendServerCommand("001 " + m_nick + " :Welcome to OpenSimulator IRCd");
292  SendServerCommand("002 " + m_nick + " :Running OpenSimVersion");
293  SendServerCommand("003 " + m_nick + " :This server was created over 9000 years ago");
294  SendServerCommand("004 " + m_nick + " :opensimirc r1 aoOirw abeiIklmnoOpqrstv");
295  SendServerCommand("251 " + m_nick + " :There are 0 users and 0 services on 1 servers");
296  SendServerCommand("252 " + m_nick + " 0 :operators online");
297  SendServerCommand("253 " + m_nick + " 0 :unknown connections");
298  SendServerCommand("254 " + m_nick + " 1 :channels formed");
299  SendServerCommand("255 " + m_nick + " :I have 1 users, 0 services and 1 servers");
300  SendCommand(":" + m_nick + " MODE " + m_nick + " :+i");
301  SendCommand(":" + m_nick + " JOIN :" + IrcRegionName);
302 
303  // Rename to 'Real Name'
304  SendCommand(":" + m_nick + " NICK :" + m_username.Replace(" ", ""));
305  m_nick = m_username.Replace(" ", "");
306 
307  IRC_SendReplyJoin();
308  IRC_SendChannelPrivmsg("System", "Welcome to OpenSimulator.");
309  IRC_SendChannelPrivmsg("System", "You are in a maze of twisty little passages, all alike.");
310  IRC_SendChannelPrivmsg("System", "It is pitch black. You are likely to be eaten by a grue.");
311 
312  if (OnIRCReady != null)
313  OnIRCReady(this);
314  }
315  }
316 
317  private void IRC_SendReplyJoin()
318  {
319  IRC_SendReplyTopic();
320  IRC_SendNamesReply();
321  }
322 
323  private void IRC_SendReplyModeChannel()
324  {
325  SendServerCommand("324 " + m_nick + " " + IrcRegionName + " +n");
326  //SendCommand(":" + IrcRegionName + " MODE +n");
327  }
328 
329  private void IRC_ProcessUser(string message)
330  {
331  string[] userArgs = ExtractParameters(message);
332  // TODO: unused: string username = userArgs[0];
333  // TODO: unused: string hostname = userArgs[1];
334  // TODO: unused: string servername = userArgs[2];
335  string realname = userArgs[3].Replace(":", "");
336 
337  m_username = realname;
338  m_hasUser = true;
339  }
340 
341  private void IRC_ProcessNick(string message)
342  {
343  string[] nickArgs = ExtractParameters(message);
344  string nickname = nickArgs[0].Replace(":","");
345  m_nick = nickname;
346  m_hasNick = true;
347  }
348 
349  private void IRC_ProcessPing(string message)
350  {
351  string[] pingArgs = ExtractParameters(message);
352  string pingHost = pingArgs[0];
353  SendCommand("PONG " + pingHost);
354  }
355 
356  private void IRC_ProcessPrivmsg(string message)
357  {
358  string[] privmsgArgs = ExtractParameters(message);
359  if (privmsgArgs[0] == IrcRegionName)
360  {
361  if (OnChatFromClient != null)
362  {
363  OSChatMessage msg = new OSChatMessage();
364  msg.Sender = this;
365  msg.Channel = 0;
366  msg.From = this.Name;
367  msg.Message = privmsgArgs[1].Replace(":", "");
368  msg.Position = Vector3.Zero;
369  msg.Scene = m_scene;
370  msg.SenderObject = null;
371  msg.SenderUUID = this.AgentId;
372  msg.Type = ChatTypeEnum.Say;
373 
374  OnChatFromClient(this, msg);
375  }
376  }
377  else
378  {
379  // Handle as an IM, later.
380  }
381  }
382 
383  private void IRC_SendNamesReply()
384  {
385  EntityBase[] users = m_scene.Entities.GetAllByType<ScenePresence>();
386  foreach (EntityBase user in users)
387  {
388  SendServerCommand("353 " + m_nick + " = " + IrcRegionName + " :" + user.Name.Replace(" ", ""));
389  }
390  SendServerCommand("366 " + IrcRegionName + " :End of /NAMES list");
391  }
392 
393  private void IRC_SendWhoReply()
394  {
395  EntityBase[] users = m_scene.Entities.GetAllByType<ScenePresence>();
396  foreach (EntityBase user in users)
397  {
398  /*SendServerCommand(String.Format("352 {0} {1} {2} {3} {4} {5} :0 {6}", IrcRegionName,
399  user.Name.Replace(" ", ""), "nohost.com", "opensimircd",
400  user.Name.Replace(" ", ""), 'H', user.Name));*/
401 
402  SendServerCommand("352 " + m_nick + " " + IrcRegionName + " n=" + user.Name.Replace(" ", "") + " fakehost.com " + user.Name.Replace(" ", "") + " H " + ":0 " + user.Name);
403 
404  //SendServerCommand("352 " + IrcRegionName + " " + user.Name.Replace(" ", "") + " nohost.com irc.opensimulator " + user.Name.Replace(" ", "") + " H " + ":0 " + user.Name);
405  }
406  SendServerCommand("315 " + m_nick + " " + IrcRegionName + " :End of /WHO list");
407  }
408 
409  private void IRC_SendMOTD()
410  {
411  SendServerCommand("375 :- OpenSimulator Message of the day -");
412  SendServerCommand("372 :- Hiya!");
413  SendServerCommand("376 :End of /MOTD command");
414  }
415 
416  private void IRC_SendReplyTopic()
417  {
418  SendServerCommand("332 " + IrcRegionName + " :OpenSimulator IRC Server");
419  }
420 
421  private void IRC_SendReplyUsers()
422  {
423  EntityBase[] users = m_scene.Entities.GetAllByType<ScenePresence>();
424 
425  SendServerCommand("392 :UserID Terminal Host");
426 
427  if (users.Length == 0)
428  {
429  SendServerCommand("395 :Nobody logged in");
430  return;
431  }
432 
433  foreach (EntityBase user in users)
434  {
435  char[] nom = new char[8];
436  char[] term = "terminal_".ToCharArray();
437  char[] host = "hostname".ToCharArray();
438 
439  string userName = user.Name.Replace(" ","");
440  for (int i = 0; i < nom.Length; i++)
441  {
442  if (userName.Length < i)
443  nom[i] = userName[i];
444  else
445  nom[i] = ' ';
446  }
447 
448  SendServerCommand("393 :" + nom + " " + term + " " + host + "");
449  }
450 
451  SendServerCommand("394 :End of users");
452  }
453 
454  private static string ExtractMessage(string buffer)
455  {
456  int pos = buffer.IndexOf("\r\n");
457 
458  if (pos == -1)
459  return null;
460 
461  string command = buffer.Substring(0, pos + 2);
462 
463  return command;
464  }
465 
466  private static string ExtractCommand(string msg)
467  {
468  string[] msgs = msg.Split(' ');
469 
470  if (msgs.Length < 2)
471  {
472  m_log.Warn("[IRCd] Dropped msg: " + msg);
473  return null;
474  }
475 
476  if (msgs[0].StartsWith(":"))
477  return msgs[1];
478 
479  return msgs[0];
480  }
481 
482  private static string[] ExtractParameters(string msg)
483  {
484  string[] msgs = msg.Split(' ');
485  List<string> parms = new List<string>(msgs.Length);
486 
487  bool foundCommand = false;
488  string command = ExtractCommand(msg);
489 
490 
491  for (int i=0;i<msgs.Length;i++)
492  {
493  if (msgs[i] == command)
494  {
495  foundCommand = true;
496  continue;
497  }
498 
499  if (foundCommand != true)
500  continue;
501 
502  if (i != 0 && msgs[i].StartsWith(":"))
503  {
504  List<string> tmp = new List<string>();
505  for (int j=i;j<msgs.Length;j++)
506  {
507  tmp.Add(msgs[j]);
508  }
509  parms.Add(string.Join(" ", tmp.ToArray()));
510  break;
511  }
512 
513  parms.Add(msgs[i]);
514  }
515 
516  return parms.ToArray();
517  }
518 
519  #region Implementation of IClientAPI
520 
521  public Vector3 StartPos
522  {
523  get { return new Vector3(m_scene.RegionInfo.RegionSizeX * 0.5f, m_scene.RegionInfo.RegionSizeY * 0.5f, 50f); }
524  set { }
525  }
526 
527  public bool TryGet<T>(out T iface)
528  {
529  iface = default(T);
530  return false;
531  }
532 
533  public T Get<T>()
534  {
535  return default(T);
536  }
537 
538  public UUID AgentId
539  {
540  get { return m_agentID; }
541  }
542 
543  public void Disconnect(string reason)
544  {
545  IRC_SendChannelPrivmsg("System", "You have been eaten by a grue. (" + reason + ")");
546 
547  m_connected = false;
548  m_client.Close();
549  }
550 
551  public void Disconnect()
552  {
553  IRC_SendChannelPrivmsg("System", "You have been eaten by a grue.");
554 
555  m_connected = false;
556  m_client.Close();
557  SceneAgent = null;
558  }
559 
560  public UUID SessionId
561  {
562  get { return m_agentID; }
563  }
564 
565  public UUID SecureSessionId
566  {
567  get { return m_agentID; }
568  }
569 
570  public UUID ActiveGroupId
571  {
572  get { return UUID.Zero; }
573  }
574 
575  public string ActiveGroupName
576  {
577  get { return "IRCd User"; }
578  }
579 
580  public ulong ActiveGroupPowers
581  {
582  get { return 0; }
583  }
584 
585  public ulong GetGroupPowers(UUID groupID)
586  {
587  return 0;
588  }
589 
590  public bool IsGroupMember(UUID GroupID)
591  {
592  return false;
593  }
594 
595  public string FirstName
596  {
597  get
598  {
599  string[] names = m_username.Split(' ');
600  return names[0];
601  }
602  }
603 
604  public string LastName
605  {
606  get
607  {
608  string[] names = m_username.Split(' ');
609  if (names.Length > 1)
610  return names[1];
611  return names[0];
612  }
613  }
614 
615  public IScene Scene
616  {
617  get { return m_scene; }
618  }
619 
620  public int NextAnimationSequenceNumber
621  {
622  get { return 0; }
623  }
624 
625  public string Name
626  {
627  get { return m_username; }
628  }
629 
630  public bool IsActive
631  {
632  get { return true; }
633  set { if (!value) Disconnect("IsActive Disconnected?"); }
634  }
635 
636  public bool IsLoggingOut
637  {
638  get { return false; }
639  set { }
640  }
641 
642  public bool SendLogoutPacketWhenClosing
643  {
644  set { }
645  }
646 
647  public uint CircuitCode
648  {
649  get { return (uint)Util.RandomClass.Next(0,int.MaxValue); }
650  }
651 
652  public IPEndPoint RemoteEndPoint
653  {
654  get { return (IPEndPoint)m_client.Client.RemoteEndPoint; }
655  }
656 
657 #pragma warning disable 67
662  public event RezObject OnRezObject;
675  public event ObjectDrop OnObjectDrop;
676  public event StartAnim OnStartAnim;
677  public event StopAnim OnStopAnim;
678  public event ChangeAnim OnChangeAnim;
691  public event Action<IClientAPI> OnRegionHandShakeReply;
693  public event Action<IClientAPI, bool> OnCompleteMovementToRegion;
698  public event AgentSit OnAgentSit;
700  public event Action<IClientAPI> OnRequestAvatarsData;
701  public event AddNewPrim OnAddPrim;
708  public event GrabObject OnGrabObject;
710  public event MoveObject OnGrabUpdate;
711  public event SpinStart OnSpinStart;
712  public event SpinObject OnSpinUpdate;
713  public event SpinStop OnSpinStop;
737  public event Action<UUID> OnRemoveAvatar;
757  public event AbortXfer OnAbortXfer;
758  public event RezScript OnRezScript;
787  public event ParcelBuy OnParcelBuy;
790  public event ObjectBuy OnObjectBuy;
797  public event AgentSit OnUndo;
798  public event AgentSit OnRedo;
799  public event LandUndo OnLandUndo;
824  public event Action<Vector3, bool, bool> OnAutoPilotGo;
842  public event StartLure OnStartLure;
856  public event PickDelete OnPickDelete;
884 
885 #pragma warning restore 67
886 
887  public int DebugPacketLevel { get; set; }
888 
889  public void InPacket(object NewPack)
890  {
891 
892  }
893 
894  public void ProcessInPacket(Packet NewPack)
895  {
896 
897  }
898 
899  public void Close()
900  {
901  Close(true, false);
902  }
903 
904  public void Close(bool sendStop, bool force)
905  {
906  Disconnect();
907  }
908 
909  public void Kick(string message)
910  {
911  Disconnect(message);
912  }
913 
914  public void Start()
915  {
916  m_scene.AddNewAgent(this, PresenceType.User);
917 
918  // Mimicking LLClientView which gets always set appearance from client.
919  AvatarAppearance appearance;
920  m_scene.GetAvatarAppearance(this, out appearance);
921  OnSetAppearance(this, appearance.Texture, (byte[])appearance.VisualParams.Clone(),appearance.AvatarSize, new WearableCacheItem[0]);
922  }
923 
924  public void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
925  {
926  m_log.Info("[IRCd ClientStack] Completing Handshake to Region");
927 
928  if (OnRegionHandShakeReply != null)
929  {
930  OnRegionHandShakeReply(this);
931  }
932 
933  if (OnCompleteMovementToRegion != null)
934  {
935  OnCompleteMovementToRegion(this, true);
936  }
937  }
938 
939  public void Stop()
940  {
941  Disconnect();
942  }
943 
944  public void SendWearables(AvatarWearable[] wearables, int serial)
945  {
946 
947  }
948 
949  public void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
950  {
951 
952  }
953 
954  public void SendCachedTextureResponse(ISceneEntity avatar, int serial, List<CachedTextureResponseArg> cachedTextures)
955  {
956 
957  }
958 
959  public void SendStartPingCheck(byte seq)
960  {
961 
962  }
963 
964  public void SendKillObject(List<uint> localID)
965  {
966 
967  }
968 
969  public void SendAnimations(UUID[] animID, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
970  {
971 
972  }
973 
974  public void SendChatMessage(
975  string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, UUID ownerID, byte source, byte audible)
976  {
977  if (audible > 0 && message.Length > 0)
978  IRC_SendChannelPrivmsg(fromName, message);
979  }
980 
981  private void IRC_SendChannelPrivmsg(string fromName, string message)
982  {
983  SendCommand(":" + fromName.Replace(" ", "") + " PRIVMSG " + IrcRegionName + " :" + message);
984  }
985 
987  {
988  // TODO
989  }
990 
991  public void SendGenericMessage(string method, UUID invoice, List<string> message)
992  {
993 
994  }
995 
996  public void SendGenericMessage(string method, UUID invoice, List<byte[]> message)
997  {
998 
999  }
1000 
1001  public virtual bool CanSendLayerData()
1002  {
1003  return false;
1004  }
1005 
1006  public void SendLayerData(float[] map)
1007  {
1008 
1009  }
1010 
1011  public void SendLayerData(int px, int py, float[] map)
1012  {
1013 
1014  }
1015 
1016  public void SendWindData(Vector2[] windSpeeds)
1017  {
1018 
1019  }
1020 
1021  public void SendCloudData(float[] cloudCover)
1022  {
1023 
1024  }
1025 
1026  public void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
1027  {
1028 
1029  }
1030 
1031  public void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
1032  {
1033 
1034  }
1035 
1037  {
1038  return new AgentCircuitData();
1039  }
1040 
1041  public void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL)
1042  {
1043 
1044  }
1045 
1046  public void SendMapBlock(List<MapBlockData> mapBlocks, uint flag)
1047  {
1048 
1049  }
1050 
1051  public void SendLocalTeleport(Vector3 position, Vector3 lookAt, uint flags)
1052  {
1053 
1054  }
1055 
1056  public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL)
1057  {
1058 
1059  }
1060 
1061  public void SendTeleportFailed(string reason)
1062  {
1063 
1064  }
1065 
1066  public void SendTeleportStart(uint flags)
1067  {
1068 
1069  }
1070 
1071  public void SendTeleportProgress(uint flags, string message)
1072  {
1073  }
1074 
1075  public void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
1076  {
1077 
1078  }
1079 
1080  public void SendPayPrice(UUID objectID, int[] payPrice)
1081  {
1082 
1083  }
1084 
1085  public void SendCoarseLocationUpdate(List<UUID> users, List<Vector3> CoarseLocations)
1086  {
1087 
1088  }
1089 
1091  {
1092 
1093  }
1094 
1095  public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
1096  {
1097 
1098  }
1099 
1100  public void ReprioritizeUpdates()
1101  {
1102 
1103  }
1104 
1105  public void FlushPrimUpdates()
1106  {
1107 
1108  }
1109 
1110  public void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, List<InventoryFolderBase> folders, int version, bool fetchFolders, bool fetchItems)
1111  {
1112 
1113  }
1114 
1115  public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item)
1116  {
1117 
1118  }
1119 
1120  public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
1121  {
1122 
1123  }
1124 
1125  public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
1126  {
1127 
1128  }
1129 
1130  public void SendRemoveInventoryItem(UUID itemID)
1131  {
1132 
1133  }
1134 
1135  public void SendTakeControls(int controls, bool passToAgent, bool TakeControls)
1136  {
1137 
1138  }
1139 
1140  public void SendTaskInventory(UUID taskID, short serial, byte[] fileName)
1141  {
1142 
1143  }
1144 
1146  {
1147 
1148  }
1149 
1150  public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
1151  {
1152 
1153  }
1154 
1155  public void SendAbortXferPacket(ulong xferID)
1156  {
1157 
1158  }
1159 
1160  public void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit, int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor, int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay, int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent)
1161  {
1162 
1163  }
1164 
1165  public void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List<AvatarPickerReplyDataArgs> Data)
1166  {
1167 
1168  }
1169 
1170  public void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
1171  {
1172 
1173  }
1174 
1175  public void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID)
1176  {
1177 
1178  }
1179 
1180  public void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags)
1181  {
1182 
1183  }
1184 
1185  public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
1186  {
1187 
1188  }
1189 
1190  public void SendAttachedSoundGainChange(UUID objectID, float gain)
1191  {
1192 
1193  }
1194 
1195  public void SendNameReply(UUID profileId, string firstname, string lastname)
1196  {
1197 
1198  }
1199 
1200  public void SendAlertMessage(string message)
1201  {
1202  IRC_SendChannelPrivmsg("Alert",message);
1203  }
1204 
1205  public void SendAgentAlertMessage(string message, bool modal)
1206  {
1207 
1208  }
1209 
1210  public void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url)
1211  {
1212  IRC_SendChannelPrivmsg(objectname,url);
1213  }
1214 
1215  public void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels)
1216  {
1217 
1218  }
1219 
1220  public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
1221  {
1222 
1223  }
1224 
1225  public void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks)
1226  {
1227 
1228  }
1229 
1230  public void SendViewerTime(int phase)
1231  {
1232 
1233  }
1234 
1235  public void SendAvatarProperties(UUID avatarID, string aboutText, string bornOn, byte[] charterMember, string flAbout, uint flags, UUID flImageID, UUID imageID, string profileURL, UUID partnerID)
1236  {
1237 
1238  }
1239 
1240  public void SendScriptQuestion(UUID taskID, string taskName, string ownerName, UUID itemID, int question)
1241  {
1242 
1243  }
1244 
1245  public void SendHealth(float health)
1246  {
1247 
1248  }
1249 
1250  public void SendEstateList(UUID invoice, int code, UUID[] Data, uint estateID)
1251  {
1252 
1253  }
1254 
1255  public void SendBannedUserList(UUID invoice, EstateBan[] banlist, uint estateID)
1256  {
1257 
1258  }
1259 
1261  {
1262 
1263  }
1264 
1265  public void SendEstateCovenantInformation(UUID covenant)
1266  {
1267 
1268  }
1269 
1270  public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
1271  {
1272 
1273  }
1274 
1275  public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, ILandObject lo, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
1276  {
1277 
1278  }
1279 
1280  public void SendLandAccessListData(List<LandAccessEntry> accessList, uint accessFlag, int localLandID)
1281  {
1282 
1283  }
1284 
1285  public void SendForceClientSelectObjects(List<uint> objectIDs)
1286  {
1287 
1288  }
1289 
1290  public void SendCameraConstraint(Vector4 ConstraintPlane)
1291  {
1292 
1293  }
1294 
1295  public void SendLandObjectOwners(LandData land, List<UUID> groups, Dictionary<UUID, int> ownersAndCount)
1296  {
1297 
1298  }
1299 
1300  public void SendLandParcelOverlay(byte[] data, int sequence_id)
1301  {
1302 
1303  }
1304 
1305  public void SendParcelMediaCommand(uint flags, ParcelMediaCommandEnum command, float time)
1306  {
1307 
1308  }
1309 
1310  public void SendParcelMediaUpdate(string mediaUrl, UUID mediaTextureID, byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop)
1311  {
1312 
1313  }
1314 
1315  public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
1316  {
1317 
1318  }
1319 
1320  public void SendConfirmXfer(ulong xferID, uint PacketID)
1321  {
1322 
1323  }
1324 
1325  public void SendXferRequest(ulong XferID, short AssetType, UUID vFileID, byte FilePath, byte[] FileName)
1326  {
1327 
1328  }
1329 
1330  public void SendInitiateDownload(string simFileName, string clientFileName)
1331  {
1332 
1333  }
1334 
1335  public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
1336  {
1337 
1338  }
1339 
1340  public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
1341  {
1342 
1343  }
1344 
1345  public void SendImageNotFound(UUID imageid)
1346  {
1347 
1348  }
1349 
1351  {
1352  // TODO
1353  }
1354 
1355  public void SendSimStats(SimStats stats)
1356  {
1357 
1358  }
1359 
1360  public void SendObjectPropertiesFamilyData(ISceneEntity Entity, uint RequestFlags)
1361  {
1362 
1363  }
1364 
1366  {
1367  }
1368 
1369  public void SendAgentOffline(UUID[] agentIDs)
1370  {
1371 
1372  }
1373 
1374  public void SendAgentOnline(UUID[] agentIDs)
1375  {
1376 
1377  }
1378 
1379  public void SendFindAgent(UUID HunterID, UUID PreyID, double GlobalX, double GlobalY)
1380  {
1381  }
1382 
1383  public void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot, Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook)
1384  {
1385 
1386  }
1387 
1388  public void SendAdminResponse(UUID Token, uint AdminLevel)
1389  {
1390 
1391  }
1392 
1393  public void SendGroupMembership(GroupMembershipData[] GroupMembership)
1394  {
1395 
1396  }
1397 
1398  public void SendGroupNameReply(UUID groupLLUID, string GroupName)
1399  {
1400 
1401  }
1402 
1403  public void SendJoinGroupReply(UUID groupID, bool success)
1404  {
1405 
1406  }
1407 
1408  public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success)
1409  {
1410 
1411  }
1412 
1413  public void SendLeaveGroupReply(UUID groupID, bool success)
1414  {
1415 
1416  }
1417 
1418  public void SendCreateGroupReply(UUID groupID, bool success, string message)
1419  {
1420 
1421  }
1422 
1423  public void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia)
1424  {
1425 
1426  }
1427 
1428  public void SendScriptRunningReply(UUID objectID, UUID itemID, bool running)
1429  {
1430 
1431  }
1432 
1434  {
1435 
1436  }
1437 
1438  public void SendTexture(AssetBase TextureAsset)
1439  {
1440 
1441  }
1442 
1443  public virtual void SetChildAgentThrottle(byte[] throttle)
1444  {
1445 
1446  }
1447 
1448  public virtual void SetChildAgentThrottle(byte[] throttle,float factor)
1449  {
1450 
1451  }
1452 
1453  public void SetAgentThrottleSilent(int throttle, int setting)
1454  {
1455 
1456 
1457  }
1458  public byte[] GetThrottlesPacked(float multiplier)
1459  {
1460  return new byte[0];
1461  }
1462 
1463 #pragma warning disable 0067
1465  public event Action<IClientAPI> OnLogout;
1466  public event Action<IClientAPI> OnConnectionClosed;
1467 #pragma warning restore 0067
1468 
1469  public void SendBlueBoxMessage(UUID FromAvatarID, string FromAvatarName, string Message)
1470  {
1471  IRC_SendChannelPrivmsg(FromAvatarName, Message);
1472  }
1473 
1474  public void SendLogoutPacket()
1475  {
1476  Disconnect();
1477  }
1478 
1480  {
1481  return new ClientInfo();
1482  }
1483 
1484  public void SetClientInfo(ClientInfo info)
1485  {
1486 
1487  }
1488 
1489  public void SetClientOption(string option, string value)
1490  {
1491 
1492  }
1493 
1494  public string GetClientOption(string option)
1495  {
1496  return String.Empty;
1497  }
1498 
1499  public void Terminate()
1500  {
1501  Disconnect();
1502  }
1503 
1504  public void SendSetFollowCamProperties(UUID objectID, SortedDictionary<int, float> parameters)
1505  {
1506 
1507  }
1508 
1509  public void SendClearFollowCamProperties(UUID objectID)
1510  {
1511 
1512  }
1513 
1514  public void SendRegionHandle(UUID regoinID, ulong handle)
1515  {
1516 
1517  }
1518 
1519  public void SendParcelInfo(RegionInfo info, LandData land, UUID parcelID, uint x, uint y)
1520  {
1521 
1522  }
1523 
1524  public void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
1525  {
1526 
1527  }
1528 
1529  public void SendDirPlacesReply(UUID queryID, DirPlacesReplyData[] data)
1530  {
1531 
1532  }
1533 
1534  public void SendDirPeopleReply(UUID queryID, DirPeopleReplyData[] data)
1535  {
1536 
1537  }
1538 
1539  public void SendDirEventsReply(UUID queryID, DirEventsReplyData[] data)
1540  {
1541 
1542  }
1543 
1544  public void SendDirGroupsReply(UUID queryID, DirGroupsReplyData[] data)
1545  {
1546 
1547  }
1548 
1549  public void SendDirClassifiedReply(UUID queryID, DirClassifiedReplyData[] data)
1550  {
1551 
1552  }
1553 
1554  public void SendDirLandReply(UUID queryID, DirLandReplyData[] data)
1555  {
1556 
1557  }
1558 
1559  public void SendDirPopularReply(UUID queryID, DirPopularReplyData[] data)
1560  {
1561 
1562  }
1563 
1564  public void SendEventInfoReply(EventData info)
1565  {
1566 
1567  }
1568 
1569  public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint)
1570  {
1571 
1572  }
1573 
1574  public void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags)
1575  {
1576 
1577  }
1578 
1579  public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data)
1580  {
1581 
1582  }
1583 
1584  public void SendAgentGroupDataUpdate(UUID avatarID, GroupMembershipData[] data)
1585  {
1586 
1587  }
1588 
1589  public void SendOfferCallingCard(UUID srcID, UUID transactionID)
1590  {
1591 
1592  }
1593 
1594  public void SendAcceptCallingCard(UUID transactionID)
1595  {
1596 
1597  }
1598 
1599  public void SendDeclineCallingCard(UUID transactionID)
1600  {
1601 
1602  }
1603 
1604  public void SendTerminateFriend(UUID exFriendID)
1605  {
1606 
1607  }
1608 
1609  public void SendAvatarClassifiedReply(UUID targetID, UUID[] classifiedID, string[] name)
1610  {
1611 
1612  }
1613 
1614  public void SendClassifiedInfoReply(UUID classifiedID, UUID creatorID, uint creationDate, uint expirationDate, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, string simName, Vector3 globalPos, string parcelName, byte classifiedFlags, int price)
1615  {
1616 
1617  }
1618 
1619  public void SendAgentDropGroup(UUID groupID)
1620  {
1621 
1622  }
1623 
1625  {
1626 
1627  }
1628 
1629  public void SendAvatarNotesReply(UUID targetID, string text)
1630  {
1631 
1632  }
1633 
1634  public void SendAvatarPicksReply(UUID targetID, Dictionary<UUID, string> picks)
1635  {
1636 
1637  }
1638 
1639  public void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
1640  {
1641 
1642  }
1643 
1644  public void SendAvatarClassifiedReply(UUID targetID, Dictionary<UUID, string> classifieds)
1645  {
1646 
1647  }
1648 
1649  public void SendAvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages)
1650  {
1651 
1652  }
1653 
1654  public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
1655  {
1656 
1657  }
1658 
1659  public void SendUserInfoReply(bool imViaEmail, bool visible, string email)
1660  {
1661 
1662  }
1663 
1665  {
1666 
1667  }
1668 
1669  public void SendMuteListUpdate(string filename)
1670  {
1671 
1672  }
1673 
1674  public bool AddGenericPacketHandler(string MethodName, GenericMessage handler)
1675  {
1676  return true;
1677  }
1678 
1679  #endregion
1680 
1681  public void SendRebakeAvatarTextures(UUID textureID)
1682  {
1683  }
1684 
1685  public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1686  {
1687  }
1688 
1689  public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1690  {
1691  }
1692 
1693  public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1694  {
1695  }
1696 
1697  public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1698  {
1699  }
1700 
1701  public void SendGroupVoteHistory(UUID groupID, UUID transactionID, GroupVoteHistory[] Votes)
1702  {
1703  }
1704 
1705  public void SendGroupActiveProposals(UUID groupID, UUID transactionID, GroupActiveProposals[] Proposals)
1706  {
1707  }
1708 
1709  public void SendChangeUserRights(UUID agentID, UUID friendID, int rights)
1710  {
1711  }
1712 
1713  public void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId)
1714  {
1715  }
1716 
1717  public void SendAgentTerseUpdate(ISceneEntity presence)
1718  {
1719  }
1720 
1721  public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
1722  {
1723  }
1724 
1726  {
1727  }
1728 
1729  public void SendPartFullUpdate(ISceneEntity ent, uint? parentID)
1730  {
1731  }
1732 
1733  public int GetAgentThrottleSilent(int throttle)
1734  {
1735  return 0;
1736  }
1737  }
1738 }
void SendAvatarClassifiedReply(UUID targetID, UUID[] classifiedID, string[] name)
delegate void ObjectPermissions(IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set)
void SendBulkUpdateInventory(InventoryNodeBase node)
Used by the server to inform the client of new inventory items and folders.
delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID)
delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID)
void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags)
void SendAnimations(UUID[] animID, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
delegate void ImprovedInstantMessage(IClientAPI remoteclient, GridInstantMessage im)
void SendTakeControls(int controls, bool passToAgent, bool TakeControls)
delegate void ObjectDrop(uint localID, IClientAPI remoteClient)
void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL)
delegate void TeleportCancel(IClientAPI remoteClient)
delegate void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart)
delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID)
delegate void NewUserReport(IClientAPI client, string regionName, UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType, UUID screenshotID, string Summary, UUID reporter)
delegate void UpdatePrimSingleRotationPosition(uint localID, Quaternion rot, Vector3 pos, IClientAPI remoteClient)
delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner, uint flags, UUID target)
void SendWearables(AvatarWearable[] wearables, int serial)
Tell this client what items it should be wearing now
delegate void AbortXfer(IClientAPI remoteClient, ulong xferID)
void SendAvatarClassifiedReply(UUID targetID, Dictionary< UUID, string > classifieds)
delegate void UpdatePrimGroupRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient)
delegate void PurgeInventoryDescendents(IClientAPI remoteClient, UUID folderID)
delegate void RequestAsset(IClientAPI remoteClient, RequestAssetArgs transferRequest)
delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, List< KeyValuePair< UUID, uint >> rezlist)
delegate void RemoveInventoryItem(IClientAPI remoteClient, List< UUID > itemIDs)
delegate void UpdatePrimSingleRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
void SendLandProperties(int sequence_id, bool snap_selection, int request_result, ILandObject lo, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
Send land properties to the client.
void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, UUID ownerID, byte source, byte audible)
Send chat to the viewer.
delegate void GroupAccountSummaryRequest(IClientAPI client, UUID agentID, UUID groupID)
void SendGroupAccountingSummary(IClientAPI sender, UUID groupID, uint moneyAmt, int totalTier, int usedTier)
delegate void PickInfoUpdate(IClientAPI client, UUID pickID, UUID creatorID, bool topPick, string name, string desc, UUID snapshotID, int sortOrder, bool enabled)
void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
Update the client as to where the sun is currently located.
delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer)
void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels)
Open a dialog box on the client.
void SendScriptQuestion(UUID taskID, string taskName, string ownerName, UUID itemID, int question)
delegate void ObjectSaleInfo(IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice)
delegate void UpdateTaskInventory(IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID)
delegate void UpdatePrimRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag)
void SendGenericMessage(string method, UUID invoice, List< string > message)
delegate void RezRestoreToWorld(IClientAPI remoteClient, UUID itemId)
delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
void SendGenericMessage(string method, UUID invoice, List< byte[]> message)
delegate void CachedTextureRequest(IClientAPI remoteClient, int serial, List< CachedTextureRequestArg > cachedTextureRequest)
delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID)
delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID)
delegate void MoveItemsAndLeaveCopy(IClientAPI remoteClient, List< InventoryItemBase > items, UUID destFolder)
delegate void SoundTrigger(UUID soundId, UUID ownerid, UUID objid, UUID parentid, double Gain, Vector3 Position, UInt64 Handle, float radius)
delegate void SetRegionTerrainSettings(float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun, float sunHour, bool globalSun, bool estateFixed, float estateSunHour)
void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
delegate void ObjectIncludeInSearch(IClientAPI remoteClient, bool IncludeInSearch, uint localID)
void SendGroupTransactionsSummaryDetails(IClientAPI sender, UUID groupID, UUID transactionID, UUID sessionID, int amt)
delegate void ObjectRequest(uint localID, IClientAPI remoteClient)
void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client)
delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID)
delegate void UpdateInventoryFolder(IClientAPI remoteClient, UUID folderID, ushort type, string name, UUID parentID)
delegate void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, ExtraPhysicsData PhysData, IClientAPI remoteClient)
delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, bool RezSelected, bool RemoveItem, UUID fromTaskID)
Contains the Avatar's Appearance and methods to manipulate the appearance.
void SendXferRequest(ulong XferID, short AssetType, UUID vFileID, byte FilePath, byte[] FileName)
delegate void SetEstateFlagsRequest(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, int matureLevel, bool restrictPushObject, bool allowParcelChanges)
void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID)
delegate void StopAnim(IClientAPI remoteClient, UUID animID)
delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID)
delegate void ClientChangeObject(uint localID, object data, IClientAPI remoteClient)
delegate void SetAlwaysRun(IClientAPI remoteClient, bool SetAlwaysRun)
delegate void TextureRequest(Object sender, TextureRequestArgs e)
void SendBannedUserList(UUID invoice, EstateBan[] banlist, uint estateID)
delegate void DelinkObjects(List< uint > primIds, IClientAPI client)
delegate void ClassifiedInfoUpdate(UUID classifiedID, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, Vector3 globalPos, byte classifiedFlags, int price, IClientAPI client)
delegate void AvatarNowWearing(IClientAPI sender, AvatarWearingArgs e)
void SendLocalTeleport(Vector3 position, Vector3 lookAt, uint flags)
delegate void FriendshipTermination(IClientAPI remoteClient, UUID ExID)
delegate void GroupActiveProposalsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId)
delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client)
void SendFindAgent(UUID HunterID, UUID PreyID, double GlobalX, double GlobalY)
delegate void TeleportLocationRequest(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags)
delegate void UserInfoRequest(IClientAPI client)
void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List< Vector3 > SpawnPoint)
delegate void LinkInventoryItem(IClientAPI remoteClient, UUID transActionID, UUID folderID, uint callbackID, string description, string name, sbyte invType, sbyte type, UUID olditemID)
delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID)
delegate void AgentSit(IClientAPI remoteClient, UUID agentID)
void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit, int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor, int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay, int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent)
delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client)
delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient)
delegate void DirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart)
delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned, bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated)
delegate void MoneyTransferRequest(UUID sourceID, UUID destID, int amount, int transactionType, string description)
delegate void AddNewPrim(UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, byte RayEndIsIntersection)
delegate void ParcelDeedToGroup(int local_id, UUID group_id, IClientAPI remote_client)
delegate void PickGodDelete(IClientAPI client, UUID agentID, UUID pickID, UUID queryID)
void SendSimStats(SimStats stats)
Send statistical information about the sim to the client.
delegate void ObjectDuplicate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, UUID GroupID)
void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot, Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook)
delegate void ClassifiedGodDelete(UUID classifiedID, UUID queryID, IClientAPI client)
delegate void GenericCall2()
delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner, uint flags, UUID target)
Enapsulate statistics for a simulator/scene.
Definition: SimStats.cs:39
void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL)
delegate void CopyInventoryItem(IClientAPI remoteClient, uint callbackID, UUID oldAgentID, UUID oldItemID, UUID newFolderID, string newName)
delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY)
delegate void FriendActionDelegate(IClientAPI remoteClient, UUID transactionID, List< UUID > callingCardFolders)
delegate void GenericMessage(Object sender, string method, List< String > args)
delegate void RequestGodlikePowers(UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client)
delegate void GenericCall7(IClientAPI remoteClient, uint localID, string message)
delegate void ObjectSelect(uint localID, IClientAPI remoteClient)
void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List< InventoryItemBase > items, List< InventoryFolderBase > folders, int version, bool fetchFolders, bool fetchItems)
delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName, int RedirectX, int RedirectY)
delegate void NetworkStats(int inPackets, int outPackets, int unAckedBytes)
delegate void SaveStateHandler(IClientAPI client, UUID agentID)
delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name)
delegate void DeGrabObject(uint localID, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics)
This class was created to refactor OutPacket out of AssetCache There is a conflict between OpenSim...
delegate void StartAnim(IClientAPI remoteClient, UUID animID)
void SendEstateList(UUID invoice, int code, UUID[] Data, uint estateID)
Asset class. All Assets are reference by this class or a class derived from this class ...
Definition: AssetBase.cs:49
void SendClassifiedInfoReply(UUID classifiedID, UUID creatorID, uint creationDate, uint expirationDate, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, string simName, Vector3 globalPos, string parcelName, byte classifiedFlags, int price)
void SendGroupActiveProposals(UUID groupID, UUID transactionID, GroupActiveProposals[] Proposals)
void SendSetFollowCamProperties(UUID objectID, SortedDictionary< int, float > parameters)
delegate void TeleportLureRequest(UUID lureID, uint teleportFlags, IClientAPI client)
delegate void RequestTerrain(IClientAPI remoteClient, string clientFileName)
delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime)
delegate void EventNotificationAddRequest(uint EventID, IClientAPI client)
delegate void ObjectBuy(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID, byte saleType, int salePrice)
void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId)
delegate void EventGodDelete(uint eventID, UUID queryID, string queryText, uint queryFlags, int queryStart, IClientAPI client)
delegate void SimulatorBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client)
delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot)
delegate void MoveInventoryFolder(IClientAPI remoteClient, UUID folderID, UUID parentID)
void SendParcelInfo(RegionInfo info, LandData land, UUID parcelID, uint x, uint y)
delegate void AgentRequestSit(IClientAPI remoteClient, UUID agentID, UUID targetID, Vector3 offset)
delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient)
delegate void UpdateAvatarProperties(IClientAPI remoteClient, UserProfileData ProfileData)
delegate void UpdateEstateAccessDeltaRequest(IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user)
delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates)
void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url)
delegate void StatusChange(bool status)
delegate void UDPAssetUploadRequest(IClientAPI remoteClient, UUID assetID, UUID transaction, sbyte type, byte[] data, bool storeLocal, bool tempFile)
delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int type, uint flags)
void SendGroupAccountingDetails(IClientAPI sender, UUID groupID, UUID transactionID, UUID sessionID, int amt)
delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey)
void SendGroupVoteHistory(UUID groupID, UUID transactionID, GroupVoteHistory[] Votes)
delegate void UpdateVector(uint localID, Vector3 pos, IClientAPI remoteClient)
delegate void UpdateShape(UUID agentID, uint localID, UpdateShapeArgs shapeBlock)
delegate void GrantUserFriendRights(IClientAPI client, UUID target, int rights)
delegate void UpdateInventoryItem(IClientAPI remoteClient, UUID transactionID, UUID itemID, InventoryItemBase itemUpd)
An agent in the scene.
Definition: ISceneAgent.cs:39
delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID)
delegate void DirPlacesQuery(IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName, int queryStart)
ChatFromViewer Arguments
void SendParcelMediaCommand(uint flags, ParcelMediaCommandEnum command, float time)
delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter)
Circuit data for an agent. Connection information shared between regions that accept UDP connections ...
delegate void DeRezObject(IClientAPI remoteClient, List< uint > localIDs, UUID groupID, DeRezAction action, UUID destinationID)
void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
Inventory Item - contains all the properties associated with an individual inventory piece...
delegate void MuteListRequest(IClientAPI client, uint muteCRC)
void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
Sent when an agent completes its movement into a region.
delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID)
void SendAvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages)
delegate void ObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent)
delegate void CreateInventoryFolder(IClientAPI remoteClient, UUID folderID, ushort folderType, string folderName, UUID parentID)
void SendBlueBoxMessage(UUID FromAvatarID, string FromAvatarName, string Message)
void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
delegate void GroupAccountDetailsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice)
void SendKillObject(List< uint > localID)
Tell the client that an object has been deleted
delegate void MapItemRequest(IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle)
Details of a Parcel of land
Definition: LandData.cs:47
delegate void RemoveTaskInventory(IClientAPI remoteClient, UUID itemID, uint localID)
delegate void ObjectExtraParams(UUID agentID, uint localID, ushort type, bool inUse, byte[] data)
delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List< uint > localIDs)
delegate void ParcelReturnObjectsRequest(int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client)
delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2)
void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID)
delegate void ParcelPropertiesRequest(int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client)
void SendCachedTextureResponse(ISceneEntity avatar, int serial, List< CachedTextureResponseArg > cachedTextures)
delegate void ModifyTerrain(UUID user, float height, float seconds, byte size, byte action, float north, float west, float south, float east, UUID agentId)
delegate void SendPostcard(IClientAPI client)
delegate void ChangeAnim(UUID animID, bool addOrRemove, bool sendPack)
delegate void UpdateAgent(IClientAPI remoteClient, AgentUpdateArgs agentData)
void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
delegate void GodLandStatRequest(int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient)
delegate void ParcelDwellRequest(int localID, IClientAPI client)
void SendNameReply(UUID profileId, string firstname, string lastname)
delegate void MoveInventoryItem(IClientAPI remoteClient, List< InventoryItemBase > items)
delegate void AvatarNotesUpdate(IClientAPI client, UUID targetID, string notes)
delegate void GroupAccountTransactionsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
delegate void BuyObjectInventory(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID)
delegate void LinkObjects(IClientAPI remoteClient, uint parent, List< uint > children)
delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client)
delegate void StartLure(byte lureType, string message, UUID targetID, IClientAPI client)
delegate void EconomyDataRequest(IClientAPI client)
delegate void GodKickUser(UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason)
void SendParcelMediaUpdate(string mediaUrl, UUID mediaTextureID, byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop)
delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt)
void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia)
delegate void ParcelReclaim(int local_id, IClientAPI remote_client)
void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
Send the first part of a texture. For sufficiently small textures, this may be the only packet...
Interactive OpenSim region server
Definition: OpenSim.cs:55
delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID)
delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side)
delegate void SpinStart(UUID objectID, IClientAPI remoteClient)
delegate void DeactivateGesture(IClientAPI client, UUID gestureid)
delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID)
delegate void SpinObject(UUID objectID, Quaternion rotation, IClientAPI remoteClient)
void SendAvatarPicksReply(UUID targetID, Dictionary< UUID, string > picks)
delegate void PlacesQuery(UUID QueryID, UUID TransactionID, string QueryText, uint QueryFlags, byte Category, string SimName, IClientAPI client)
delegate void ClassifiedDelete(UUID classifiedID, IClientAPI client)
PrimUpdateFlags
Specifies the fields that have been changed when sending a prim or avatar update
Definition: IClientAPI.cs:677
Args to return to a client that queries picker data
delegate void RequestMapName(IClientAPI remoteClient, string mapName, uint flags)
void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal)
delegate void ParcelAccessListUpdateRequest(UUID agentID, uint flags, int landLocalID, UUID transactionID, int sequenceID, int sections, List< LandAccessEntry > entries, IClientAPI remote_client)
void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks)
delegate void ParcelSelectObjects(int land_local_id, int request_type, List< UUID > returnIDs, IClientAPI remote_client)
delegate void ClassifiedInfoRequest(UUID classifiedID, IClientAPI client)
void SendCoarseLocationUpdate(List< UUID > users, List< Vector3 > CoarseLocations)
void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
Send the next packet for a series of packets making up a single texture, as established by SendImageF...
void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
Send a positional, velocity, etc. update to the viewer for a given entity.
delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID)
delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID)
delegate void EstateManageTelehub(IClientAPI client, UUID invoice, UUID senderID, string cmd, UInt32 param1)
delegate void GroupVoteHistoryRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
delegate void GenericCall1(IClientAPI remoteClient)
Common base class for inventory nodes of different types (files, folders, etc.)
delegate void RequestAvatarProperties(IClientAPI remoteClient, UUID avatarID)
delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side)
delegate void ParcelAccessListRequest(UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client)
delegate void BakeTerrain(IClientAPI remoteClient)
delegate void PickDelete(IClientAPI client, UUID pickID)
delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID)
delegate void FetchInventory(IClientAPI remoteClient, UUID itemID, UUID ownerID)
delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags)
delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running)
delegate void FetchInventoryDescendents(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List< AvatarPickerReplyDataArgs > Data)
delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName)
void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags)
delegate void RemoveInventoryFolder(IClientAPI remoteClient, List< UUID > folderIDs)
delegate void LandUndo(IClientAPI remoteClient)
delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target)
delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data)
void SendLandAccessListData(List< LandAccessEntry > accessList, uint accessFlag, int localLandID)
delegate void SetAppearance(IClientAPI remoteClient, Primitive.TextureEntry textureEntry, byte[] visualParams, Vector3 AvSize, WearableCacheItem[] CacheItems)
void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
Send information about the given agent's appearance to another client.
delegate void UpdateUserInfo(bool imViaEmail, bool visible, IClientAPI client)
delegate void EstateCovenantRequest(IClientAPI remote_client)
virtual string Name
The name of this entity
Definition: EntityBase.cs:65
delegate void ParcelPropertiesUpdateRequest(LandUpdateArgs args, int local_id, IClientAPI remote_client)
void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
AgentCircuitData RequestClientInfo()
Return circuit information for this client.
void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
delegate void SpinStop(UUID objectID, IClientAPI remoteClient)
delegate void ChatMessage(Object sender, OSChatMessage e)
void SendDirClassifiedReply(UUID queryID, DirClassifiedReplyData[] data)
delegate void RequestObjectPropertiesFamily(IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID)
delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery)
void SendAvatarProperties(UUID avatarID, string aboutText, string bornOn, byte[] charterMember, string flAbout, uint flags, UUID flImageID, UUID imageID, string profileURL, UUID partnerID)
void SendLandObjectOwners(LandData land, List< UUID > groups, Dictionary< UUID, int > ownersAndCount)
delegate void ViewerEffectEventHandler(IClientAPI sender, List< ViewerEffectEventHandlerArg > args)
delegate void RegionInfoRequest(IClientAPI remote_client)
delegate void DirLandQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart)
delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target)
delegate void RetrieveInstantMessages(IClientAPI client)
delegate void AvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages)
void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
void SendImageNotFound(UUID imageid)
Tell the client that the requested texture cannot be found
delegate void ObjectDeselect(uint localID, IClientAPI remoteClient)
delegate void TeleportLandmarkRequest(IClientAPI remoteClient, AssetLandmark lm)
delegate void UUIDNameRequest(UUID id, IClientAPI remote_client)
delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID)
delegate void CreateNewInventoryItem(IClientAPI remoteClient, UUID transActionID, UUID folderID, uint callbackID, string description, string name, sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask, int creationDate)
delegate void EventNotificationRemoveRequest(uint EventID, IClientAPI client)
delegate void SimWideDeletesDelegate(IClientAPI client, UUID agentID, int flags, UUID targetID)
delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID)
delegate void ChangeInventoryItemFlags(IClientAPI client, UUID itemID, uint flags)
delegate void DisconnectUser()
void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
Tell the client that we have created the item it requested.