aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs65
1 files changed, 60 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 7398c70..c88e6b5 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -147,7 +147,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
147 private AgentSit handlerAgentSit; //OnAgentSit; 147 private AgentSit handlerAgentSit; //OnAgentSit;
148 private AvatarPickerRequest handlerAvatarPickerRequest; //OnAvatarPickerRequest; 148 private AvatarPickerRequest handlerAvatarPickerRequest; //OnAvatarPickerRequest;
149 private FetchInventory handlerAgentDataUpdateRequest; //OnAgentDataUpdateRequest; 149 private FetchInventory handlerAgentDataUpdateRequest; //OnAgentDataUpdateRequest;
150 private FetchInventory handlerUserInfoRequest; //OnUserInfoRequest;
151 private TeleportLocationRequest handlerSetStartLocationRequest; //OnSetStartLocationRequest; 150 private TeleportLocationRequest handlerSetStartLocationRequest; //OnSetStartLocationRequest;
152 private TeleportLandmarkRequest handlerTeleportLandmarkRequest; //OnTeleportLandmarkRequest; 151 private TeleportLandmarkRequest handlerTeleportLandmarkRequest; //OnTeleportLandmarkRequest;
153 private LinkObjects handlerLinkObjects; //OnLinkObjects; 152 private LinkObjects handlerLinkObjects; //OnLinkObjects;
@@ -288,6 +287,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
288 287
289 private ParcelDwellRequest handlerParcelDwellRequest; 288 private ParcelDwellRequest handlerParcelDwellRequest;
290 289
290 private UserInfoRequest handlerUserInfoRequest;
291 private UpdateUserInfo handlerUpdateUserInfo;
292
291 private readonly IGroupsModule m_GroupsModule; 293 private readonly IGroupsModule m_GroupsModule;
292 294
293 //private TerrainUnacked handlerUnackedTerrain = null; 295 //private TerrainUnacked handlerUnackedTerrain = null;
@@ -939,7 +941,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
939 public event RequestAvatarProperties OnRequestAvatarProperties; 941 public event RequestAvatarProperties OnRequestAvatarProperties;
940 public event SetAlwaysRun OnSetAlwaysRun; 942 public event SetAlwaysRun OnSetAlwaysRun;
941 public event FetchInventory OnAgentDataUpdateRequest; 943 public event FetchInventory OnAgentDataUpdateRequest;
942 public event FetchInventory OnUserInfoRequest;
943 public event TeleportLocationRequest OnSetStartLocationRequest; 944 public event TeleportLocationRequest OnSetStartLocationRequest;
944 public event UpdateAvatarProperties OnUpdateAvatarProperties; 945 public event UpdateAvatarProperties OnUpdateAvatarProperties;
945 public event CreateNewInventoryItem OnCreateNewInventoryItem; 946 public event CreateNewInventoryItem OnCreateNewInventoryItem;
@@ -1060,6 +1061,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1060 1061
1061 public event ParcelDwellRequest OnParcelDwellRequest; 1062 public event ParcelDwellRequest OnParcelDwellRequest;
1062 1063
1064 public event UserInfoRequest OnUserInfoRequest;
1065 public event UpdateUserInfo OnUpdateUserInfo;
1066
1063 public void ActivateGesture(UUID assetId, UUID gestureId) 1067 public void ActivateGesture(UUID assetId, UUID gestureId)
1064 { 1068 {
1065 } 1069 }
@@ -4680,15 +4684,32 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4680 4684
4681 break; 4685 break;
4682 case PacketType.UserInfoRequest: 4686 case PacketType.UserInfoRequest:
4683 UserInfoRequestPacket avUserInfoRequestPacket = (UserInfoRequestPacket)Pack;
4684
4685 handlerUserInfoRequest = OnUserInfoRequest; 4687 handlerUserInfoRequest = OnUserInfoRequest;
4686 if (handlerUserInfoRequest != null) 4688 if (handlerUserInfoRequest != null)
4687 { 4689 {
4688 handlerUserInfoRequest(this, avUserInfoRequestPacket.AgentData.AgentID, avUserInfoRequestPacket.AgentData.SessionID); 4690 handlerUserInfoRequest(this);
4691 }
4692 else
4693 {
4694 SendUserInfoReply(false, true, "");
4689 } 4695 }
4690 break; 4696 break;
4697 case PacketType.UpdateUserInfo:
4698 UpdateUserInfoPacket updateUserInfo = (UpdateUserInfoPacket)Pack;
4699 handlerUpdateUserInfo = OnUpdateUserInfo;
4700 if (handlerUpdateUserInfo != null)
4701 {
4702 bool visible = true;
4703 string DirectoryVisibility =
4704 Utils.BytesToString(updateUserInfo.UserData.DirectoryVisibility);
4705 if (DirectoryVisibility == "hidden")
4706 visible = false;
4691 4707
4708 handlerUpdateUserInfo(
4709 updateUserInfo.UserData.IMViaEMail,
4710 visible, this);
4711 }
4712 break;
4692 case PacketType.SetStartLocationRequest: 4713 case PacketType.SetStartLocationRequest:
4693 SetStartLocationRequestPacket avSetStartLocationRequestPacket = (SetStartLocationRequestPacket)Pack; 4714 SetStartLocationRequestPacket avSetStartLocationRequestPacket = (SetStartLocationRequestPacket)Pack;
4694 4715
@@ -8302,6 +8323,40 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8302 8323
8303 public void SendParcelDwellReply(int localID, UUID parcelID, float dwell) 8324 public void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
8304 { 8325 {
8326 ParcelDwellReplyPacket pd =
8327 (ParcelDwellReplyPacket)PacketPool.Instance.GetPacket(
8328 PacketType.ParcelDwellReply);
8329
8330 pd.AgentData = new ParcelDwellReplyPacket.AgentDataBlock();
8331 pd.AgentData.AgentID = AgentId;
8332
8333 pd.Data = new ParcelDwellReplyPacket.DataBlock();
8334 pd.Data.LocalID = localID;
8335 pd.Data.ParcelID = parcelID;
8336 pd.Data.Dwell = dwell;
8337
8338 OutPacket(pd, ThrottleOutPacketType.Land);
8339 }
8340
8341 public void SendUserInfoReply(bool imViaEmail, bool visible, string email)
8342 {
8343 UserInfoReplyPacket ur =
8344 (UserInfoReplyPacket)PacketPool.Instance.GetPacket(
8345 PacketType.UserInfoReply);
8346
8347 string Visible = "hidden";
8348 if (visible)
8349 Visible = "default";
8350
8351 ur.AgentData = new UserInfoReplyPacket.AgentDataBlock();
8352 ur.AgentData.AgentID = AgentId;
8353
8354 ur.UserData = new UserInfoReplyPacket.UserDataBlock();
8355 ur.UserData.IMViaEMail = imViaEmail;
8356 ur.UserData.DirectoryVisibility = Utils.StringToBytes(Visible);
8357 ur.UserData.EMail = Utils.StringToBytes(email);
8358
8359 OutPacket(ur, ThrottleOutPacketType.Task);
8305 } 8360 }
8306 8361
8307 public void KillEndDone() 8362 public void KillEndDone()