IObjectSystem
From Virtual World Web Wiki
The object system is a primary layer one interface. It provides methods for working with Object Types, Object Templates and the Container System.
Remarks [edit]
Methods
- void AttachObjectContainer(Guid objectContainerID, Guid securableID)
- Links an Object Container to a target securable so it's contents can be used there
- void ClearContainerAccessLevel(Guid objectContainerID, Guid entityID)
- Clears the container access level for a given entity ID
- void ClearObjectTypeTag(Guid objectTypeID, string tag)
- Removes a tag from an object type
- Guid CloneObjectTemplate(Guid objectTemplateID, Guid objectContainerID, bool onlyMissing)
- Clones a template from one container to another, optionally only doing so if a template of the same type is not already there
- Guid CloneObjectType(Guid objectTypeID, string title, bool cloneResources = true, bool cloneMetadata = true, bool cloneTags = true)
- Clones an object type, optionally cloning various metadata
- DOMObjectExtended CreateDOMObjectExtended(DOMObject obj, bool takeOwnership = false)
- Creates a JS Extended object wrapper for the specified DOMObject, and adds to to the current JSServerBridge's object list
- Guid CreateLinkedObjectContainer(Guid securableID, Guid attachToSecurableID, string name)
- Creates a new Object Container, and links it to a target securable so it's contents can be used there
- Guid CreateObjectContainer(Guid securableID, string name)
- Creates a new Object Container
- Guid CreateObjectTemplate(Guid objectTypeID, Guid objectContainerID)
- Creates a new ObjectTemplate of a given ObjectType in the container specified
- IObjectTemplateTransaction CreateObjectTemplateTransaction(IConnectionIdentity identity, Guid objectTypeID, Guid objectContainerID, object context = NULL)
- Begins an object template transaction to create a new object template of a given object type. The transaction gives components a chance to modify or deny the action, and also evaluates container permissions, since a transaction happens in the context of a connection identity.
- Guid CreateObjectType(string title, Dictionary<string, ProtoValue> metadata, Byte[] layout, DOMAttributeCollection attributes)
- Creates a new Object Type
- Guid CreateObjectType(string title, Dictionary<string, ProtoValue> metadata, Byte[] layout, DOMAttributeCollection attributes, Guid objectTypeID)
- Creates a new Object Type with a wellknown ObjectTypeID
- void CreateParticipantAvatar(IParticipant participant)
- Triggers a participant avatar construction. Components collaborate to build the avatar for the persona requested
- void CreatePersonaAvatar(Guid personaID, DOMDocument document, bool forPreview)
- Triggers a persona avatar construction intended for temporary use. Components collaborate to build the avatar for the persona requested.
- Guid CreateReferenceType(string title, Guid derivedTypeID)
- void DeleteObjectContainer(Guid objectContainerID)
- Deletes an Object Container, and all of it's contained Object Templates
- void DeleteObjectTemplate(Guid objectTemplateID)
- Deletes an ObjectTemplate, removing it from it's container and notifying interested inventory managers
- IObjectTemplateTransaction DeleteObjectTemplateTransaction(IConnectionIdentity identity, Guid objectTemplateID, object context = NULL)
- Begins an object template transaction to delete an object template. The transaction gives components a chance to modify or deny the action, and also evaluates container permissions, since a transaction happens in the context of a connection identity.
- void DeleteObjectType(Guid objectTypeID)
- Deletes an Object Type and all of it's associated Object Templates
- void DetachObjectContainer(Guid objectContainerID, Guid securableID)
- Unlinks an Object Container from a target securable so it's contents can no longer be used there
- Guid EnsureObjectTemplate(Guid objectTypeID, Guid objectContainerID, bool autoCreate = true)
- Ensures that at least one ObjectTemplate of a given ObjectType exists in the container specified
- Guid? FindObjectTemplate(IConnectionIdentity identity, Guid objectTypeID, bool personal, SecurableType containerTargetMask)
- Find an accessable template for the given object type
- IObjectContainerInfo[] GetAttachedObjectContainers(Guid securableID)
- Gets information about the object containers attached to a given securable
- IEnumerable<Guid> GetAvailableObjectTypes(IConnectionIdentity identity, bool personal, SecurableType containerTargetMask)
- Gets the list of unique object types visible to this identity
- ContainerAccessLevel GetContainerAccessLevel(IConnectionIdentity identity, Guid objectContainerID)
- Gets the effective access level for given container and identity
- ContainerPermissionInfo[] GetContainerAccessLevels(Guid objectContainerID)
- Gets a list of the container access levels defined on a container
- Guid? GetLinkedObjectContainer(Guid securableID, Guid attachToSecurableID, string name)
- Searches for an existing named Object Container linked to the specified target securable
- IObjectContainerInfo GetObjectContainerInfo(Guid objectContainerID)
- Gets a structure of information about an object container
- IObjectTemplateInfo GetObjectTemplateInfo(Guid objectTemplateID)
- Gets a structure of information about an object container
- DOMObject GetObjectTemplateLayout(Guid objectTemplateID, LayoutLoaderMode mode = LayoutLoaderMode.Clone)
- Gets the layout (DOM) for an ObjectTemplate, inheriting layout from the parent ObjectType if needed
- T GetObjectTemplateLayout<T>(Guid objectTemplateID, LayoutLoaderMode mode = LayoutLoaderMode.Clone)
- Gets the layout (DOM) for an ObjectTemplate, inheriting layout from the parent ObjectType if needed, and ensuring the layout root is of the requested type
- ProtoValue GetObjectTemplateMetadata(Guid objectTemplateID, string name)
- Gets a single metadata value for an object template
- T GetObjectTemplateMetadata<T>(Guid objectTemplateID, string name)
- Gets a single generic metadata value for an object template
- Dictionary<string, ProtoValue> GetObjectTemplateMetadataCollection(Guid objectTemplateID)
- Gets all the metadata values for an object template at once
- Byte[] GetObjectTemplateMetadataRaw(Guid objectTemplateID)
- Gets all the metadata values for an bject template at once
- IDictionary<Guid, DOMAttributeCollection> GetObjectTypeDOMAttributes(Guid objectTypeID)
- Gets the collection of DOMAttributes for a type
- Byte[] GetObjectTypeDOMAttributesRaw(Guid objectTypeID)
- Gets the raw collection of DOMAttributes for a type
- Guid GetObjectTypeIDForTemplate(Guid objectTemplateID)
- Gets the object type for an object template
- IObjectTypeInfo GetObjectTypeInfo(Guid objectTypeID)
- Gets a structure of information about an Object Type
- DOMObject GetObjectTypeLayout(Guid objectTypeID, LayoutLoaderMode mode = LayoutLoaderMode.Clone)
- Gets the layout for an Object Type
- T GetObjectTypeLayout<T>(Guid objectTypeID, LayoutLoaderMode mode = LayoutLoaderMode.Clone)
- Gets the layout (DOM) for an ObjectType, and ensuring the layout root is of the requested type
- Byte[] GetObjectTypeLayoutRaw(Guid objectTypeID)
- Gets the raw layout data for an Object Type
- ProtoValue GetObjectTypeMetadata(Guid objectTypeID, string name)
- Gets a single metadata value for an object type
- T GetObjectTypeMetadata<T>(Guid objectTypeID, string name)
- Gets a single generic metadata value for an object type
- Dictionary<string, ProtoValue> GetObjectTypeMetadataCollection(Guid objectTypeID)
- Gets all the metadata values for an bject type at once
- Byte[] GetObjectTypeMetadataRaw(Guid objectTypeID)
- Gets all the metadata values for an bject type at once
- IObjectContainerInfo[] GetOwnedObjectContainers(Guid securableID)
- Gets information about the object containers owned by a given securable
- IEnumerable<Guid> GetTaggedObjectTypes(string tag, bool componentOwned = false, bool componentCreated = false)
- Selects the ObjectTypeIDs of all objects with the tag you specify (including through inheritance)
- bool HasObjectTemplate(Guid objectTypeID)
- Checks if any template of that type exists
- void ImportObjectType(Guid objectTypeID, Guid? componentID, string title, Byte[] metadata, Byte[] layout, Byte[] attributes, string[] tags)
- Creates or updates a "known" object type
- bool IsInUse(Guid objectTypeID)
- Checks if an object type has any derived types or existing templates.
- bool IsObjectTypeProtected(Guid objectTypeID)
- Tests to see if an object is protected
- bool ObjectTemplateExists(Guid objectTemplateID)
- Tests if the specified Object Template exists
- bool ObjectTypeExists(Guid objectTypeID)
- Tests if the specified Object Type exists
- void ProtectObjectType(Guid objectTypeID)
- Marks an object type as protected so it cannot be overwritten by a transfer from an upstream service provider
- void RemoveObjectTemplateMetadata(Guid objectTemplateID, string name)
- Removes a single metadata value for an object template
- void RemoveObjectTemplateMetadata(Guid objectTemplateID)
- Removes all metadata for an object template
- void RemoveObjectTypeMetadata(Guid objectTypeID, string name)
- Removes a single metadata value for an object type
- void RemoveObjectTypeMetadata(Guid objectTypeID)
- Removes all metadata for an object type
- void ResetContainerAccessLevels(Guid objectContainerID)
- Resets (clears) the entity access levels on a container. When no access levels are present "All Accounts" have "User"
- void SetContainerAccessLevel(Guid objectContainerID, Guid entityID, ContainerAccessLevel accessLevel)
- Sets the container access level for a given entity ID
- void SetContainerAccessLevels(Guid objectContainerID, ContainerPermissionInfo[] permissions)
- Sets all of the permissions on a container at once
- void SetCreatedByComponent(Guid objectTypeID)
- Sets the ID of the component that created an object type
- void SetObjectContainerName(Guid objectContainerID, string name)
- Changes the name of a container
- void SetObjectTemplateLayout(Guid objectTemplateID, DOMObject layout)
- Sets the layout (DOM) for an ObjectTemplate
- void SetObjectTemplateMetadata(Guid objectTemplateID, string name, ProtoValue value)
- Sets a single metadata value for an object template
- void SetObjectTemplateMetadata(Guid objectTemplateID, Byte[] metadata)
- Sets all the metadata values for an object template at once
- void SetObjectTemplateMetadata(Guid objectTemplateID, Dictionary<string, ProtoValue> metadata)
- Sets all the metadata values for an object template at once
- void SetObjectTypeDOMAttributes(Guid objectTypeID, Byte[] attributes)
- Sets the collection of DOMAttributes for a type
- void SetObjectTypeDOMAttributes(Guid objectTypeID, DOMAttributeCollection attributes)
- Sets the collection of DOMAttributes for a type
- void SetObjectTypeLayout(Guid objectTypeID, Byte[] layout)
- Sets the DOM layout snapshot for an Object Type
- void SetObjectTypeLayout(Guid objectTypeID, DOMObject layout)
- Sets the DOM layout snapshot for an Object Type
- void SetObjectTypeMetadata(Guid objectTypeID, string name, ProtoValue value)
- Sets a single metadata value for an object type
- void SetObjectTypeMetadata(Guid objectTypeID, Byte[] metadata)
- Sets all the metadata values for an object type at once
- void SetObjectTypeMetadata(Guid objectTypeID, Dictionary<string, ProtoValue> metadata)
- Sets all the metadata values for an object type at once
- void SetObjectTypeTag(Guid objectTypeID, string tag)
- Tags an object type with the specified tag
- void SetObjectTypeTags(Guid objectTypeID, string[] tags)
- void SetObjectTypeTitle(Guid objectTypeID, string title)
- Changes the title of an object type.
- void TransferObjectTemplate(Guid objectTemplateID, Guid targetContainerID)
- Transfers an ObjectTemplate to a different container
- IObjectTemplateTransaction TransferObjectTemplateTransaction(IConnectionIdentity identity, Guid objectTemplateID, Guid targetContainerID, object context = NULL)
- Begins an object template transaction to transfer (move) an object template to a different container. The transaction gives components a chance to modify or deny the action, and also evaluates container permissions, since a transaction happens in the context of a connection identity.
- void UnProtectObjectType(Guid objectTypeID)
- Marks an object type as not protected so can be overwritten by a transfer from an upstream service provider