Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="im"></param>
        private void OnGridInstantMessage(GridInstantMessage im)
        {
            // Check if it's a type of message that we should handle
            if (!((im.dialog == (byte)InstantMessageDialog.InventoryOffered) ||
                  (im.dialog == (byte)InstantMessageDialog.TaskInventoryOffered) ||
                  (im.dialog == (byte)InstantMessageDialog.InventoryAccepted) ||
                  (im.dialog == (byte)InstantMessageDialog.InventoryDeclined) ||
                  (im.dialog == (byte)InstantMessageDialog.TaskInventoryDeclined)))
            {
                return;
            }

            m_log.DebugFormat(
                "[INVENTORY TRANSFER]: {0} IM type received from grid. From={1} ({2}), To={3}",
                (InstantMessageDialog)im.dialog, im.fromAgentID, im.fromAgentName, im.toAgentID);

            // Check if this is ours to handle
            //
            Scene scene = FindClientScene(new UUID(im.toAgentID));

            if (scene == null)
            {
                return;
            }

            // Find agent to deliver to
            //
            ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));

            if (user != null)
            {
                user.ControllingClient.SendInstantMessage(im);

                if (im.dialog == (byte)InstantMessageDialog.InventoryOffered)
                {
                    AssetType assetType   = (AssetType)im.binaryBucket[0];
                    UUID      inventoryID = new UUID(im.binaryBucket, 1);

                    IInventoryService invService = scene.InventoryService;
                    InventoryNodeBase node       = null;
                    if (AssetType.Folder == assetType)
                    {
                        InventoryFolderBase folder = new InventoryFolderBase(inventoryID, new UUID(im.toAgentID));
                        node = invService.GetFolder(folder);
                    }
                    else
                    {
                        InventoryItemBase item = new InventoryItemBase(inventoryID, new UUID(im.toAgentID));
                        node = invService.GetItem(item);
                    }

                    if (node != null)
                    {
                        user.ControllingClient.SendBulkUpdateInventory(node);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 private void FixPerms(InventoryNodeBase node)
 {
     if (node is InventoryItemBase)
     {
         InventoryItemBase item = (InventoryItemBase)node;
         item.BasePermissions     = 0x7FFFFFFF;
         item.EveryOnePermissions = 0x7FFFFFFF;
         item.CurrentPermissions  = 0x7FFFFFFF;
         item.NextPermissions     = 0x7FFFFFFF;
     }
 }
        private void FixPerms(InventoryNodeBase node)
        {
            m_log.DebugFormat("[LIBRARY MODULE]: Fixing perms for {0} {1}", node.Name, node.ID);

            if (node is InventoryItemBase)
            {
                InventoryItemBase item = (InventoryItemBase)node;
                item.BasePermissions     = (uint)PermissionMask.All;
                item.EveryOnePermissions = (uint)PermissionMask.All - (uint)PermissionMask.Modify;
                item.CurrentPermissions  = (uint)PermissionMask.All;
                item.NextPermissions     = (uint)PermissionMask.All;
            }
        }
Ejemplo n.º 4
0
 public void SendBulkUpdateInventory(InventoryNodeBase node, UUID?transactionID = null)
 {
 }
Ejemplo n.º 5
0
 public virtual void SendBulkUpdateInventory(InventoryNodeBase node)
 {
 }
Ejemplo n.º 6
0
 public void SendBulkUpdateInventory(InventoryNodeBase node)
 {
     throw new System.NotImplementedException();
 }
Ejemplo n.º 7
0
 private void FixPerms(InventoryNodeBase node)
 {
     if (node is InventoryItemBase)
     {
         InventoryItemBase item = (InventoryItemBase) node;
         item.BasePermissions = 0x7FFFFFFF;
         item.EveryOnePermissions = 0x7FFFFFFF;
         item.CurrentPermissions = 0x7FFFFFFF;
         item.NextPermissions = 0x7FFFFFFF;
     }
 }