aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs522
-rw-r--r--OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs5
-rw-r--r--OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs42
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs32
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs31
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs32
6 files changed, 661 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index f02c28b..a5139c1 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -298,6 +298,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
298 public event AvatarInterestUpdate OnAvatarInterestUpdate; 298 public event AvatarInterestUpdate OnAvatarInterestUpdate;
299 public event PlacesQuery OnPlacesQuery; 299 public event PlacesQuery OnPlacesQuery;
300 public event AgentFOV OnAgentFOV; 300 public event AgentFOV OnAgentFOV;
301 public event FindAgentUpdate OnFindAgentEvent;
302 public event TrackAgentUpdate OnTrackAgentEvent;
303 public event NewUserReport OnUserReportEvent;
304 public event SaveStateHandler OnSaveStateEvent;
305 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
306 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
307 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
308 public event FreezeUserUpdate OnParcelFreezeUserEvent;
309 public event EjectUserUpdate OnParcelEjectUserEvent;
310 public event ParcelBuyPass OnParcelBuyPass;
311 public event ParcelGodMark OnParcelGodMark;
312 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
313 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
314 public event SimWideDeletesDelegate OnSimWideDeletes;
315 public event SendPostcard OnSendPostcard;
316 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
317 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
318 public event GodlikeMessage onGodlikeMessageEvent;
319 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
320
301 321
302 #endregion Events 322 #endregion Events
303 323
@@ -805,6 +825,189 @@ namespace OpenSim.Region.ClientStack.LindenUDP
805 } 825 }
806 OutPacket(gmp, ThrottleOutPacketType.Task); 826 OutPacket(gmp, ThrottleOutPacketType.Task);
807 } 827 }
828
829 public void SendGroupActiveProposals(IClientAPI sender,UUID agentID, UUID sessionID, UUID groupID, UUID transactionID, Dictionary<int, string> VoteID, Dictionary<int, string> VoteInitiator, Dictionary<int, string> Majority, Dictionary<int, string> Quorum, Dictionary<int, string> TerseDateID, Dictionary<int, string> StartDateTime, Dictionary<int, string> EndDateTime, Dictionary<int, string> ProposalText)
830 {
831 foreach(KeyValuePair<int, string> Blank in VoteID)
832 {
833 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
834
835 GAPIRP.AgentData.AgentID = agentID;
836 GAPIRP.AgentData.GroupID = groupID;
837 GAPIRP.TransactionData.TransactionID = transactionID;
838 GAPIRP.TransactionData.TotalNumItems = 1;
839 GroupActiveProposalItemReplyPacket.ProposalDataBlock ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock();
840 GAPIRP.ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock[1];
841 ProposalData.VoteCast = Utils.StringToBytes("false");
842 ProposalData.VoteID = new UUID(VoteID[Blank.Key]);
843 ProposalData.VoteInitiator = new UUID(VoteInitiator[Blank.Key]);
844 ProposalData.Majority = (float)Convert.ToInt32(Majority[Blank.Key]);
845 ProposalData.Quorum = Convert.ToInt32(Quorum[Blank.Key]);
846 ProposalData.TerseDateID = Utils.StringToBytes(TerseDateID[Blank.Key]);
847 ProposalData.StartDateTime = Utils.StringToBytes(StartDateTime[Blank.Key]);
848 ProposalData.EndDateTime = Utils.StringToBytes(EndDateTime[Blank.Key]);
849 ProposalData.ProposalText = Utils.StringToBytes(ProposalText[Blank.Key]);
850 ProposalData.AlreadyVoted = false;
851 GAPIRP.ProposalData[0] = ProposalData;
852 OutPacket(GAPIRP, ThrottleOutPacketType.Task);
853 }
854 if(VoteID.Count == 0)
855 {
856 GroupActiveProposalItemReplyPacket GAPIRP = new GroupActiveProposalItemReplyPacket();
857
858 GAPIRP.AgentData.AgentID = agentID;
859 GAPIRP.AgentData.GroupID = groupID;
860 GAPIRP.TransactionData.TransactionID = transactionID;
861 GAPIRP.TransactionData.TotalNumItems = 1;
862 GroupActiveProposalItemReplyPacket.ProposalDataBlock ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock();
863 GAPIRP.ProposalData = new GroupActiveProposalItemReplyPacket.ProposalDataBlock[1];
864 ProposalData.VoteCast = Utils.StringToBytes("false");
865 ProposalData.VoteID = UUID.Zero;
866 ProposalData.VoteInitiator = UUID.Zero;
867 ProposalData.Majority = 0;
868 ProposalData.Quorum = 0;
869 ProposalData.TerseDateID = Utils.StringToBytes("");
870 ProposalData.StartDateTime = Utils.StringToBytes("");
871 ProposalData.EndDateTime = Utils.StringToBytes("");
872 ProposalData.ProposalText = Utils.StringToBytes("");
873 ProposalData.AlreadyVoted = false;
874 GAPIRP.ProposalData[0] = ProposalData;
875 OutPacket(GAPIRP, ThrottleOutPacketType.Task);
876 }
877 }
878
879 public void SendGroupVoteHistory(IClientAPI sender,UUID agentID, UUID sessionID, UUID groupID, UUID transactionID, Dictionary<int, string> VoteID, Dictionary<int, string> VoteInitiator, Dictionary<int, string> Majority, Dictionary<int, string> Quorum, Dictionary<int, string> TerseDateID, Dictionary<int, string> StartDateTime, Dictionary<int, string> EndDateTime, Dictionary<int, string> VoteType, Dictionary<int, string> VoteResult, Dictionary<int, string> ProposalText)
880 {
881 foreach(KeyValuePair<int, string> Blank in VoteID)
882 {
883 GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket();
884
885 GVHIRP.AgentData.AgentID = agentID;
886 GVHIRP.AgentData.GroupID = groupID;
887 GVHIRP.TransactionData.TransactionID = transactionID;
888 GVHIRP.TransactionData.TotalNumItems = 1;
889 GVHIRP.HistoryItemData.VoteID = new UUID(VoteID[Blank.Key]);
890 GVHIRP.HistoryItemData.VoteInitiator = new UUID(VoteInitiator[Blank.Key]);
891 GVHIRP.HistoryItemData.Majority = (float)Convert.ToInt32(Majority[Blank.Key]);
892 GVHIRP.HistoryItemData.Quorum = Convert.ToInt32(Quorum[Blank.Key]);
893 GVHIRP.HistoryItemData.TerseDateID = Utils.StringToBytes(TerseDateID[Blank.Key]);
894 GVHIRP.HistoryItemData.StartDateTime = Utils.StringToBytes(StartDateTime[Blank.Key]);
895 GVHIRP.HistoryItemData.EndDateTime = Utils.StringToBytes(EndDateTime[Blank.Key]);
896 GVHIRP.HistoryItemData.VoteType = Utils.StringToBytes(VoteType[Blank.Key]);
897 GVHIRP.HistoryItemData.VoteResult = Utils.StringToBytes(VoteResult[Blank.Key]);
898 GVHIRP.HistoryItemData.ProposalText = Utils.StringToBytes(ProposalText[Blank.Key]);
899 GroupVoteHistoryItemReplyPacket.VoteItemBlock VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock();
900 GVHIRP.VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock[1];
901 VoteItem.CandidateID = UUID.Zero;
902 VoteItem.NumVotes = 0; //TODO: FIX THIS!!!
903 VoteItem.VoteCast = Utils.StringToBytes("Yes");
904 GVHIRP.VoteItem[0] = VoteItem;
905 OutPacket(GVHIRP, ThrottleOutPacketType.Task);
906 }
907 if(VoteID.Count == 0)
908 {
909 GroupVoteHistoryItemReplyPacket GVHIRP = new GroupVoteHistoryItemReplyPacket();
910
911 GVHIRP.AgentData.AgentID = agentID;
912 GVHIRP.AgentData.GroupID = groupID;
913 GVHIRP.TransactionData.TransactionID = transactionID;
914 GVHIRP.TransactionData.TotalNumItems = 0;
915 GVHIRP.HistoryItemData.VoteID = UUID.Zero;
916 GVHIRP.HistoryItemData.VoteInitiator = UUID.Zero;
917 GVHIRP.HistoryItemData.Majority = 0;
918 GVHIRP.HistoryItemData.Quorum = 0;
919 GVHIRP.HistoryItemData.TerseDateID = Utils.StringToBytes("");
920 GVHIRP.HistoryItemData.StartDateTime = Utils.StringToBytes("");
921 GVHIRP.HistoryItemData.EndDateTime = Utils.StringToBytes("");
922 GVHIRP.HistoryItemData.VoteType = Utils.StringToBytes("");
923 GVHIRP.HistoryItemData.VoteResult = Utils.StringToBytes("");
924 GVHIRP.HistoryItemData.ProposalText = Utils.StringToBytes("");
925 GroupVoteHistoryItemReplyPacket.VoteItemBlock VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock();
926 GVHIRP.VoteItem = new GroupVoteHistoryItemReplyPacket.VoteItemBlock[1];
927 VoteItem.CandidateID = UUID.Zero;
928 VoteItem.NumVotes = 0; //TODO: FIX THIS!!!
929 VoteItem.VoteCast = Utils.StringToBytes("No");
930 GVHIRP.VoteItem[0] = VoteItem;
931 OutPacket(GVHIRP, ThrottleOutPacketType.Task);
932 }
933 }
934
935 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
936 {
937 GroupAccountDetailsReplyPacket GADRP = new GroupAccountDetailsReplyPacket();
938 GADRP.AgentData = new GroupAccountDetailsReplyPacket.AgentDataBlock();
939 GADRP.AgentData.AgentID = sender.AgentId;
940 GADRP.AgentData.GroupID = groupID;
941 GADRP.HistoryData = new GroupAccountDetailsReplyPacket.HistoryDataBlock[1];
942 GroupAccountDetailsReplyPacket.HistoryDataBlock History = new GroupAccountDetailsReplyPacket.HistoryDataBlock();
943 GADRP.MoneyData = new GroupAccountDetailsReplyPacket.MoneyDataBlock();
944 GADRP.MoneyData.CurrentInterval = 0;
945 GADRP.MoneyData.IntervalDays = 7;
946 GADRP.MoneyData.RequestID = transactionID;
947 GADRP.MoneyData.StartDate = Utils.StringToBytes(DateTime.Today.ToString());
948 History.Amount = amt;
949 History.Description = Utils.StringToBytes("");
950 GADRP.HistoryData[0] = History;
951 OutPacket(GADRP, ThrottleOutPacketType.Task);
952 }
953
954 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
955 {
956 GroupAccountSummaryReplyPacket GASRP =
957 (GroupAccountSummaryReplyPacket)PacketPool.Instance.GetPacket(
958 PacketType.GroupAccountSummaryReply);
959
960 GASRP.AgentData = new GroupAccountSummaryReplyPacket.AgentDataBlock();
961 GASRP.AgentData.AgentID = sender.AgentId;
962 GASRP.AgentData.GroupID = groupID;
963 GASRP.MoneyData = new GroupAccountSummaryReplyPacket.MoneyDataBlock();
964 GASRP.MoneyData.Balance = (int)moneyAmt;
965 GASRP.MoneyData.TotalCredits = totalTier;
966 GASRP.MoneyData.TotalDebits = usedTier;
967 GASRP.MoneyData.StartDate = new byte[1];
968 GASRP.MoneyData.CurrentInterval = 1;
969 GASRP.MoneyData.GroupTaxCurrent = 0;
970 GASRP.MoneyData.GroupTaxEstimate = 0;
971 GASRP.MoneyData.IntervalDays = 0;
972 GASRP.MoneyData.LandTaxCurrent = 0;
973 GASRP.MoneyData.LandTaxEstimate = 0;
974 GASRP.MoneyData.LastTaxDate = new byte[1];
975 GASRP.MoneyData.LightTaxCurrent = 0;
976 GASRP.MoneyData.TaxDate = new byte[1];
977 GASRP.MoneyData.RequestID = sender.AgentId;
978 GASRP.MoneyData.ParcelDirFeeEstimate = 0;
979 GASRP.MoneyData.ParcelDirFeeCurrent = 0;
980 GASRP.MoneyData.ObjectTaxEstimate = 0;
981 GASRP.MoneyData.NonExemptMembers = 0;
982 GASRP.MoneyData.ObjectTaxCurrent = 0;
983 GASRP.MoneyData.LightTaxEstimate = 0;
984 OutPacket(GASRP, ThrottleOutPacketType.Task);
985 }
986
987 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
988 {
989 GroupAccountTransactionsReplyPacket GATRP =
990 (GroupAccountTransactionsReplyPacket)PacketPool.Instance.GetPacket(
991 PacketType.GroupAccountTransactionsReply);
992
993 GATRP.AgentData = new GroupAccountTransactionsReplyPacket.AgentDataBlock();
994 GATRP.AgentData.AgentID = sender.AgentId;
995 GATRP.AgentData.GroupID = groupID;
996 GATRP.MoneyData = new GroupAccountTransactionsReplyPacket.MoneyDataBlock();
997 GATRP.MoneyData.CurrentInterval = 0;
998 GATRP.MoneyData.IntervalDays = 7;
999 GATRP.MoneyData.RequestID = transactionID;
1000 GATRP.MoneyData.StartDate = Utils.StringToBytes(DateTime.Today.ToString());
1001 GATRP.HistoryData = new GroupAccountTransactionsReplyPacket.HistoryDataBlock[1];
1002 GroupAccountTransactionsReplyPacket.HistoryDataBlock History = new GroupAccountTransactionsReplyPacket.HistoryDataBlock();
1003 History.Amount = 0;
1004 History.Item = Utils.StringToBytes("");
1005 History.Time = Utils.StringToBytes("");
1006 History.Type = 0;
1007 History.User = Utils.StringToBytes("");
1008 GATRP.HistoryData[0] = History;
1009 OutPacket(GATRP, ThrottleOutPacketType.Task);
1010 }
808 1011
809 /// <summary> 1012 /// <summary>
810 /// Send the region heightmap to the client 1013 /// Send the region heightmap to the client
@@ -4554,6 +4757,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4554 AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate); 4757 AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate);
4555 AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights); 4758 AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights);
4556 AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery); 4759 AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery);
4760 AddLocalPacketHandler(PacketType.UpdateMuteListEntry, HandleUpdateMuteListEntry);
4761 AddLocalPacketHandler(PacketType.RemoveMuteListEntry, HandleRemoveMuteListEntry);
4762 AddLocalPacketHandler(PacketType.UserReport, HandleUserReport);
4763 AddLocalPacketHandler(PacketType.FindAgent, HandleFindAgent);
4764 AddLocalPacketHandler(PacketType.TrackAgent, HandleTrackAgent);
4765 AddLocalPacketHandler(PacketType.GodUpdateRegionInfo, HandleGodUpdateRegionInfoUpdate);
4766 AddLocalPacketHandler(PacketType.GodlikeMessage, HandleGodlikeMessage);
4767 AddLocalPacketHandler(PacketType.StateSave, HandleSaveStatePacket);
4768 AddLocalPacketHandler(PacketType.GroupAccountDetailsRequest, HandleGroupAccountDetailsRequest);
4769 AddLocalPacketHandler(PacketType.GroupAccountSummaryRequest, HandleGroupAccountSummaryRequest);
4770 AddLocalPacketHandler(PacketType.GroupAccountTransactionsRequest, HandleGroupTransactionsDetailsRequest);
4771 AddLocalPacketHandler(PacketType.FreezeUser, HandleFreezeUser);
4772 AddLocalPacketHandler(PacketType.EjectUser, HandleEjectUser);
4773 AddLocalPacketHandler(PacketType.ParcelBuyPass, HandleParcelBuyPass);
4774 AddLocalPacketHandler(PacketType.ParcelGodMarkAsContent, HandleParcelGodMarkAsContent);
4775 AddLocalPacketHandler(PacketType.GroupActiveProposalsRequest, HandleGroupActiveProposalsRequest);
4776 AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest);
4777 AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes);
4778 AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard);
4557 } 4779 }
4558 4780
4559 #region Packet Handlers 4781 #region Packet Handlers
@@ -4649,7 +4871,72 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4649 4871
4650 return false; 4872 return false;
4651 } 4873 }
4652 4874
4875 private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet)
4876 {
4877 ParcelGodMarkAsContentPacket ParcelGodMarkAsContent =
4878 (ParcelGodMarkAsContentPacket)Packet;
4879
4880 ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark;
4881 if (ParcelGodMarkAsContentHandler != null)
4882 {
4883 ParcelGodMarkAsContentHandler(this,
4884 ParcelGodMarkAsContent.AgentData.AgentID,
4885 ParcelGodMarkAsContent.ParcelData.LocalID);
4886 return true;
4887 }
4888 return false;
4889 }
4890
4891 private bool HandleFreezeUser(IClientAPI client, Packet Packet)
4892 {
4893 FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet;
4894
4895 FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUserEvent;
4896 if (FreezeUserHandler != null)
4897 {
4898 FreezeUserHandler(this,
4899 FreezeUser.AgentData.AgentID,
4900 FreezeUser.Data.Flags,
4901 FreezeUser.Data.TargetID);
4902 return true;
4903 }
4904 return false;
4905 }
4906
4907 private bool HandleEjectUser(IClientAPI client, Packet Packet)
4908 {
4909 EjectUserPacket EjectUser =
4910 (EjectUserPacket)Packet;
4911
4912 EjectUserUpdate EjectUserHandler = OnParcelEjectUserEvent;
4913 if (EjectUserHandler != null)
4914 {
4915 EjectUserHandler(this,
4916 EjectUser.AgentData.AgentID,
4917 EjectUser.Data.Flags,
4918 EjectUser.Data.TargetID);
4919 return true;
4920 }
4921 return false;
4922 }
4923
4924 private bool HandleParcelBuyPass(IClientAPI client, Packet Packet)
4925 {
4926 ParcelBuyPassPacket ParcelBuyPass =
4927 (ParcelBuyPassPacket)Packet;
4928
4929 ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass;
4930 if (ParcelBuyPassHandler != null)
4931 {
4932 ParcelBuyPassHandler(this,
4933 ParcelBuyPass.AgentData.AgentID,
4934 ParcelBuyPass.ParcelData.LocalID);
4935 return true;
4936 }
4937 return false;
4938 }
4939
4653 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack) 4940 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack)
4654 { 4941 {
4655 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack; 4942 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack;
@@ -5015,7 +5302,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5015 } 5302 }
5016 return true; 5303 return true;
5017 } 5304 }
5018 5305
5306 private bool HandleFindAgent(IClientAPI client, Packet Packet)
5307 {
5308 FindAgentPacket FindAgent =
5309 (FindAgentPacket)Packet;
5310
5311 FindAgentUpdate FindAgentHandler = OnFindAgentEvent;
5312 if (FindAgentHandler != null)
5313 {
5314 FindAgentHandler(this,FindAgent.AgentBlock.Hunter,FindAgent.AgentBlock.Prey);
5315 return true;
5316 }
5317 return false;
5318 }
5319
5320 private bool HandleTrackAgent(IClientAPI client, Packet Packet)
5321 {
5322 TrackAgentPacket TrackAgent =
5323 (TrackAgentPacket)Packet;
5324
5325 TrackAgentUpdate TrackAgentHandler = OnTrackAgentEvent;
5326 if (TrackAgentHandler != null)
5327 {
5328 TrackAgentHandler(this,
5329 TrackAgent.AgentData.AgentID,
5330 TrackAgent.TargetData.PreyID);
5331 return true;
5332 }
5333 return false;
5334 }
5335
5019 private bool HandlerRezObject(IClientAPI sender, Packet Pack) 5336 private bool HandlerRezObject(IClientAPI sender, Packet Pack)
5020 { 5337 {
5021 RezObjectPacket rezPacket = (RezObjectPacket)Pack; 5338 RezObjectPacket rezPacket = (RezObjectPacket)Pack;
@@ -8285,6 +8602,70 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8285 8602
8286 return true; 8603 return true;
8287 } 8604 }
8605
8606 private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet)
8607 {
8608 GodUpdateRegionInfoPacket GodUpdateRegionInfo =
8609 (GodUpdateRegionInfoPacket)Packet;
8610
8611 GodUpdateRegionInfoUpdate handlerGodUpdateRegionInfo = OnGodUpdateRegionInfoUpdateEvent;
8612 if (handlerGodUpdateRegionInfo != null)
8613 {
8614 handlerGodUpdateRegionInfo(this,
8615 GodUpdateRegionInfo.RegionInfo.BillableFactor,
8616 GodUpdateRegionInfo.RegionInfo.EstateID,
8617 GodUpdateRegionInfo.RegionInfo.RegionFlags,
8618 GodUpdateRegionInfo.RegionInfo.SimName,
8619 GodUpdateRegionInfo.RegionInfo.RedirectGridX,
8620 GodUpdateRegionInfo.RegionInfo.RedirectGridY);
8621 return true;
8622 }
8623 return false;
8624 }
8625
8626 private bool HandleSimWideDeletes(IClientAPI client, Packet Packet)
8627 {
8628 SimWideDeletesPacket SimWideDeletesRequest =
8629 (SimWideDeletesPacket)Packet;
8630 SimWideDeletesDelegate handlerSimWideDeletesRequest = OnSimWideDeletes;
8631 if (handlerSimWideDeletesRequest != null)
8632 {
8633 handlerSimWideDeletesRequest(this, SimWideDeletesRequest.AgentData.AgentID,(int)SimWideDeletesRequest.DataBlock.Flags,SimWideDeletesRequest.DataBlock.TargetID);
8634 return true;
8635 }
8636 return false;
8637 }
8638
8639 private bool HandleGodlikeMessage(IClientAPI client, Packet Packet)
8640 {
8641 GodlikeMessagePacket GodlikeMessage =
8642 (GodlikeMessagePacket)Packet;
8643
8644 GodlikeMessage handlerGodlikeMessage = onGodlikeMessageEvent;
8645 if (handlerGodlikeMessage != null)
8646 {
8647 handlerGodlikeMessage(this,
8648 GodlikeMessage.MethodData.Invoice,
8649 GodlikeMessage.MethodData.Method,
8650 GodlikeMessage.ParamList[0].Parameter);
8651 return true;
8652 }
8653 return false;
8654 }
8655
8656 private bool HandleSaveStatePacket(IClientAPI client, Packet Packet)
8657 {
8658 StateSavePacket SaveStateMessage =
8659 (StateSavePacket)Packet;
8660 SaveStateHandler handlerSaveStatePacket = OnSaveStateEvent;
8661 if (handlerSaveStatePacket != null)
8662 {
8663 handlerSaveStatePacket(this,SaveStateMessage.AgentData.AgentID);
8664 return true;
8665 }
8666 return false;
8667 }
8668
8288 private bool HandleGodKickUser(IClientAPI sender, Packet Pack) 8669 private bool HandleGodKickUser(IClientAPI sender, Packet Pack)
8289 { 8670 {
8290 GodKickUserPacket gkupack = (GodKickUserPacket)Pack; 8671 GodKickUserPacket gkupack = (GodKickUserPacket)Pack;
@@ -8635,6 +9016,76 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8635 } 9016 }
8636 return true; 9017 return true;
8637 } 9018 }
9019
9020 private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet)
9021 {
9022 UpdateMuteListEntryPacket UpdateMuteListEntry =
9023 (UpdateMuteListEntryPacket)Packet;
9024 MuteListEntryUpdate handlerUpdateMuteListEntry = OnUpdateMuteListEntryEvent;
9025 if (handlerUpdateMuteListEntry != null)
9026 {
9027 handlerUpdateMuteListEntry(this, UpdateMuteListEntry.MuteData.MuteID,
9028 Utils.BytesToString(UpdateMuteListEntry.MuteData.MuteName),
9029 UpdateMuteListEntry.MuteData.MuteType,
9030 UpdateMuteListEntry.AgentData.AgentID);
9031 return true;
9032 }
9033 return false;
9034 }
9035
9036 private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet)
9037 {
9038 RemoveMuteListEntryPacket RemoveMuteListEntry =
9039 (RemoveMuteListEntryPacket)Packet;
9040 MuteListEntryRemove handlerRemoveMuteListEntry = OnRemoveMuteListEntryEvent;
9041 if (handlerRemoveMuteListEntry != null)
9042 {
9043 handlerRemoveMuteListEntry(this,
9044 RemoveMuteListEntry.MuteData.MuteID,
9045 Utils.BytesToString(RemoveMuteListEntry.MuteData.MuteName),
9046 RemoveMuteListEntry.AgentData.AgentID);
9047 return true;
9048 }
9049 return false;
9050 }
9051
9052 private bool HandleUserReport(IClientAPI client, Packet Packet)
9053 {
9054 UserReportPacket UserReport =
9055 (UserReportPacket)Packet;
9056
9057 NewUserReport handlerUserReport = OnUserReportEvent;
9058 if (handlerUserReport != null)
9059 {
9060 handlerUserReport(this,
9061 Utils.BytesToString(UserReport.ReportData.AbuseRegionName),
9062 UserReport.ReportData.AbuserID,
9063 UserReport.ReportData.Category,
9064 UserReport.ReportData.CheckFlags,
9065 Utils.BytesToString(UserReport.ReportData.Details),
9066 UserReport.ReportData.ObjectID,
9067 UserReport.ReportData.Position,
9068 UserReport.ReportData.ReportType,
9069 UserReport.ReportData.ScreenshotID,
9070 Utils.BytesToString(UserReport.ReportData.Summary),
9071 UserReport.AgentData.AgentID);
9072 return true;
9073 }
9074 return false;
9075 }
9076
9077 private bool HandleSendPostcard(IClientAPI client, Packet packet)
9078 {
9079 SendPostcardPacket SendPostcard =
9080 (SendPostcardPacket)packet;
9081 SendPostcard handlerSendPostcard = OnSendPostcard;
9082 if (handlerSendPostcard != null)
9083 {
9084 handlerSendPostcard(this);
9085 return true;
9086 }
9087 return false;
9088 }
8638 9089
8639 private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack) 9090 private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack)
8640 { 9091 {
@@ -8904,7 +9355,72 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8904 return true; 9355 return true;
8905 9356
8906 } 9357 }
8907 9358
9359 private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet)
9360 {
9361 GroupVoteHistoryRequestPacket GroupVoteHistoryRequest =
9362 (GroupVoteHistoryRequestPacket)Packet;
9363 GroupVoteHistoryRequest handlerGroupVoteHistoryRequest = OnGroupVoteHistoryRequest;
9364 if (handlerGroupVoteHistoryRequest != null)
9365 {
9366 handlerGroupVoteHistoryRequest(this, GroupVoteHistoryRequest.AgentData.AgentID,GroupVoteHistoryRequest.AgentData.SessionID,GroupVoteHistoryRequest.GroupData.GroupID,GroupVoteHistoryRequest.TransactionData.TransactionID);
9367 return true;
9368 }
9369 return false;
9370 }
9371
9372 private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet)
9373 {
9374 GroupActiveProposalsRequestPacket GroupActiveProposalsRequest =
9375 (GroupActiveProposalsRequestPacket)Packet;
9376 GroupActiveProposalsRequest handlerGroupActiveProposalsRequest = OnGroupActiveProposalsRequest;
9377 if (handlerGroupActiveProposalsRequest != null)
9378 {
9379 handlerGroupActiveProposalsRequest(this, GroupActiveProposalsRequest.AgentData.AgentID,GroupActiveProposalsRequest.AgentData.SessionID,GroupActiveProposalsRequest.GroupData.GroupID,GroupActiveProposalsRequest.TransactionData.TransactionID);
9380 return true;
9381 }
9382 return false;
9383 }
9384
9385 private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet)
9386 {
9387 GroupAccountDetailsRequestPacket GroupAccountDetailsRequest =
9388 (GroupAccountDetailsRequestPacket)Packet;
9389 GroupAccountDetailsRequest handlerGroupAccountDetailsRequest = OnGroupAccountDetailsRequest;
9390 if (handlerGroupAccountDetailsRequest != null)
9391 {
9392 handlerGroupAccountDetailsRequest(this, GroupAccountDetailsRequest.AgentData.AgentID,GroupAccountDetailsRequest.AgentData.GroupID,GroupAccountDetailsRequest.MoneyData.RequestID,GroupAccountDetailsRequest.AgentData.SessionID);
9393 return true;
9394 }
9395 return false;
9396 }
9397
9398 private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet)
9399 {
9400 GroupAccountSummaryRequestPacket GroupAccountSummaryRequest =
9401 (GroupAccountSummaryRequestPacket)Packet;
9402 GroupAccountSummaryRequest handlerGroupAccountSummaryRequest = OnGroupAccountSummaryRequest;
9403 if (handlerGroupAccountSummaryRequest != null)
9404 {
9405 handlerGroupAccountSummaryRequest(this, GroupAccountSummaryRequest.AgentData.AgentID,GroupAccountSummaryRequest.AgentData.GroupID);
9406 return true;
9407 }
9408 return false;
9409 }
9410
9411 private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet)
9412 {
9413 GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest =
9414 (GroupAccountTransactionsRequestPacket)Packet;
9415 GroupAccountTransactionsRequest handlerGroupAccountTransactionsRequest = OnGroupAccountTransactionsRequest;
9416 if (handlerGroupAccountTransactionsRequest != null)
9417 {
9418 handlerGroupAccountTransactionsRequest(this, GroupAccountTransactionsRequest.AgentData.AgentID,GroupAccountTransactionsRequest.AgentData.GroupID,GroupAccountTransactionsRequest.MoneyData.RequestID,GroupAccountTransactionsRequest.AgentData.SessionID);
9419 return true;
9420 }
9421 return false;
9422 }
9423
8908 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack) 9424 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack)
8909 { 9425 {
8910 GroupTitlesRequestPacket groupTitlesRequest = 9426 GroupTitlesRequestPacket groupTitlesRequest =
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
index 1b23d92..0c6cb1b 100644
--- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
@@ -708,5 +708,10 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
708 OSD item = EventQueueHelper.GroupMembership(groupUpdate); 708 OSD item = EventQueueHelper.GroupMembership(groupUpdate);
709 Enqueue(item, avatarID); 709 Enqueue(item, avatarID);
710 } 710 }
711 public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
712 {
713 OSD item = EventQueueHelper.PlacesQuery(groupUpdate);
714 Enqueue(item, avatarID);
715 }
711 } 716 }
712} 717}
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
index c50318d..67fc8e6 100644
--- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
+++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueHelper.cs
@@ -454,6 +454,48 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
454 454
455 return groupUpdate; 455 return groupUpdate;
456 } 456 }
457
458 public static OSD PlacesQuery(PlacesReplyPacket PlacesReply)
459 {
460 OSDMap placesReply = new OSDMap();
461 placesReply.Add("message", OSD.FromString("PlacesReplyMessage"));
462
463 OSDMap body = new OSDMap();
464 OSDArray agentData = new OSDArray();
465 OSDMap agentDataMap = new OSDMap();
466 agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID));
467 agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID));
468 agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID));
469 agentData.Add(agentDataMap);
470 body.Add("AgentData", agentData);
471
472 OSDArray QueryData = new OSDArray();
473
474 foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
475 {
476 OSDMap QueryDataMap = new OSDMap();
477 QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea));
478 QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea));
479 QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc));
480 QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell));
481 QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)));
482 QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX));
483 QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY));
484 QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ));
485 QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name));
486 QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID));
487 QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName));
488 QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID));
489 QueryDataMap.Add("ProductSku", OSD.FromInteger(0));
490 QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price));
491
492 QueryData.Add(QueryDataMap);
493 }
494 body.Add("QueryData", QueryData);
495 placesReply.Add("QueryData[]", body);
496
497 return placesReply;
498 }
457 499
458 } 500 }
459} 501}
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 89e7747..086103b 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -273,6 +273,26 @@ namespace OpenSim.Region.Examples.SimpleModule
273 public event AvatarInterestUpdate OnAvatarInterestUpdate; 273 public event AvatarInterestUpdate OnAvatarInterestUpdate;
274 274
275 public event PlacesQuery OnPlacesQuery; 275 public event PlacesQuery OnPlacesQuery;
276
277 public event FindAgentUpdate OnFindAgentEvent;
278 public event TrackAgentUpdate OnTrackAgentEvent;
279 public event NewUserReport OnUserReportEvent;
280 public event SaveStateHandler OnSaveStateEvent;
281 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
282 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
283 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
284 public event FreezeUserUpdate OnParcelFreezeUserEvent;
285 public event EjectUserUpdate OnParcelEjectUserEvent;
286 public event ParcelBuyPass OnParcelBuyPass;
287 public event ParcelGodMark OnParcelGodMark;
288 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
289 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
290 public event SimWideDeletesDelegate OnSimWideDeletes;
291 public event SendPostcard OnSendPostcard;
292 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
293 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
294 public event GodlikeMessage onGodlikeMessageEvent;
295 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
276 296
277#pragma warning restore 67 297#pragma warning restore 67
278 298
@@ -1103,5 +1123,17 @@ namespace OpenSim.Region.Examples.SimpleModule
1103 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1123 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1104 { 1124 {
1105 } 1125 }
1126
1127 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1128 {
1129 }
1130
1131 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1132 {
1133 }
1134
1135 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1136 {
1137 }
1106 } 1138 }
1107} 1139}
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
index 8b34396..6c2b94a 100644
--- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
+++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
@@ -836,6 +836,25 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
836 public event MuteListRequest OnMuteListRequest; 836 public event MuteListRequest OnMuteListRequest;
837 public event AvatarInterestUpdate OnAvatarInterestUpdate; 837 public event AvatarInterestUpdate OnAvatarInterestUpdate;
838 public event PlacesQuery OnPlacesQuery; 838 public event PlacesQuery OnPlacesQuery;
839 public event FindAgentUpdate OnFindAgentEvent;
840 public event TrackAgentUpdate OnTrackAgentEvent;
841 public event NewUserReport OnUserReportEvent;
842 public event SaveStateHandler OnSaveStateEvent;
843 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
844 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
845 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
846 public event FreezeUserUpdate OnParcelFreezeUserEvent;
847 public event EjectUserUpdate OnParcelEjectUserEvent;
848 public event ParcelBuyPass OnParcelBuyPass;
849 public event ParcelGodMark OnParcelGodMark;
850 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
851 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
852 public event SimWideDeletesDelegate OnSimWideDeletes;
853 public event SendPostcard OnSendPostcard;
854 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
855 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
856 public event GodlikeMessage onGodlikeMessageEvent;
857 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
839 858
840#pragma warning restore 67 859#pragma warning restore 67
841 860
@@ -1628,5 +1647,17 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
1628 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1647 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1629 { 1648 {
1630 } 1649 }
1650
1651 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1652 {
1653 }
1654
1655 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1656 {
1657 }
1658
1659 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1660 {
1661 }
1631 } 1662 }
1632} 1663}
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
index 1573c73..da7f018 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
@@ -379,6 +379,26 @@ namespace OpenSim.Region.OptionalModules.World.NPC
379 public event AvatarInterestUpdate OnAvatarInterestUpdate; 379 public event AvatarInterestUpdate OnAvatarInterestUpdate;
380 380
381 public event PlacesQuery OnPlacesQuery; 381 public event PlacesQuery OnPlacesQuery;
382
383 public event FindAgentUpdate OnFindAgentEvent;
384 public event TrackAgentUpdate OnTrackAgentEvent;
385 public event NewUserReport OnUserReportEvent;
386 public event SaveStateHandler OnSaveStateEvent;
387 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
388 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
389 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
390 public event FreezeUserUpdate OnParcelFreezeUserEvent;
391 public event EjectUserUpdate OnParcelEjectUserEvent;
392 public event ParcelBuyPass OnParcelBuyPass;
393 public event ParcelGodMark OnParcelGodMark;
394 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
395 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
396 public event SimWideDeletesDelegate OnSimWideDeletes;
397 public event SendPostcard OnSendPostcard;
398 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
399 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
400 public event GodlikeMessage onGodlikeMessageEvent;
401 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
382 402
383#pragma warning restore 67 403#pragma warning restore 67
384 404
@@ -1108,5 +1128,17 @@ namespace OpenSim.Region.OptionalModules.World.NPC
1108 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1128 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1109 { 1129 {
1110 } 1130 }
1131
1132 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1133 {
1134 }
1135
1136 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1137 {
1138 }
1139
1140 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1141 {
1142 }
1111 } 1143 }
1112} 1144}