IObjectSystem

From Virtual World Web Wiki
Jump to: navigation, search

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