diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 65 |
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() |