aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Client/MXP/ClientStack/MXPClientView.cs31
-rw-r--r--OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs31
-rw-r--r--OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs31
-rw-r--r--OpenSim/Framework/IClientAPI.cs68
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs524
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs23
-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
-rw-r--r--OpenSim/Tests/Common/Mock/TestClient.cs32
12 files changed, 878 insertions, 4 deletions
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
index 6e04a40..a65e1ef 100644
--- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
+++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
@@ -756,6 +756,25 @@ namespace OpenSim.Client.MXP.ClientStack
756 public event AvatarNotesUpdate OnAvatarNotesUpdate; 756 public event AvatarNotesUpdate OnAvatarNotesUpdate;
757 public event MuteListRequest OnMuteListRequest; 757 public event MuteListRequest OnMuteListRequest;
758 public event AvatarInterestUpdate OnAvatarInterestUpdate; 758 public event AvatarInterestUpdate OnAvatarInterestUpdate;
759 public event FindAgentUpdate OnFindAgentEvent;
760 public event TrackAgentUpdate OnTrackAgentEvent;
761 public event NewUserReport OnUserReportEvent;
762 public event SaveStateHandler OnSaveStateEvent;
763 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
764 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
765 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
766 public event FreezeUserUpdate OnParcelFreezeUserEvent;
767 public event EjectUserUpdate OnParcelEjectUserEvent;
768 public event ParcelBuyPass OnParcelBuyPass;
769 public event ParcelGodMark OnParcelGodMark;
770 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
771 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
772 public event SimWideDeletesDelegate OnSimWideDeletes;
773 public event SendPostcard OnSendPostcard;
774 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
775 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
776 public event GodlikeMessage onGodlikeMessageEvent;
777 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
759 778
760 public event PlacesQuery OnPlacesQuery; 779 public event PlacesQuery OnPlacesQuery;
761 780
@@ -1659,5 +1678,17 @@ namespace OpenSim.Client.MXP.ClientStack
1659 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1678 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1660 { 1679 {
1661 } 1680 }
1681
1682 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1683 {
1684 }
1685
1686 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1687 {
1688 }
1689
1690 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1691 {
1692 }
1662 } 1693 }
1663} 1694}
diff --git a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
index 4700bf2..0ca8ffe 100644
--- a/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
+++ b/OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
@@ -374,6 +374,25 @@ namespace OpenSim.Client.Sirikata.ClientStack
374 public event GrantUserFriendRights OnGrantUserRights; 374 public event GrantUserFriendRights OnGrantUserRights;
375 public event MuteListRequest OnMuteListRequest; 375 public event MuteListRequest OnMuteListRequest;
376 public event PlacesQuery OnPlacesQuery; 376 public event PlacesQuery OnPlacesQuery;
377 public event FindAgentUpdate OnFindAgentEvent;
378 public event TrackAgentUpdate OnTrackAgentEvent;
379 public event NewUserReport OnUserReportEvent;
380 public event SaveStateHandler OnSaveStateEvent;
381 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
382 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
383 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
384 public event FreezeUserUpdate OnParcelFreezeUserEvent;
385 public event EjectUserUpdate OnParcelEjectUserEvent;
386 public event ParcelBuyPass OnParcelBuyPass;
387 public event ParcelGodMark OnParcelGodMark;
388 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
389 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
390 public event SimWideDeletesDelegate OnSimWideDeletes;
391 public event SendPostcard OnSendPostcard;
392 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
393 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
394 public event GodlikeMessage onGodlikeMessageEvent;
395 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
377 public void SetDebugPacketLevel(int newDebug) 396 public void SetDebugPacketLevel(int newDebug)
378 { 397 {
379 throw new System.NotImplementedException(); 398 throw new System.NotImplementedException();
@@ -1121,6 +1140,18 @@ namespace OpenSim.Client.Sirikata.ClientStack
1121 { 1140 {
1122 throw new System.NotImplementedException(); 1141 throw new System.NotImplementedException();
1123 } 1142 }
1143
1144 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1145 {
1146 }
1147
1148 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1149 {
1150 }
1151
1152 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1153 {
1154 }
1124 1155
1125 #endregion 1156 #endregion
1126 } 1157 }
diff --git a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs
index 02b1dee..2c0f924 100644
--- a/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs
+++ b/OpenSim/Client/VWoHTTP/ClientStack/VWHClientView.cs
@@ -405,6 +405,25 @@ namespace OpenSim.Client.VWoHTTP.ClientStack
405 public event MuteListRequest OnMuteListRequest = delegate { }; 405 public event MuteListRequest OnMuteListRequest = delegate { };
406 public event AvatarInterestUpdate OnAvatarInterestUpdate = delegate { }; 406 public event AvatarInterestUpdate OnAvatarInterestUpdate = delegate { };
407 public event PlacesQuery OnPlacesQuery = delegate { }; 407 public event PlacesQuery OnPlacesQuery = delegate { };
408 public event FindAgentUpdate OnFindAgentEvent = delegate { };
409 public event TrackAgentUpdate OnTrackAgentEvent = delegate { };
410 public event NewUserReport OnUserReportEvent = delegate { };
411 public event SaveStateHandler OnSaveStateEvent = delegate { };
412 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest = delegate { };
413 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest = delegate { };
414 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest = delegate { };
415 public event FreezeUserUpdate OnParcelFreezeUserEvent = delegate { };
416 public event EjectUserUpdate OnParcelEjectUserEvent = delegate { };
417 public event ParcelBuyPass OnParcelBuyPass = delegate { };
418 public event ParcelGodMark OnParcelGodMark = delegate { };
419 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest = delegate { };
420 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest = delegate { };
421 public event SimWideDeletesDelegate OnSimWideDeletes = delegate { };
422 public event SendPostcard OnSendPostcard = delegate { };
423 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent = delegate { };
424 public event MuteListEntryRemove OnRemoveMuteListEntryEvent = delegate { };
425 public event GodlikeMessage onGodlikeMessageEvent = delegate { };
426 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent = delegate { };
408 427
409 428
410 429
@@ -1165,5 +1184,17 @@ namespace OpenSim.Client.VWoHTTP.ClientStack
1165 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1184 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1166 { 1185 {
1167 } 1186 }
1187
1188 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1189 {
1190 }
1191
1192 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1193 {
1194 }
1195
1196 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1197 {
1198 }
1168 } 1199 }
1169} 1200}
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index d8743b5..c606cd5 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -452,6 +452,47 @@ namespace OpenSim.Framework
452 public delegate void AgentFOV(IClientAPI client, float verticalAngle); 452 public delegate void AgentFOV(IClientAPI client, float verticalAngle);
453 453
454 public delegate double UpdatePriorityHandler(UpdatePriorityData data); 454 public delegate double UpdatePriorityHandler(UpdatePriorityData data);
455
456 public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int Flags,UUID AgentID);
457
458 public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name, UUID AgentID);
459
460 public delegate void AvatarInterestReply(IClientAPI client,UUID target, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages);
461
462 public delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target);
463
464 public delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target);
465
466 public delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target);
467
468 public delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target);
469
470 public delegate void NewUserReport(IClientAPI client, string regionName,UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType ,UUID screenshotID, string summery, UUID reporter);
471
472 public delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName,int RedirectX, int RedirectY);
473
474 public delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter);
475
476 public delegate void SaveStateHandler(IClientAPI client,UUID agentID);
477
478 public delegate void GroupAccountSummaryRequest(IClientAPI client,UUID agentID, UUID groupID);
479
480 public delegate void GroupAccountDetailsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
481
482 public delegate void GroupAccountTransactionsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
483
484 public delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID);
485
486 public delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID);
487
488 public delegate void GroupActiveProposalsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
489
490 public delegate void GroupVoteHistoryRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID);
491
492
493 public delegate void SimWideDeletesDelegate(IClientAPI client,UUID agentID, int flags, UUID targetID);
494
495 public delegate void SendPostcard(IClientAPI client);
455 496
456 #endregion 497 #endregion
457 498
@@ -1028,6 +1069,26 @@ namespace OpenSim.Framework
1028 1069
1029 event PlacesQuery OnPlacesQuery; 1070 event PlacesQuery OnPlacesQuery;
1030 1071
1072 event FindAgentUpdate OnFindAgentEvent;
1073 event TrackAgentUpdate OnTrackAgentEvent;
1074 event NewUserReport OnUserReportEvent;
1075 event SaveStateHandler OnSaveStateEvent;
1076 event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
1077 event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
1078 event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
1079 event FreezeUserUpdate OnParcelFreezeUserEvent;
1080 event EjectUserUpdate OnParcelEjectUserEvent;
1081 event ParcelBuyPass OnParcelBuyPass;
1082 event ParcelGodMark OnParcelGodMark;
1083 event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
1084 event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
1085 event SimWideDeletesDelegate OnSimWideDeletes;
1086 event SendPostcard OnSendPostcard;
1087 event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
1088 event MuteListEntryRemove OnRemoveMuteListEntryEvent;
1089 event GodlikeMessage onGodlikeMessageEvent;
1090 event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
1091
1031 /// <summary> 1092 /// <summary>
1032 /// Set the debug level at which packet output should be printed to console. 1093 /// Set the debug level at which packet output should be printed to console.
1033 /// </summary> 1094 /// </summary>
@@ -1394,5 +1455,12 @@ namespace OpenSim.Framework
1394 void SendRebakeAvatarTextures(UUID textureID); 1455 void SendRebakeAvatarTextures(UUID textureID);
1395 1456
1396 void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages); 1457 void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages);
1458
1459 void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt);
1460
1461 void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier);
1462
1463 void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt);
1464
1397 } 1465 }
1398} 1466}
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index ba81d05..78b6f54 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
@@ -4537,6 +4740,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4537 AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate); 4740 AddLocalPacketHandler(PacketType.AvatarInterestsUpdate, HandleAvatarInterestsUpdate);
4538 AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights); 4741 AddLocalPacketHandler(PacketType.GrantUserRights, HandleGrantUserRights);
4539 AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery); 4742 AddLocalPacketHandler(PacketType.PlacesQuery, HandlePlacesQuery);
4743 AddLocalPacketHandler(PacketType.UpdateMuteListEntry, HandleUpdateMuteListEntry);
4744 AddLocalPacketHandler(PacketType.RemoveMuteListEntry, HandleRemoveMuteListEntry);
4745 AddLocalPacketHandler(PacketType.UserReport, HandleUserReport);
4746 AddLocalPacketHandler(PacketType.FindAgent, HandleFindAgent);
4747 AddLocalPacketHandler(PacketType.TrackAgent, HandleTrackAgent);
4748 AddLocalPacketHandler(PacketType.GodUpdateRegionInfo, HandleGodUpdateRegionInfoUpdate);
4749 AddLocalPacketHandler(PacketType.GodlikeMessage, HandleGodlikeMessage);
4750 AddLocalPacketHandler(PacketType.StateSave, HandleSaveStatePacket);
4751 AddLocalPacketHandler(PacketType.GroupAccountDetailsRequest, HandleGroupAccountDetailsRequest);
4752 AddLocalPacketHandler(PacketType.GroupAccountSummaryRequest, HandleGroupAccountSummaryRequest);
4753 AddLocalPacketHandler(PacketType.GroupAccountTransactionsRequest, HandleGroupTransactionsDetailsRequest);
4754 AddLocalPacketHandler(PacketType.FreezeUser, HandleFreezeUser);
4755 AddLocalPacketHandler(PacketType.EjectUser, HandleEjectUser);
4756 AddLocalPacketHandler(PacketType.ParcelBuyPass, HandleParcelBuyPass);
4757 AddLocalPacketHandler(PacketType.ParcelGodMarkAsContent, HandleParcelGodMarkAsContent);
4758 AddLocalPacketHandler(PacketType.GroupActiveProposalsRequest, HandleGroupActiveProposalsRequest);
4759 AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest);
4760 AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes);
4761 AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard);
4540 } 4762 }
4541 4763
4542 #region Packet Handlers 4764 #region Packet Handlers
@@ -4632,7 +4854,72 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4632 4854
4633 return false; 4855 return false;
4634 } 4856 }
4635 4857
4858 private bool HandleParcelGodMarkAsContent(IClientAPI client, Packet Packet)
4859 {
4860 ParcelGodMarkAsContentPacket ParcelGodMarkAsContent =
4861 (ParcelGodMarkAsContentPacket)Packet;
4862
4863 ParcelGodMark ParcelGodMarkAsContentHandler = OnParcelGodMark;
4864 if (ParcelGodMarkAsContentHandler != null)
4865 {
4866 ParcelGodMarkAsContentHandler(this,
4867 ParcelGodMarkAsContent.AgentData.AgentID,
4868 ParcelGodMarkAsContent.ParcelData.LocalID);
4869 return true;
4870 }
4871 return false;
4872 }
4873
4874 private bool HandleFreezeUser(IClientAPI client, Packet Packet)
4875 {
4876 FreezeUserPacket FreezeUser = (FreezeUserPacket)Packet;
4877
4878 FreezeUserUpdate FreezeUserHandler = OnParcelFreezeUserEvent;
4879 if (FreezeUserHandler != null)
4880 {
4881 FreezeUserHandler(this,
4882 FreezeUser.AgentData.AgentID,
4883 FreezeUser.Data.Flags,
4884 FreezeUser.Data.TargetID);
4885 return true;
4886 }
4887 return false;
4888 }
4889
4890 private bool HandleEjectUser(IClientAPI client, Packet Packet)
4891 {
4892 EjectUserPacket EjectUser =
4893 (EjectUserPacket)Packet;
4894
4895 EjectUserUpdate EjectUserHandler = OnParcelEjectUserEvent;
4896 if (EjectUserHandler != null)
4897 {
4898 EjectUserHandler(this,
4899 EjectUser.AgentData.AgentID,
4900 EjectUser.Data.Flags,
4901 EjectUser.Data.TargetID);
4902 return true;
4903 }
4904 return false;
4905 }
4906
4907 private bool HandleParcelBuyPass(IClientAPI client, Packet Packet)
4908 {
4909 ParcelBuyPassPacket ParcelBuyPass =
4910 (ParcelBuyPassPacket)Packet;
4911
4912 ParcelBuyPass ParcelBuyPassHandler = OnParcelBuyPass;
4913 if (ParcelBuyPassHandler != null)
4914 {
4915 ParcelBuyPassHandler(this,
4916 ParcelBuyPass.AgentData.AgentID,
4917 ParcelBuyPass.ParcelData.LocalID);
4918 return true;
4919 }
4920 return false;
4921 }
4922
4636 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack) 4923 private bool HandleParcelBuyRequest(IClientAPI sender, Packet Pack)
4637 { 4924 {
4638 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack; 4925 ParcelBuyPacket parcel = (ParcelBuyPacket)Pack;
@@ -4998,7 +5285,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4998 } 5285 }
4999 return true; 5286 return true;
5000 } 5287 }
5001 5288
5289 private bool HandleFindAgent(IClientAPI client, Packet Packet)
5290 {
5291 FindAgentPacket FindAgent =
5292 (FindAgentPacket)Packet;
5293
5294 FindAgentUpdate FindAgentHandler = OnFindAgentEvent;
5295 if (FindAgentHandler != null)
5296 {
5297 FindAgentHandler(this,FindAgent.AgentBlock.Hunter,FindAgent.AgentBlock.Prey);
5298 return true;
5299 }
5300 return false;
5301 }
5302
5303 private bool HandleTrackAgent(IClientAPI client, Packet Packet)
5304 {
5305 TrackAgentPacket TrackAgent =
5306 (TrackAgentPacket)Packet;
5307
5308 TrackAgentUpdate TrackAgentHandler = OnTrackAgentEvent;
5309 if (TrackAgentHandler != null)
5310 {
5311 TrackAgentHandler(this,
5312 TrackAgent.AgentData.AgentID,
5313 TrackAgent.TargetData.PreyID);
5314 return true;
5315 }
5316 return false;
5317 }
5318
5002 private bool HandlerRezObject(IClientAPI sender, Packet Pack) 5319 private bool HandlerRezObject(IClientAPI sender, Packet Pack)
5003 { 5320 {
5004 RezObjectPacket rezPacket = (RezObjectPacket)Pack; 5321 RezObjectPacket rezPacket = (RezObjectPacket)Pack;
@@ -8268,6 +8585,70 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8268 8585
8269 return true; 8586 return true;
8270 } 8587 }
8588
8589 private bool HandleGodUpdateRegionInfoUpdate(IClientAPI client, Packet Packet)
8590 {
8591 GodUpdateRegionInfoPacket GodUpdateRegionInfo =
8592 (GodUpdateRegionInfoPacket)Packet;
8593
8594 GodUpdateRegionInfoUpdate handlerGodUpdateRegionInfo = OnGodUpdateRegionInfoUpdateEvent;
8595 if (handlerGodUpdateRegionInfo != null)
8596 {
8597 handlerGodUpdateRegionInfo(this,
8598 GodUpdateRegionInfo.RegionInfo.BillableFactor,
8599 GodUpdateRegionInfo.RegionInfo.EstateID,
8600 GodUpdateRegionInfo.RegionInfo.RegionFlags,
8601 GodUpdateRegionInfo.RegionInfo.SimName,
8602 GodUpdateRegionInfo.RegionInfo.RedirectGridX,
8603 GodUpdateRegionInfo.RegionInfo.RedirectGridY);
8604 return true;
8605 }
8606 return false;
8607 }
8608
8609 private bool HandleSimWideDeletes(IClientAPI client, Packet Packet)
8610 {
8611 SimWideDeletesPacket SimWideDeletesRequest =
8612 (SimWideDeletesPacket)Packet;
8613 SimWideDeletesDelegate handlerSimWideDeletesRequest = OnSimWideDeletes;
8614 if (handlerSimWideDeletesRequest != null)
8615 {
8616 handlerSimWideDeletesRequest(this, SimWideDeletesRequest.AgentData.AgentID,(int)SimWideDeletesRequest.DataBlock.Flags,SimWideDeletesRequest.DataBlock.TargetID);
8617 return true;
8618 }
8619 return false;
8620 }
8621
8622 private bool HandleGodlikeMessage(IClientAPI client, Packet Packet)
8623 {
8624 GodlikeMessagePacket GodlikeMessage =
8625 (GodlikeMessagePacket)Packet;
8626
8627 GodlikeMessage handlerGodlikeMessage = onGodlikeMessageEvent;
8628 if (handlerGodlikeMessage != null)
8629 {
8630 handlerGodlikeMessage(this,
8631 GodlikeMessage.MethodData.Invoice,
8632 GodlikeMessage.MethodData.Method,
8633 GodlikeMessage.ParamList[0].Parameter);
8634 return true;
8635 }
8636 return false;
8637 }
8638
8639 private bool HandleSaveStatePacket(IClientAPI client, Packet Packet)
8640 {
8641 StateSavePacket SaveStateMessage =
8642 (StateSavePacket)Packet;
8643 SaveStateHandler handlerSaveStatePacket = OnSaveStateEvent;
8644 if (handlerSaveStatePacket != null)
8645 {
8646 handlerSaveStatePacket(this,SaveStateMessage.AgentData.AgentID);
8647 return true;
8648 }
8649 return false;
8650 }
8651
8271 private bool HandleGodKickUser(IClientAPI sender, Packet Pack) 8652 private bool HandleGodKickUser(IClientAPI sender, Packet Pack)
8272 { 8653 {
8273 GodKickUserPacket gkupack = (GodKickUserPacket)Pack; 8654 GodKickUserPacket gkupack = (GodKickUserPacket)Pack;
@@ -8618,6 +8999,76 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8618 } 8999 }
8619 return true; 9000 return true;
8620 } 9001 }
9002
9003 private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet)
9004 {
9005 UpdateMuteListEntryPacket UpdateMuteListEntry =
9006 (UpdateMuteListEntryPacket)Packet;
9007 MuteListEntryUpdate handlerUpdateMuteListEntry = OnUpdateMuteListEntryEvent;
9008 if (handlerUpdateMuteListEntry != null)
9009 {
9010 handlerUpdateMuteListEntry(this, UpdateMuteListEntry.MuteData.MuteID,
9011 Utils.BytesToString(UpdateMuteListEntry.MuteData.MuteName),
9012 UpdateMuteListEntry.MuteData.MuteType,
9013 UpdateMuteListEntry.AgentData.AgentID);
9014 return true;
9015 }
9016 return false;
9017 }
9018
9019 private bool HandleRemoveMuteListEntry(IClientAPI client, Packet Packet)
9020 {
9021 RemoveMuteListEntryPacket RemoveMuteListEntry =
9022 (RemoveMuteListEntryPacket)Packet;
9023 MuteListEntryRemove handlerRemoveMuteListEntry = OnRemoveMuteListEntryEvent;
9024 if (handlerRemoveMuteListEntry != null)
9025 {
9026 handlerRemoveMuteListEntry(this,
9027 RemoveMuteListEntry.MuteData.MuteID,
9028 Utils.BytesToString(RemoveMuteListEntry.MuteData.MuteName),
9029 RemoveMuteListEntry.AgentData.AgentID);
9030 return true;
9031 }
9032 return false;
9033 }
9034
9035 private bool HandleUserReport(IClientAPI client, Packet Packet)
9036 {
9037 UserReportPacket UserReport =
9038 (UserReportPacket)Packet;
9039
9040 NewUserReport handlerUserReport = OnUserReportEvent;
9041 if (handlerUserReport != null)
9042 {
9043 handlerUserReport(this,
9044 Utils.BytesToString(UserReport.ReportData.AbuseRegionName),
9045 UserReport.ReportData.AbuserID,
9046 UserReport.ReportData.Category,
9047 UserReport.ReportData.CheckFlags,
9048 Utils.BytesToString(UserReport.ReportData.Details),
9049 UserReport.ReportData.ObjectID,
9050 UserReport.ReportData.Position,
9051 UserReport.ReportData.ReportType,
9052 UserReport.ReportData.ScreenshotID,
9053 Utils.BytesToString(UserReport.ReportData.Summary),
9054 UserReport.AgentData.AgentID);
9055 return true;
9056 }
9057 return false;
9058 }
9059
9060 private bool HandleSendPostcard(IClientAPI client, Packet packet)
9061 {
9062 SendPostcardPacket SendPostcard =
9063 (SendPostcardPacket)packet;
9064 SendPostcard handlerSendPostcard = OnSendPostcard;
9065 if (handlerSendPostcard != null)
9066 {
9067 handlerSendPostcard(this);
9068 return true;
9069 }
9070 return false;
9071 }
8621 9072
8622 private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack) 9073 private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack)
8623 { 9074 {
@@ -8887,7 +9338,72 @@ namespace OpenSim.Region.ClientStack.LindenUDP
8887 return true; 9338 return true;
8888 9339
8889 } 9340 }
8890 9341
9342 private bool HandleGroupVoteHistoryRequest(IClientAPI client, Packet Packet)
9343 {
9344 GroupVoteHistoryRequestPacket GroupVoteHistoryRequest =
9345 (GroupVoteHistoryRequestPacket)Packet;
9346 GroupVoteHistoryRequest handlerGroupVoteHistoryRequest = OnGroupVoteHistoryRequest;
9347 if (handlerGroupVoteHistoryRequest != null)
9348 {
9349 handlerGroupVoteHistoryRequest(this, GroupVoteHistoryRequest.AgentData.AgentID,GroupVoteHistoryRequest.AgentData.SessionID,GroupVoteHistoryRequest.GroupData.GroupID,GroupVoteHistoryRequest.TransactionData.TransactionID);
9350 return true;
9351 }
9352 return false;
9353 }
9354
9355 private bool HandleGroupActiveProposalsRequest(IClientAPI client, Packet Packet)
9356 {
9357 GroupActiveProposalsRequestPacket GroupActiveProposalsRequest =
9358 (GroupActiveProposalsRequestPacket)Packet;
9359 GroupActiveProposalsRequest handlerGroupActiveProposalsRequest = OnGroupActiveProposalsRequest;
9360 if (handlerGroupActiveProposalsRequest != null)
9361 {
9362 handlerGroupActiveProposalsRequest(this, GroupActiveProposalsRequest.AgentData.AgentID,GroupActiveProposalsRequest.AgentData.SessionID,GroupActiveProposalsRequest.GroupData.GroupID,GroupActiveProposalsRequest.TransactionData.TransactionID);
9363 return true;
9364 }
9365 return false;
9366 }
9367
9368 private bool HandleGroupAccountDetailsRequest(IClientAPI client, Packet Packet)
9369 {
9370 GroupAccountDetailsRequestPacket GroupAccountDetailsRequest =
9371 (GroupAccountDetailsRequestPacket)Packet;
9372 GroupAccountDetailsRequest handlerGroupAccountDetailsRequest = OnGroupAccountDetailsRequest;
9373 if (handlerGroupAccountDetailsRequest != null)
9374 {
9375 handlerGroupAccountDetailsRequest(this, GroupAccountDetailsRequest.AgentData.AgentID,GroupAccountDetailsRequest.AgentData.GroupID,GroupAccountDetailsRequest.MoneyData.RequestID,GroupAccountDetailsRequest.AgentData.SessionID);
9376 return true;
9377 }
9378 return false;
9379 }
9380
9381 private bool HandleGroupAccountSummaryRequest(IClientAPI client, Packet Packet)
9382 {
9383 GroupAccountSummaryRequestPacket GroupAccountSummaryRequest =
9384 (GroupAccountSummaryRequestPacket)Packet;
9385 GroupAccountSummaryRequest handlerGroupAccountSummaryRequest = OnGroupAccountSummaryRequest;
9386 if (handlerGroupAccountSummaryRequest != null)
9387 {
9388 handlerGroupAccountSummaryRequest(this, GroupAccountSummaryRequest.AgentData.AgentID,GroupAccountSummaryRequest.AgentData.GroupID);
9389 return true;
9390 }
9391 return false;
9392 }
9393
9394 private bool HandleGroupTransactionsDetailsRequest(IClientAPI client, Packet Packet)
9395 {
9396 GroupAccountTransactionsRequestPacket GroupAccountTransactionsRequest =
9397 (GroupAccountTransactionsRequestPacket)Packet;
9398 GroupAccountTransactionsRequest handlerGroupAccountTransactionsRequest = OnGroupAccountTransactionsRequest;
9399 if (handlerGroupAccountTransactionsRequest != null)
9400 {
9401 handlerGroupAccountTransactionsRequest(this, GroupAccountTransactionsRequest.AgentData.AgentID,GroupAccountTransactionsRequest.AgentData.GroupID,GroupAccountTransactionsRequest.MoneyData.RequestID,GroupAccountTransactionsRequest.AgentData.SessionID);
9402 return true;
9403 }
9404 return false;
9405 }
9406
8891 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack) 9407 private bool HandleGroupTitlesRequest(IClientAPI sender, Packet Pack)
8892 { 9408 {
8893 GroupTitlesRequestPacket groupTitlesRequest = 9409 GroupTitlesRequestPacket groupTitlesRequest =
@@ -13688,7 +14204,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
13688 if (handlerGodKickUser != null) 14204 if (handlerGodKickUser != null)
13689 { 14205 {
13690 handlerGodKickUser(gkupack.UserInfo.GodID, gkupack.UserInfo.GodSessionID, 14206 handlerGodKickUser(gkupack.UserInfo.GodID, gkupack.UserInfo.GodSessionID,
13691 gkupack.UserInfo.AgentID, gkupack.UserInfo.KickFlags, gkupack.UserInfo.Reason,gkupack.UserInfo); 14207 gkupack.UserInfo.AgentID, gkupack.UserInfo.KickFlags, gkupack.UserInfo.Reason,gkupack.UserInfo);
13692 } 14208 }
13693 } 14209 }
13694 else 14210 else
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index d6a82ef..580e06f 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -395,7 +395,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
395 395
396 // if it leaves, we want to know, too 396 // if it leaves, we want to know, too
397 client.OnLogout += OnLogout; 397 client.OnLogout += OnLogout;
398
398 client.OnGrantUserRights += GrantUserFriendRights; 399 client.OnGrantUserRights += GrantUserFriendRights;
400 client.OnTrackAgentEvent += FindAgent;
401 client.OnFindAgentEvent += FindAgent;
399 402
400 } 403 }
401 404
@@ -1114,6 +1117,26 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
1114 { 1117 {
1115 ((Scene)remoteClient.Scene).CommsManager.UpdateUserFriendPerms(requester, target, (uint)rights); 1118 ((Scene)remoteClient.Scene).CommsManager.UpdateUserFriendPerms(requester, target, (uint)rights);
1116 } 1119 }
1120 public void FindAgent(IClientAPI remoteClient, UUID hunter, UUID target)
1121 {
1122 List<FriendListItem> friendList = GetUserFriends(hunter);
1123 foreach (FriendListItem item in friendList)
1124 {
1125 if(item.onlinestatus == true)
1126 {
1127 if(item.Friend == target && (item.FriendPerms & (uint)FriendRights.CanSeeOnMap) != 0)
1128 {
1129 ScenePresence SPTarget = ((Scene)remoteClient.Scene).GetScenePresence(target);
1130 string regionname = SPTarget.Scene.RegionInfo.RegionName;
1131 remoteClient.SendScriptTeleportRequest("FindAgent", regionname,new Vector3(SPTarget.AbsolutePosition),new Vector3(SPTarget.Lookat));
1132 }
1133 }
1134 else
1135 {
1136 remoteClient.SendAgentAlertMessage("The agent you are looking for is not online.", false);
1137 }
1138 }
1139 }
1117 1140
1118 public List<FriendListItem> GetUserFriends(UUID agentID) 1141 public List<FriendListItem> GetUserFriends(UUID agentID)
1119 { 1142 {
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 fed8f64..340e81b 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 c333413..74e740e 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 9ca5a0a..7cf8f7e 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}
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs
index 266e703..af5a588 100644
--- a/OpenSim/Tests/Common/Mock/TestClient.cs
+++ b/OpenSim/Tests/Common/Mock/TestClient.cs
@@ -287,6 +287,26 @@ namespace OpenSim.Tests.Common.Mock
287 public event AvatarInterestUpdate OnAvatarInterestUpdate; 287 public event AvatarInterestUpdate OnAvatarInterestUpdate;
288 288
289 public event PlacesQuery OnPlacesQuery; 289 public event PlacesQuery OnPlacesQuery;
290
291 public event FindAgentUpdate OnFindAgentEvent;
292 public event TrackAgentUpdate OnTrackAgentEvent;
293 public event NewUserReport OnUserReportEvent;
294 public event SaveStateHandler OnSaveStateEvent;
295 public event GroupAccountSummaryRequest OnGroupAccountSummaryRequest;
296 public event GroupAccountDetailsRequest OnGroupAccountDetailsRequest;
297 public event GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest;
298 public event FreezeUserUpdate OnParcelFreezeUserEvent;
299 public event EjectUserUpdate OnParcelEjectUserEvent;
300 public event ParcelBuyPass OnParcelBuyPass;
301 public event ParcelGodMark OnParcelGodMark;
302 public event GroupActiveProposalsRequest OnGroupActiveProposalsRequest;
303 public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
304 public event SimWideDeletesDelegate OnSimWideDeletes;
305 public event SendPostcard OnSendPostcard;
306 public event MuteListEntryUpdate OnUpdateMuteListEntryEvent;
307 public event MuteListEntryRemove OnRemoveMuteListEntryEvent;
308 public event GodlikeMessage onGodlikeMessageEvent;
309 public event GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdateEvent;
290 310
291#pragma warning restore 67 311#pragma warning restore 67
292 312
@@ -1163,5 +1183,17 @@ namespace OpenSim.Tests.Common.Mock
1163 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages) 1183 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
1164 { 1184 {
1165 } 1185 }
1186
1187 public void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt)
1188 {
1189 }
1190
1191 public void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier)
1192 {
1193 }
1194
1195 public void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt)
1196 {
1197 }
1166 } 1198 }
1167} 1199}