* Establish a common InventoryNodeBase class from InventoryItemBase and InventoryFolderBase

0.6.3-post-fixes
Justin Clarke Casey 2009-02-11 19:29:59 +00:00
parent 162a59ba17
commit e12981ef1b
4 changed files with 81 additions and 66 deletions

View File

@ -32,23 +32,8 @@ namespace OpenSim.Framework
/// <summary>
/// A Class for folders which contain users inventory
/// </summary>
public class InventoryFolderBase
public class InventoryFolderBase : InventoryNodeBase
{
/// <summary>
/// The UUID for this folder
/// </summary>
private UUID _id;
/// <summary>
/// The name of the folder (64 characters or less)
/// </summary>
private string _name;
/// <summary>
/// The agent who's inventory this is contained by
/// </summary>
private UUID _owner;
/// <summary>
/// The folder this folder is contained in
/// </summary>
@ -66,30 +51,12 @@ namespace OpenSim.Framework
/// </summary>
private ushort _version;
public virtual string Name
{
get { return _name; }
set { _name = value; }
}
public virtual UUID Owner
{
get { return _owner; }
set { _owner = value; }
}
public virtual UUID ParentID
{
get { return _parentID; }
set { _parentID = value; }
}
public virtual UUID ID
{
get { return _id; }
set { _id = value; }
}
public virtual short Type
{
get { return _type; }

View File

@ -33,7 +33,7 @@ namespace OpenSim.Framework
/// <summary>
/// Inventory Item - contains all the properties associated with an individual inventory piece.
/// </summary>
public class InventoryItemBase
public class InventoryItemBase : InventoryNodeBase
{
/// <summary>
/// The UUID of the associated asset on the asset server
@ -55,8 +55,6 @@ namespace OpenSim.Framework
/// </summary>
private UUID _creator;
private UUID _owner;
private uint _nextPermissions;
/// <summary>
@ -85,21 +83,10 @@ namespace OpenSim.Framework
private UUID _folder;
/// <summary>
/// A UUID containing the ID for the inventory item itself
/// </summary>
private UUID _id;
/// <summary>
/// The type of inventory item. (Can be slightly different to the asset type
/// The inventory type of the item. This is slightly different from the asset type in some situations.
/// </summary>
private int _invType;
/// <summary>
/// The name of the inventory item (must be less than 64 characters)
/// </summary>
private string _name;
/// <summary>
///
/// </summary>
@ -130,11 +117,6 @@ namespace OpenSim.Framework
/// </summary>
private int _creationDate;
public UUID ID {
get { return _id; }
set { _id = value; }
}
public int InvType
{
get { return _invType; }
@ -147,24 +129,12 @@ namespace OpenSim.Framework
set { _folder = value; }
}
public UUID Owner
{
get { return _owner; }
set { _owner = value; }
}
public UUID Creator
{
get { return _creator; }
set { _creator = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Description
{
get { return _description; }

View File

@ -0,0 +1,67 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using OpenMetaverse;
namespace OpenSim.Framework
{
/// <summary>
/// Common base class for inventory nodes of different types (files, folders, etc.)
/// </summary>
public class InventoryNodeBase
{
/// <summary>
/// The name of the node (64 characters or less)
/// </summary>
public virtual string Name
{
get { return m_name; }
set { m_name = value; }
}
private string m_name;
/// <summary>
/// A UUID containing the ID for the inventory node itself
/// </summary>
public UUID ID
{
get { return m_id; }
set { m_id = value; }
}
private UUID m_id;
/// <summary>
/// The agent who's inventory this is contained by
/// </summary>
public virtual UUID Owner
{
get { return m_owner; }
set { m_owner = value; }
}
private UUID m_owner;
}
}

View File

@ -114,6 +114,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
{
new InventoryArchiveReadRequest(firstName, lastName, invPath, loadPath, m_commsManager).Execute();
}
/*
foreach (Scene scene in m_scenes.Values)
{
ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));
if (user != null && !user.IsChildAgent)
{
user.ControllingClient.SendBulkUpdateInventory(folderCopy);
}
}
*/
}
public void ArchiveInventory(string firstName, string lastName, string invPath, string savePath)