/// <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); } } } }
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; } }
public void SendBulkUpdateInventory(InventoryNodeBase node, UUID?transactionID = null) { }
public virtual void SendBulkUpdateInventory(InventoryNodeBase node) { }
public void SendBulkUpdateInventory(InventoryNodeBase node) { throw new System.NotImplementedException(); }
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; } }