Package com.ngt.jopenmetaverse.shared.structureddata

Examples of com.ngt.jopenmetaverse.shared.structureddata.OSDArray


          try
          {
            if (error != null) throw error;

            OSDArray fetchedFolders = (OSDArray)(((OSDMap)result).get("folders"));
            for (int fetchedFolderNr = 0; fetchedFolderNr < fetchedFolders.count(); fetchedFolderNr++)
            {
              OSDMap res = (OSDMap)fetchedFolders.get(fetchedFolderNr);
              InventoryFolder fetchedFolder = null;

              if (_Store.contains(res.get("folder_id").asUUID())
                  && _Store.get(res.get("folder_id").asUUID()) instanceof InventoryFolder)
              {
                fetchedFolder = (InventoryFolder)_Store.get(res.get("folder_id").asUUID());
              }
              else
              {
                fetchedFolder = new InventoryFolder(res.get("folder_id").asUUID());
                _Store.put(res.get("folder_id").asUUID(), fetchedFolder);
              }
              fetchedFolder.DescendentCount = res.get("descendents").asInteger();
              fetchedFolder.Version = res.get("version").asInteger();
              fetchedFolder.OwnerID = res.get("owner_id").asUUID();
              _Store.GetNodeFor(fetchedFolder.UUID).setNeedsUpdate(false);

              // Do we have any descendants
              if (fetchedFolder.DescendentCount > 0)
              {
                // Fetch descendent folders
                if (res.get("categories") instanceof OSDArray)
                {
                  OSDArray folders = (OSDArray)res.get("categories");
                  for (int i = 0; i < folders.count(); i++)
                  {
                    OSDMap descFolder = (OSDMap)folders.get(i);
                    InventoryFolder folder;
                    if (!_Store.contains(descFolder.get("category_id").asUUID()))
                    {
                      folder = new InventoryFolder(descFolder.get("category_id").asUUID());
                      folder.ParentUUID = descFolder.get("parent_id").asUUID();
                      _Store.put((descFolder.get("category_id")).asUUID(), folder);
                    }
                    else
                    {
                      folder = (InventoryFolder)_Store.get(descFolder.get("category_id").asUUID());
                    }

                    folder.OwnerID = descFolder.get("agent_id").asUUID();
                    folder.ParentUUID = descFolder.get("parent_id").asUUID();
                    folder.Name = descFolder.get("name").asString();
                    folder.Version = descFolder.get("version").asInteger();
                    AssetType a;

                    folder.PreferredType = AssetType.get((byte)descFolder.get("type_default").asInteger());
                  }

                  // Fetch descendent items
                  OSDArray items = (OSDArray)res.get("items");
                  for (int i = 0; i < items.count(); i++)
                  {
                    OSDMap descItem = (OSDMap)items.get(i);
                    InventoryType a;
                    InventoryType type = InventoryType.get((byte)descItem.get("inv_type").asInteger());
                    if (type == InventoryType.Texture && (AssetType.get((byte)descItem.get("type").asInteger()) == AssetType.Object))
                    {
                      type = InventoryType.Attachment;
                    }
                    InventoryItem item = CreateInventoryItem(type, descItem.get("item_id").asUUID());

                    item.ParentUUID = descItem.get("parent_id").asUUID();
                    item.Name = descItem.get("name").asString();
                    item.Description = descItem.get("desc").asString();
                    item.OwnerID = descItem.get("agent_id").asUUID();
                    item.AssetUUID = descItem.get("asset_id").asUUID();
                    item.AssetType = AssetType.get((byte)descItem.get("type").asInteger());
                    item.CreationDate =  Utils.unixTimeToDate(descItem.get("created_at").asLong());
                    item.Flags = descItem.get("flags").asLong();

                    OSDMap perms = (OSDMap)descItem.get("permissions");
                    item.CreatorID = perms.get("creator_id").asUUID();
                    item.LastOwnerID = perms.get("last_owner_id").asUUID();
                    item.Permissions = new Permissions(perms.get("base_mask").asLong(), perms.get("everyone_mask").asLong(), perms.get("group_mask").asLong(), perms.get("next_owner_mask").asLong(), perms.get("owner_mask").asLong());
                    item.GroupOwned = perms.get("is_owner_group").asBoolean();
                    item.GroupID = perms.get("group_id").asUUID();

                    OSDMap sale = (OSDMap)descItem.get("sale_info");
                    item.SalePrice = sale.get("sale_price").asInteger();
                    item.SaleType = SaleType.get((byte)sale.get("sale_type").asInteger());

                    _Store.put(item.UUID, item);
                  }
                }
              }

              onFolderUpdated.raiseEvent(new FolderUpdatedEventArgs(res.get("folder_id").asUUID(), true));
            }
          }
          catch (Exception exc)
          {
            JLogger.warn(String.format("Failed to fetch inventory descendants for folder id %s: %s\n%s", folderID.toString(), exc.getMessage(), Utils.getExceptionStackTraceAsString(exc)));
            onFolderUpdated.raiseEvent(new FolderUpdatedEventArgs(folderID, false));
            return;
          }

        }
          }
          );
      // Construct request
      OSDMap requestedFolder = new OSDMap(1);
      requestedFolder.put("folder_id", OSD.FromUUID(folderID));
      requestedFolder.put("owner_id", OSD.FromUUID(ownerID));
      requestedFolder.put("fetch_folders", OSD.FromBoolean(fetchFolders));
      requestedFolder.put("fetch_items", OSD.FromBoolean(fetchItems));
      requestedFolder.put("sort_order", OSD.FromInteger((int)order.getIndex()));

      OSDArray requestedFolders = new OSDArray(1);
      requestedFolders.add(requestedFolder);
      OSDMap req = new OSDMap(1);
      req.put("folders", requestedFolders);

      request.BeginGetResponse(req, OSDFormat.Xml, Client.settings.CAPS_TIMEOUT);
    }
View Full Code Here


        {
          List<String> compileErrors = null;

          if (contents.containsKey("errors"))
          {
            OSDArray errors = (OSDArray)contents.get("errors");
            compileErrors = new ArrayList<String>(errors.count());

            for (int i = 0; i < errors.count(); i++)
            {
              compileErrors.add(errors.get(i).asString());
            }
          }

          callback.handleEvent(null, new ScriptUpdatedCallbackArg(true,
              status,
View Full Code Here

    /// Serialize the object
    /// </summary>
    /// <returns>An <see cref="OSDMap"/> containing the objects data</returns>
    public OSDMap Serialize()
    {
      OSDArray dataArray = new OSDArray(PrimOwnersBlock.length);
      OSDArray dataExtendedArray = new OSDArray();

      for (int i = 0; i < PrimOwnersBlock.length; i++)
      {
        OSDMap dataMap = new OSDMap(4);
        dataMap.put("OwnerID", OSD.FromUUID(PrimOwnersBlock[i].OwnerID));
        dataMap.put("Count", OSD.FromInteger(PrimOwnersBlock[i].Count));
        dataMap.put("IsGroupOwned", OSD.FromBoolean(PrimOwnersBlock[i].IsGroupOwned));
        dataMap.put("OnlineStatus", OSD.FromBoolean(PrimOwnersBlock[i].OnlineStatus));
        dataArray.add(dataMap);

        OSDMap dataExtendedMap = new OSDMap(1);
        dataExtendedMap.put("TimeStamp", OSD.FromDate(PrimOwnersBlock[i].TimeStamp));
        dataExtendedArray.add(dataExtendedMap);
      }

      OSDMap map = new OSDMap();
      map.put("Data", dataArray);
      if (dataExtendedArray.count() > 0)
        map.put("DataExtended", dataExtendedArray);

      return map;
    }
View Full Code Here

    /// Deserialize the message
    /// </summary>
    /// <param name="map">An <see cref="OSDMap"/> containing the data</param>
    public void Deserialize(OSDMap map)
    {
      OSDArray dataArray = (OSDArray)map.get("Data");

      // DataExtended is optional, will not exist of parcel contains zero prims
      OSDArray dataExtendedArray;
      if (map.containsKey("DataExtended"))
      {
        dataExtendedArray = (OSDArray)map.get("DataExtended");
      }
      else
      {
        dataExtendedArray = new OSDArray();
      }

      PrimOwnersBlock = new PrimOwner[dataArray.count()];

      for (int i = 0; i < dataArray.count(); i++)
      {
        OSDMap dataMap = (OSDMap)dataArray.get(i);
        PrimOwner block = new PrimOwner();
        block.OwnerID = dataMap.get("OwnerID").asUUID();
        block.Count = dataMap.get("Count").asInteger();
        block.IsGroupOwned = dataMap.get("IsGroupOwned").asBoolean();
        block.OnlineStatus = dataMap.get("OnlineStatus").asBoolean(); // deprecated

        /* if the agent has no permissions, or there are no prims, the counts
         * should not match up, so we don't decode the DataExtended map */
        if (dataExtendedArray.count() == dataArray.count())
        {
          OSDMap dataExtendedMap = (OSDMap)dataExtendedArray.get(i);
          block.TimeStamp = Utils.unixTimeToDate(dataExtendedMap.get("TimeStamp").asUInteger());
        }

        PrimOwnersBlock[i] = block;
      }
View Full Code Here

    /// <returns>An <see cref="OSDMap"/> containing the objects data</returns>
    public OSDMap Serialize()
    {
      OSDMap map = new OSDMap(3);

      OSDArray dataArray = new OSDArray(1);
      OSDMap parcelDataMap = new OSDMap(47);
      parcelDataMap.put("LocalID", OSD.FromInteger(LocalID));
      parcelDataMap.put("AABBMax", OSD.FromVector3(AABBMax));
      parcelDataMap.put("AABBMin", OSD.FromVector3(AABBMin));
      parcelDataMap.put("Area", OSD.FromInteger(Area));
      parcelDataMap.put("AuctionID", OSD.FromInteger((int)AuctionID));
      parcelDataMap.put("AuthBuyerID", OSD.FromUUID(AuthBuyerID));
      parcelDataMap.put("Bitmap", OSD.FromBinary(Bitmap));
      parcelDataMap.put("Category", OSD.FromInteger((int)Category.getIndex()));
      parcelDataMap.put("ClaimDate", OSD.FromDate(ClaimDate));
      parcelDataMap.put("ClaimPrice", OSD.FromInteger(ClaimPrice));
      parcelDataMap.put("Desc", OSD.FromString(Desc));
      parcelDataMap.put("ParcelFlags", OSD.FromUInteger(ParcelFlags.getIndex(parcelFlags)));
      parcelDataMap.put("GroupID", OSD.FromUUID(GroupID));
      parcelDataMap.put("GroupPrims", OSD.FromInteger(GroupPrims));
      parcelDataMap.put("IsGroupOwned", OSD.FromBoolean(IsGroupOwned));
      parcelDataMap.put("LandingType", OSD.FromInteger((int)landingType.getIndex()));
      parcelDataMap.put("MaxPrims", OSD.FromInteger(MaxPrims));
      parcelDataMap.put("MediaID", OSD.FromUUID(MediaID));
      parcelDataMap.put("MediaURL", OSD.FromString(MediaURL));
      parcelDataMap.put("MediaAutoScale", OSD.FromBoolean(MediaAutoScale));
      parcelDataMap.put("MusicURL", OSD.FromString(MusicURL));
      parcelDataMap.put("Name", OSD.FromString(Name));
      parcelDataMap.put("OtherCleanTime", OSD.FromInteger(OtherCleanTime));
      parcelDataMap.put("OtherCount", OSD.FromInteger(OtherCount));
      parcelDataMap.put("OtherPrims", OSD.FromInteger(OtherPrims));
      parcelDataMap.put("OwnerID", OSD.FromUUID(OwnerID));
      parcelDataMap.put("OwnerPrims", OSD.FromInteger(OwnerPrims));
      parcelDataMap.put("ParcelPrimBonus", OSD.FromReal((float)ParcelPrimBonus));
      parcelDataMap.put("PassHours", OSD.FromReal((float)PassHours));
      parcelDataMap.put("PassPrice", OSD.FromInteger(PassPrice));
      parcelDataMap.put("PublicCount", OSD.FromInteger(PublicCount));
      parcelDataMap.put("Privacy", OSD.FromBoolean(Privacy));
      parcelDataMap.put("RegionDenyAnonymous", OSD.FromBoolean(RegionDenyAnonymous));
      parcelDataMap.put("RegionDenyIdentified", OSD.FromBoolean(RegionDenyIdentified));
      parcelDataMap.put("RegionDenyTransacted", OSD.FromBoolean(RegionDenyTransacted));
      parcelDataMap.put("RegionPushOverride", OSD.FromBoolean(RegionPushOverride));
      parcelDataMap.put("RentPrice", OSD.FromInteger(RentPrice));
      parcelDataMap.put("RequestResult", OSD.FromInteger((int)RequestResult.getIndex()));
      parcelDataMap.put("SalePrice", OSD.FromInteger(SalePrice));
      parcelDataMap.put("SelectedPrims", OSD.FromInteger(SelectedPrims));
      parcelDataMap.put("SelfCount", OSD.FromInteger(SelfCount));
      parcelDataMap.put("SequenceID", OSD.FromInteger(SequenceID));
      parcelDataMap.put("SimWideMaxPrims", OSD.FromInteger(SimWideMaxPrims));
      parcelDataMap.put("SimWideTotalPrims", OSD.FromInteger(SimWideTotalPrims));
      parcelDataMap.put("SnapSelection", OSD.FromBoolean(SnapSelection));
      parcelDataMap.put("SnapshotID", OSD.FromUUID(SnapshotID));
      parcelDataMap.put("Status", OSD.FromInteger((int)Status.getIndex()));
      parcelDataMap.put("TotalPrims", OSD.FromInteger(TotalPrims));
      parcelDataMap.put("UserLocation", OSD.FromVector3(UserLocation));
      parcelDataMap.put("UserLookAt", OSD.FromVector3(UserLookAt));
      dataArray.add(parcelDataMap);
      map.put("ParcelData", dataArray);

      OSDArray mediaDataArray = new OSDArray(1);
      OSDMap mediaDataMap = new OSDMap(7);
      mediaDataMap.put("MediaDesc", OSD.FromString(MediaDesc));
      mediaDataMap.put("MediaHeight", OSD.FromInteger(MediaHeight));
      mediaDataMap.put("MediaWidth", OSD.FromInteger(MediaWidth));
      mediaDataMap.put("MediaLoop", OSD.FromBoolean(MediaLoop));
      mediaDataMap.put("MediaType", OSD.FromString(MediaType));
      mediaDataMap.put("ObscureMedia", OSD.FromBoolean(ObscureMedia));
      mediaDataMap.put("ObscureMusic", OSD.FromBoolean(ObscureMusic));
      mediaDataArray.add(mediaDataMap);
      map.put("MediaData", mediaDataArray);

      OSDArray ageVerificationBlockArray = new OSDArray(1);
      OSDMap ageVerificationBlockMap = new OSDMap(1);
      ageVerificationBlockMap.put("RegionDenyAgeUnverified", OSD.FromBoolean(RegionDenyAgeUnverified));
      ageVerificationBlockArray.add(ageVerificationBlockMap);
      map.put("AgeVerificationBlock", ageVerificationBlockArray);

      return map;
    }
View Full Code Here

            OSDMap map = new OSDMap();
            map.put("serial", OSD.FromInteger(Serial));

            if (Items != null)
            {
                OSDArray array = new OSDArray(Items.length);
                for (int i = 0; i < Items.length; i++)
                    array.add(Items[i].Serialize());
                map.put("items", array);
            }

            return map;
        }
View Full Code Here

        {
            Serial = map.get("serial").asInteger();

            if (map.containsKey("items"))
            {
                OSDArray array = (OSDArray)map.get("items");
                Items = new ItemBlock[array.count()];

                for (int i = 0; i < array.count(); i++)
                {
                    ItemBlock item = new ItemBlock();
                    item.Deserialize((OSDMap)array.get(i));
                    Items[i] = item;
                }
            }
            else
            {
View Full Code Here

    /// <returns>An <see cref="OSDMap"/> containing the objects data</returns>
    public OSDMap Serialize()
    {
      OSDMap map = new OSDMap(1);

      OSDArray infoArray = new OSDArray(1);

      OSDMap info = new OSDMap(8);
      info.put("AgentID", OSD.FromUUID(AgentID));
      info.put("LocationID", OSD.FromInteger(LocationID)); // Unused by the client
      info.put("RegionHandle", OSD.FromULong(RegionHandle));
      info.put("SeedCapability", OSD.FromUri(SeedCapability));
      info.put("SimAccess", OSD.FromInteger(SimAccess.getIndex()));
      info.put("SimIP", MessageUtils.FromIP(IP));
      info.put("SimPort", OSD.FromInteger(Port));
      info.put("TeleportFlags", OSD.FromUInteger(TeleportFlags.getIndex(Flags)));

      infoArray.add(info);

      map.put("Info", infoArray);

      return map;
    }
View Full Code Here

    /// Deserialize the message
    /// </summary>
    /// <param name="map">An <see cref="OSDMap"/> containing the data</param>
    public void Deserialize(OSDMap map) throws Exception
    {
      OSDArray array = (OSDArray)map.get("Info");
      OSDMap blockMap = (OSDMap)array.get(0);

      AgentID = blockMap.get("AgentID").asUUID();
      LocationID = blockMap.get("LocationID").asInteger();
      RegionHandle = blockMap.get("RegionHandle").asULong();
      SeedCapability = blockMap.get("SeedCapability").asUri();
View Full Code Here

    /// <returns>An <see cref="OSDMap"/> containing the objects data</returns>
    public OSDMap Serialize()
    {
      OSDMap map = new OSDMap(3);

      OSDArray infoArray = new OSDArray(1);
      OSDMap infoMap = new OSDMap(2);
      infoMap.put("LookAt", OSD.FromVector3(LookAt));
      infoMap.put("Position", OSD.FromVector3(Position));
      infoArray.add(infoMap);
      map.put("Info", infoArray);

      OSDArray agentDataArray = new OSDArray(1);
      OSDMap agentDataMap = new OSDMap(2);
      agentDataMap.put("AgentID",  OSD.FromUUID(AgentID));
      agentDataMap.put("SessionID", OSD.FromUUID(SessionID));
      agentDataArray.add(agentDataMap);
      map.put("AgentData", agentDataArray);

      OSDArray regionDataArray = new OSDArray(1);
      OSDMap regionDataMap = new OSDMap(4);
      regionDataMap.put("RegionHandle", OSD.FromULong(RegionHandle));
      regionDataMap.put("SeedCapability", OSD.FromUri(SeedCapability));
      regionDataMap.put("SimIP", MessageUtils.FromIP(IP));
      regionDataMap.put("SimPort", OSD.FromInteger(Port));
      regionDataArray.add(regionDataMap);
      map.put("RegionData", regionDataArray);

      return map;
    }
View Full Code Here

TOP

Related Classes of com.ngt.jopenmetaverse.shared.structureddata.OSDArray

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.