Example #1
0
        private void PlacesReplyHandler(Packet packet, Simulator simulator)
        {
            if (OnPlacesReply != null)
            {
                PlacesReplyPacket       placesReply = packet as PlacesReplyPacket;
                List <PlacesSearchData> places      = new List <PlacesSearchData>();

                foreach (PlacesReplyPacket.QueryDataBlock block in placesReply.QueryData)
                {
                    PlacesSearchData place = new PlacesSearchData();
                    place.OwnerID      = block.OwnerID;
                    place.Name         = Helpers.FieldToUTF8String(block.Name);
                    place.Desc         = Helpers.FieldToUTF8String(block.Desc);
                    place.ActualArea   = block.ActualArea;
                    place.BillableArea = block.BillableArea;
                    place.Flags        = block.Flags;
                    place.GlobalX      = block.GlobalX;
                    place.GlobalY      = block.GlobalY;
                    place.GlobalZ      = block.GlobalZ;
                    place.SimName      = Helpers.FieldToUTF8String(block.SimName);
                    place.SnapshotID   = block.SnapshotID;
                    place.Dwell        = block.Dwell;
                    place.Price        = block.Price;

                    places.Add(place);
                }
                try { OnPlacesReply(placesReply.TransactionData.TransactionID, places); }
                catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
            }
        }
Example #2
0
        public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
        {
            if (m_log.IsDebugEnabled)
            {
                m_log.DebugFormat("{0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);
            }

            OSD item = EventQueueHelper.PlacesQuery(groupUpdate);

            Enqueue(item, avatarID);
        }
Example #3
0
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType)
        {
            OSDMap placesReply = new OSDMap();

            placesReply.Add("message", OSD.FromString("PlacesReplyMessage"));

            OSDMap   body         = new OSDMap();
            OSDArray agentData    = new OSDArray();
            OSDMap   agentDataMap = new OSDMap();

            agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID));
            agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID));
            agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID));
            agentData.Add(agentDataMap);
            body.Add("AgentData", agentData);

            OSDArray QueryData = new OSDArray();
            int      i         = 0;

            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                OSDMap QueryDataMap = new OSDMap();
                QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea));
                QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea));
                QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc));
                QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell));
                QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)));
                QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX));
                QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY));
                QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ));
                QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name));
                QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID));
                QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName));
                QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID));
                QueryDataMap.Add("ProductSku", OSD.FromString(regionType[i]));
                QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price));

                QueryData.Add(QueryDataMap);
                i++;
            }
            body.Add("QueryData", QueryData);
            placesReply.Add("QueryData[]", body);

            placesReply.Add("body", body);

            return(placesReply);
        }
Example #4
0
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType)
        {
            PlacesReplyMessage message = new PlacesReplyMessage();

            message.AgentID         = PlacesReply.AgentData.AgentID;
            message.QueryID         = PlacesReply.AgentData.QueryID;
            message.TransactionID   = PlacesReply.TransactionData.TransactionID;
            message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length];
            OSDMap placesReply = new OSDMap {
                { "message", OSD.FromString("PlacesReplyMessage") }
            };

            int i = 0;

            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                message.QueryDataBlocks [i]              = new PlacesReplyMessage.QueryData();
                message.QueryDataBlocks [i].ActualArea   = groupDataBlock.ActualArea;
                message.QueryDataBlocks [i].BillableArea = groupDataBlock.BillableArea;
                message.QueryDataBlocks [i].Description  = Utils.BytesToString(groupDataBlock.Desc);
                message.QueryDataBlocks [i].Dwell        = groupDataBlock.Dwell;
                message.QueryDataBlocks [i].Flags        = groupDataBlock.Flags;
                message.QueryDataBlocks [i].GlobalX      = groupDataBlock.GlobalX;
                message.QueryDataBlocks [i].GlobalY      = groupDataBlock.GlobalY;
                message.QueryDataBlocks [i].GlobalZ      = groupDataBlock.GlobalZ;
                message.QueryDataBlocks [i].Name         = Utils.BytesToString(groupDataBlock.Name);
                message.QueryDataBlocks [i].OwnerID      = groupDataBlock.OwnerID;
                message.QueryDataBlocks [i].SimName      = Utils.BytesToString(groupDataBlock.SimName);
                message.QueryDataBlocks [i].SnapShotID   = groupDataBlock.SnapshotID;
                message.QueryDataBlocks [i].ProductSku   = regionType [i];
                message.QueryDataBlocks [i].Price        = groupDataBlock.Price;

                i++;
            }

            OSDMap map = message.Serialize();

            placesReply ["body"] = map;
            return(placesReply);
        }
Example #5
0
        public virtual void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID, string[] info, UUID regionID)
        {
            OSD item = EventQueueHelper.PlacesQuery(groupUpdate, info);

            Enqueue(item, avatarID, regionID);
        }
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType)
        {
            OSDMap placesReply = new OSDMap {{"message", OSD.FromString("PlacesReplyMessage")}};

            OSDMap body = new OSDMap();
            OSDArray agentData = new OSDArray();
            OSDMap agentDataMap = new OSDMap
                                      {
                                          {"AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID)},
                                          {"QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID)},
                                          {"TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID)}
                                      };
            agentData.Add(agentDataMap);
            body.Add("AgentData", agentData);

            OSDArray QueryData = new OSDArray();
#if(!ISWIN)
            int i = 0;
            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                OSDMap QueryDataMap = new OSDMap();
                QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea));
                QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea));
                QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc));
                QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell));
                QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)));
                QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX));
                QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY));
                QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ));
                QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name));
                QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID));
                QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName));
                QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID));
                QueryDataMap.Add("ProductSku", OSD.FromString(regionType[i]));
                QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price));
                
                QueryData.Add(QueryDataMap);
                i++;
            }
#else
            int[] i = {0};
            foreach (OSDMap QueryDataMap in PlacesReply.QueryData.Select(groupDataBlock => new OSDMap
                                                                                               {
                                                                                                   {"ActualArea", OSD.FromInteger(groupDataBlock.ActualArea)},
                                                                                                   {"BillableArea", OSD.FromInteger(groupDataBlock.BillableArea)},
                                                                                                   {"Description", OSD.FromBinary(groupDataBlock.Desc)},
                                                                                                   {"Dwell", OSD.FromInteger((int) groupDataBlock.Dwell)},
                                                                                                   {"Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags))},
                                                                                                   {"GlobalX", OSD.FromInteger((int) groupDataBlock.GlobalX)},
                                                                                                   {"GlobalY", OSD.FromInteger((int) groupDataBlock.GlobalY)},
                                                                                                   {"GlobalZ", OSD.FromInteger((int) groupDataBlock.GlobalZ)},
                                                                                                   {"Name", OSD.FromBinary(groupDataBlock.Name)},
                                                                                                   {"OwnerID", OSD.FromUUID(groupDataBlock.OwnerID)},
                                                                                                   {"SimName", OSD.FromBinary(groupDataBlock.SimName)},
                                                                                                   {"SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID)},
                                                                                                   {"ProductSku", OSD.FromString(regionType[i[0]])},
                                                                                                   {"Price", OSD.FromInteger(groupDataBlock.Price)}
                                                                                               }))
            {
                QueryData.Add(QueryDataMap);
                i[0]++;
            }
#endif
            body.Add("QueryData", QueryData);
            placesReply.Add("QueryData[]", body);

            placesReply.Add("body", body);

            return placesReply;
        }
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply)
        {
            OSDMap placesReply = new OSDMap();
            placesReply.Add("message", OSD.FromString("PlacesReplyMessage"));

            OSDMap body = new OSDMap();
            OSDArray agentData = new OSDArray();
            OSDMap agentDataMap = new OSDMap();
            agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID));
            agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID));
            agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID));
            agentData.Add(agentDataMap);
            body.Add("AgentData", agentData);

            OSDArray QueryData = new OSDArray();

            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                OSDMap QueryDataMap = new OSDMap();
                QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea));
                QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea));
                QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc));
                QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell));
                QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)));
                QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX));
                QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY));
                QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ));
                QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name));
                QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID));
                QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName));
                QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID));
                QueryDataMap.Add("ProductSku", OSD.FromInteger(0));
                QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price));
                
                QueryData.Add(QueryDataMap);
            }
            body.Add("QueryData", QueryData);
            placesReply.Add("QueryData[]", body);

            return placesReply;
        }
 public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
 {
     OSD item = EventQueueHelper.PlacesQuery(groupUpdate);
     Enqueue(item, avatarID);
 }
        public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
        {
            OSD item = EventQueueHelper.PlacesQuery(groupUpdate);

            Enqueue(item, avatarID);
        }
 public virtual void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID, string[] info, UUID regionID)
 {
     OSD item = EventQueueHelper.PlacesQuery(groupUpdate, info);
     Enqueue(item, avatarID, regionID);
 }
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType)
        {
            OpenMetaverse.Messages.Linden.PlacesReplyMessage message = new PlacesReplyMessage();
            message.AgentID = PlacesReply.AgentData.AgentID;
            message.QueryID = PlacesReply.AgentData.QueryID;
            message.TransactionID = PlacesReply.TransactionData.TransactionID;
            message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length];
            OSDMap placesReply = new OSDMap {{"message", OSD.FromString("PlacesReplyMessage")}};

            int i = 0;
            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                message.QueryDataBlocks[i] = new PlacesReplyMessage.QueryData();
                message.QueryDataBlocks[i].ActualArea = groupDataBlock.ActualArea;
                message.QueryDataBlocks[i].BillableArea = groupDataBlock.BillableArea;
                message.QueryDataBlocks[i].Description = Utils.BytesToString(groupDataBlock.Desc);
                message.QueryDataBlocks[i].Dwell = groupDataBlock.Dwell;
                message.QueryDataBlocks[i].Flags = groupDataBlock.Flags;
                message.QueryDataBlocks[i].GlobalX = groupDataBlock.GlobalX;
                message.QueryDataBlocks[i].GlobalY = groupDataBlock.GlobalY;
                message.QueryDataBlocks[i].GlobalZ = groupDataBlock.GlobalZ;
                message.QueryDataBlocks[i].Name = Utils.BytesToString(groupDataBlock.Name);
                message.QueryDataBlocks[i].OwnerID = groupDataBlock.OwnerID;
                message.QueryDataBlocks[i].SimName = Utils.BytesToString(groupDataBlock.SimName);
                message.QueryDataBlocks[i].SnapShotID = groupDataBlock.SnapshotID;
                message.QueryDataBlocks[i].ProductSku = regionType[i];
                message.QueryDataBlocks[i].Price = groupDataBlock.Price;

                i++;
            }
            OSDMap map = message.Serialize();
            placesReply["body"] = map;
            return placesReply;
        }
Example #12
0
        public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID)
        {
            if (m_log.IsDebugEnabled) {
                m_log.DebugFormat ("{0} called", System.Reflection.MethodBase.GetCurrentMethod ().Name);
            }

            OSD item = EventQueueHelper.PlacesQuery(groupUpdate);
            Enqueue(item, avatarID);
        }
        public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType)
        {
            OpenMetaverse.Messages.Linden.PlacesReplyMessage message = new PlacesReplyMessage();
            message.AgentID         = PlacesReply.AgentData.AgentID;
            message.QueryID         = PlacesReply.AgentData.QueryID;
            message.TransactionID   = PlacesReply.TransactionData.TransactionID;
            message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length];
            OSDMap placesReply = new OSDMap {
                { "message", OSD.FromString("PlacesReplyMessage") }
            };

            OSDArray QueryData = new OSDArray();

#if (!ISWIN)
            int i = 0;
            foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData)
            {
                message.QueryDataBlocks[i]              = new PlacesReplyMessage.QueryData();
                message.QueryDataBlocks[i].ActualArea   = groupDataBlock.ActualArea;
                message.QueryDataBlocks[i].BillableArea = groupDataBlock.BillableArea;
                message.QueryDataBlocks[i].Description  = Utils.BytesToString(groupDataBlock.Desc);
                message.QueryDataBlocks[i].Dwell        = groupDataBlock.Dwell;
                message.QueryDataBlocks[i].Flags        = groupDataBlock.Flags;
                message.QueryDataBlocks[i].GlobalX      = groupDataBlock.GlobalX;
                message.QueryDataBlocks[i].GlobalY      = groupDataBlock.GlobalY;
                message.QueryDataBlocks[i].GlobalZ      = groupDataBlock.GlobalZ;
                message.QueryDataBlocks[i].Name         = Utils.BytesToString(groupDataBlock.Name);
                message.QueryDataBlocks[i].OwnerID      = groupDataBlock.OwnerID;
                message.QueryDataBlocks[i].SimName      = Utils.BytesToString(groupDataBlock.SimName);
                message.QueryDataBlocks[i].SnapShotID   = groupDataBlock.SnapshotID;
                message.QueryDataBlocks[i].ProductSku   = regionType[i];
                message.QueryDataBlocks[i].Price        = groupDataBlock.Price;

                i++;
            }
#else
            int[] i = { 0 };
            foreach (OSDMap QueryDataMap in PlacesReply.QueryData.Select(groupDataBlock => new OSDMap
            {
                { "ActualArea", OSD.FromInteger(groupDataBlock.ActualArea) },
                { "BillableArea", OSD.FromInteger(groupDataBlock.BillableArea) },
                { "Description", OSD.FromBinary(groupDataBlock.Desc) },
                { "Dwell", OSD.FromInteger((int)groupDataBlock.Dwell) },
                { "Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)) },
                { "GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX) },
                { "GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY) },
                { "GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ) },
                { "Name", OSD.FromBinary(groupDataBlock.Name) },
                { "OwnerID", OSD.FromUUID(groupDataBlock.OwnerID) },
                { "SimName", OSD.FromBinary(groupDataBlock.SimName) },
                { "SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID) },
                { "ProductSku", OSD.FromString(regionType[i[0]]) },
                { "Price", OSD.FromInteger(groupDataBlock.Price) }
            }))
            {
                QueryData.Add(QueryDataMap);
                i[0]++;
            }
#endif
            OSDMap map = message.Serialize();
            placesReply["body"] = map;
            return(placesReply);
        }