LIBOMV-696 Adds support for DirLandReply messages to be handled when arriving via Capabilities

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3113 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
Jim Radford
2009-09-27 20:19:45 +00:00
parent b314c9a2e9
commit c9ba7520b4

View File

@@ -370,6 +370,7 @@ namespace OpenMetaverse
Client.Network.RegisterCallback(PacketType.DirClassifiedReply, new NetworkManager.PacketCallback(DirClassifiedReplyHandler));
Client.Network.RegisterCallback(PacketType.DirLandReply, new NetworkManager.PacketCallback(DirLandReplyHandler));
Client.Network.RegisterEventCallback("DirLandReply", DirLandReplyEventHandler);
Client.Network.RegisterCallback(PacketType.DirPeopleReply, new NetworkManager.PacketCallback(DirPeopleReplyHandler));
Client.Network.RegisterCallback(PacketType.DirGroupsReply, new NetworkManager.PacketCallback(DirGroupsReplyHandler));
// Deprecated as of viewer 1.2.3
@@ -771,6 +772,33 @@ namespace OpenMetaverse
}
}
private void DirLandReplyEventHandler(string capsKey, IMessage message, Simulator simulator)
{
if (OnDirLandReply != null)
{
List<DirectoryParcel> parcelsForSale = new List<DirectoryParcel>();
DirLandReplyMessage reply = (DirLandReplyMessage)message;
foreach (DirLandReplyMessage.QueryReply block in reply.QueryReplies)
{
DirectoryParcel dirParcel = new DirectoryParcel();
dirParcel.ActualArea = block.ActualArea;
dirParcel.ID = block.ParcelID;
dirParcel.Name = block.Name;
dirParcel.SalePrice = block.SalePrice;
dirParcel.Auction = block.Auction;
dirParcel.ForSale = block.ForSale;
parcelsForSale.Add(dirParcel);
}
try { OnDirLandReply(parcelsForSale); }
catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
}
}
protected void DirPeopleReplyHandler(Packet packet, Simulator simulator)
{
if (OnDirPeopleReply != null)