Removed OpenMetaverse.Messages.CableBeach. These messages have been moved to a new library in the CableBeach repository called CableBeachMessages.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2925 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2009-06-27 23:02:49 +00:00
parent 184f2602d2
commit bcffd0cbd6
4 changed files with 0 additions and 2524 deletions

View File

@@ -1,120 +0,0 @@
/*
* Copyright (c) 2009, openmetaverse.org
* All rights reserved.
*
* - 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.
* - Neither the name of the openmetaverse.org 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 COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR 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 System;
namespace OpenMetaverse.Messages.CableBeach
{
public static class CableBeachServices
{
public const string ASSETS = "http://openmetaverse.org/services/assets";
public const string ASSET_CREATE_ASSET = "http://openmetaverse.org/services/assets/create_asset";
public const string ASSET_GET_ASSET = "http://openmetaverse.org/services/assets/get_asset";
public const string ASSET_GET_ASSET_METADATA = "http://openmetaverse.org/services/assets/get_asset_metadata";
public const string FILESYSTEM = "http://openmetaverse.org/services/filesystem";
public const string FILESYSTEM_CREATE_FILESYSTEM = "http://openmetaverse.org/services/filesystem/create_filesystem";
public const string FILESYSTEM_CREATE_OBJECT = "http://openmetaverse.org/services/filesystem/create_object";
public const string FILESYSTEM_FETCH_OBJECT = "http://openmetaverse.org/services/filesystem/fetch_object";
public const string FILESYSTEM_GET_FILESYSTEM_SKELETON = "http://openmetaverse.org/services/filesystem/get_filesystem_skeleton";
public const string FILESYSTEM_PURGE_FOLDER = "http://openmetaverse.org/services/filesystem/purge_folder";
public const string MAP = "http://openmetaverse.org/services/map";
public const string MAP_CREATE_REGION = "http://openmetaverse.org/services/map/create_region";
public const string MAP_REGION_INFO = "http://openmetaverse.org/services/map/region_info";
public const string MAP_DELETE_REGION = "http://openmetaverse.org/services/map/delete_region";
public const string MAP_FETCH_REGION = "http://openmetaverse.org/services/map/fetch_region";
public const string MAP_FETCH_REGION_DEFAULT = "http://openmetaverse.org/services/map/fetch_region_default";
public const string MAP_REGION_SEARCH = "http://openmetaverse.org/services/map/region_search";
public const string MAP_GET_REGION_COUNT = "http://openmetaverse.org/services/map/get_region_count";
public const string MAP_REGION_UPDATE = "http://openmetaverse.org/services/map/region_update";
public const string SIMULATOR = "http://openmetaverse.org/services/simulator";
public const string SIMULATOR_ENABLE_CLIENT = "http://openmetaverse.org/services/simulator/enable_client";
public const string SIMULATOR_CLOSE_AGENT_CONNECTION = "http://openmetaverse.org/services/simulator/close_agent_connection";
public const string SIMULATOR_CHILD_AGENT_UPDATE = "http://openmetaverse.org/services/simulator/child_agent_update";
public const string SIMULATOR_NEIGHBOR_UPDATE = "http://openmetaverse.org/services/simulator/neighbor_update";
}
public static class AvatarAttributes
{
// axschema.org attributes
public static readonly Uri EMAIL = new Uri("http://axschema.org/contact/email");
public static readonly Uri BIRTH_DATE = new Uri("http://axschema.org/birthDate");
public static readonly Uri LANGUAGE = new Uri("http://axschema.org/pref/language");
public static readonly Uri TIMEZONE = new Uri("http://axschema.org/pref/timezone");
public static readonly Uri FIRST_NAME = new Uri("http://axschema.org/namePerson/first");
public static readonly Uri LAST_NAME = new Uri("http://axschema.org/namePerson/last");
public static readonly Uri COMPANY = new Uri("http://axschema.org/company/name");
public static readonly Uri WEBSITE = new Uri("http://axschema.org/contact/web/default");
public static readonly Uri BIOGRAPHY = new Uri("http://axschema.org/media/biography");
// OpenSim attributes
public static readonly Uri AVATAR_ID = new Uri("http://opensimulator.org/attributes/avatarID");
public static readonly Uri DEFAULT_INVENTORY = new Uri("http://opensimulator.org/attributes/defaultInventory");
public static readonly Uri LIBRARY_INVENTORY = new Uri("http://opensimulator.org/attributes/libraryInventory");
public static readonly Uri IMAGE_ID = new Uri("http://opensimulator.org/attributes/imageID");
public static readonly Uri FIRST_LIFE_IMAGE_ID = new Uri("http://opensimulator.org/attributes/firstLifeImageID");
public static readonly Uri FIRST_LIFE_BIOGRAPHY = new Uri("http://opensimulator.org/attributes/firstLifeBiography");
public static readonly Uri CAN_DO = new Uri("http://opensimulator.org/attributes/canDo");
public static readonly Uri WANT_DO = new Uri("http://opensimulator.org/attributes/wantDo");
public static readonly Uri HOME_REGION_X = new Uri("http://opensimulator.org/attributes/homeRegionX");
public static readonly Uri HOME_REGION_Y = new Uri("http://opensimulator.org/attributes/homeRegionY");
public static readonly Uri HOME_REGION_ID = new Uri("http://opensimulator.org/attributes/homeRegionId");
public static readonly Uri HOME_POSITION = new Uri("http://opensimulator.org/attributes/homePosition");
public static readonly Uri HOME_LOOKAT = new Uri("http://opensimulator.org/attributes/homeLookat");
public static readonly Uri LAST_REGION_X = new Uri("http://opensimulator.org/attributes/lastRegionX");
public static readonly Uri LAST_REGION_Y = new Uri("http://opensimulator.org/attributes/lastRegionY");
public static readonly Uri LAST_REGION_ID = new Uri("http://opensimulator.org/attributes/lastRegionID");
public static readonly Uri LAST_POSITION = new Uri("http://opensimulator.org/attributes/lastPosition");
public static readonly Uri LAST_LOOKAT = new Uri("http://opensimulator.org/attributes/lastLookAt");
public static readonly Uri LAST_LOGIN_DATE = new Uri("http://opensimulator.org/attributes/lastLoginDate");
public static readonly Uri GOD_LEVEL = new Uri("http://opensimulator.org/attributes/godLevel");
public static readonly Uri PARTNER_ID = new Uri("http://opensimulator.org/attributes/partnerId");
public static readonly Uri USER_FLAGS = new Uri("http://opensimulator.org/attributes/userFlags");
public static readonly Uri CUSTOM_TYPE = new Uri("http://opensimulator.org/attributes/customType");
public static readonly Uri SHAPE_ITEM = new Uri("http://opensimulator.org/attributes/shapeItem");
public static readonly Uri SKIN_ITEM = new Uri("http://opensimulator.org/attributes/skinItem");
public static readonly Uri HAIR_ITEM = new Uri("http://opensimulator.org/attributes/hairItem");
public static readonly Uri EYES_ITEM = new Uri("http://opensimulator.org/attributes/eyesItem");
public static readonly Uri SHIRT_ITEM = new Uri("http://opensimulator.org/attributes/shirtItem");
public static readonly Uri PANTS_ITEM = new Uri("http://opensimulator.org/attributes/pantsItem");
public static readonly Uri SHOES_ITEM = new Uri("http://opensimulator.org/attributes/shoesItem");
public static readonly Uri SOCKS_ITEM = new Uri("http://opensimulator.org/attributes/socksItem");
public static readonly Uri JACKET_ITEM = new Uri("http://opensimulator.org/attributes/jacketItem");
public static readonly Uri GLOVES_ITEM = new Uri("http://opensimulator.org/attributes/glovesItem");
public static readonly Uri UNDERSHIRT_ITEM = new Uri("http://opensimulator.org/attributes/undershirtItem");
public static readonly Uri UNDERPANTS_ITEM = new Uri("http://opensimulator.org/attributes/underpantsItem");
public static readonly Uri SKIRT_ITEM = new Uri("http://opensimulator.org/attributes/skirtItem");
public static readonly Uri AVATAR_HEIGHT = new Uri("http://opensimulator.org/attributes/avatarHeight");
public static readonly Uri VISUAL_PARAMS = new Uri("http://opensimulator.org/attributes/visualParams");
public static readonly Uri TEXTURE_ENTRY = new Uri("http://opensimulator.org/attributes/textureEntry");
}
}

View File

@@ -1,304 +0,0 @@
using System;
using OpenMetaverse;
namespace OpenMetaverse.Messages.CableBeach
{
public static class CableBeachUtils
{
// The following section is based on the table at https://wiki.secondlife.com/wiki/Asset_System
#region SL / file extension / content-type conversions
public static string SLAssetTypeToContentType(AssetType assetType)
{
switch (assetType)
{
case AssetType.Texture:
return "image/x-j2c";
case AssetType.Sound:
return "application/ogg";
case AssetType.CallingCard:
return "application/vnd.ll.callingcard";
case AssetType.Landmark:
return "application/vnd.ll.landmark";
case AssetType.Clothing:
return "application/vnd.ll.clothing";
case AssetType.Object:
return "application/vnd.ll.primitive";
case AssetType.Notecard:
return "application/vnd.ll.notecard";
case AssetType.Folder:
return "application/vnd.ll.folder";
case AssetType.RootFolder:
return "application/vnd.ll.rootfolder";
case AssetType.LSLText:
return "application/vnd.ll.lsltext";
case AssetType.LSLBytecode:
return "application/vnd.ll.lslbyte";
case AssetType.TextureTGA:
case AssetType.ImageTGA:
return "image/tga";
case AssetType.Bodypart:
return "application/vnd.ll.bodypart";
case AssetType.TrashFolder:
return "application/vnd.ll.trashfolder";
case AssetType.SnapshotFolder:
return "application/vnd.ll.snapshotfolder";
case AssetType.LostAndFoundFolder:
return "application/vnd.ll.lostandfoundfolder";
case AssetType.SoundWAV:
return "audio/x-wav";
case AssetType.ImageJPEG:
return "image/jpeg";
case AssetType.Animation:
return "application/vnd.ll.animation";
case AssetType.Gesture:
return "application/vnd.ll.gesture";
case AssetType.Simstate:
case AssetType.Unknown:
default:
return "application/octet-stream";
}
}
public static AssetType ContentTypeToSLAssetType(string contentType)
{
switch (contentType)
{
case "image/x-j2c":
case "image/jp2":
return AssetType.Texture;
case "application/ogg":
return AssetType.Sound;
case "application/vnd.ll.callingcard":
case "application/x-metaverse-callingcard":
return AssetType.CallingCard;
case "application/vnd.ll.landmark":
case "application/x-metaverse-landmark":
return AssetType.Landmark;
case "application/vnd.ll.clothing":
case "application/x-metaverse-clothing":
return AssetType.Clothing;
case "application/vnd.ll.primitive":
case "application/x-metaverse-primitive":
return AssetType.Object;
case "application/vnd.ll.notecard":
case "application/x-metaverse-notecard":
return AssetType.Notecard;
case "application/vnd.ll.folder":
return AssetType.Folder;
case "application/vnd.ll.rootfolder":
return AssetType.RootFolder;
case "application/vnd.ll.lsltext":
case "application/x-metaverse-lsl":
return AssetType.LSLText;
case "application/vnd.ll.lslbyte":
case "application/x-metaverse-lso":
return AssetType.LSLBytecode;
case "image/tga":
// Note that AssetType.TextureTGA will be converted to AssetType.ImageTGA
return AssetType.ImageTGA;
case "application/vnd.ll.bodypart":
case "application/x-metaverse-bodypart":
return AssetType.Bodypart;
case "application/vnd.ll.trashfolder":
return AssetType.TrashFolder;
case "application/vnd.ll.snapshotfolder":
return AssetType.SnapshotFolder;
case "application/vnd.ll.lostandfoundfolder":
return AssetType.LostAndFoundFolder;
case "audio/x-wav":
return AssetType.SoundWAV;
case "image/jpeg":
return AssetType.ImageJPEG;
case "application/vnd.ll.animation":
case "application/x-metaverse-animation":
return AssetType.Animation;
case "application/vnd.ll.gesture":
case "application/x-metaverse-gesture":
return AssetType.Gesture;
case "application/x-metaverse-simstate":
return AssetType.Simstate;
case "application/octet-stream":
default:
return AssetType.Unknown;
}
}
public static InventoryType ContentTypeToSLInvType(string contentType)
{
switch (contentType)
{
case "image/x-j2c":
case "image/jp2":
case "image/tga":
case "image/jpeg":
return InventoryType.Texture;
case "application/ogg":
case "audio/x-wav":
return InventoryType.Sound;
case "application/vnd.ll.callingcard":
case "application/x-metaverse-callingcard":
return InventoryType.CallingCard;
case "application/vnd.ll.landmark":
case "application/x-metaverse-landmark":
return InventoryType.Landmark;
case "application/vnd.ll.clothing":
case "application/x-metaverse-clothing":
case "application/vnd.ll.bodypart":
case "application/x-metaverse-bodypart":
return InventoryType.Wearable;
case "application/vnd.ll.primitive":
case "application/x-metaverse-primitive":
return InventoryType.Object;
case "application/vnd.ll.notecard":
case "application/x-metaverse-notecard":
return InventoryType.Notecard;
case "application/vnd.ll.folder":
return InventoryType.Folder;
case "application/vnd.ll.rootfolder":
return InventoryType.RootCategory;
case "application/vnd.ll.lsltext":
case "application/x-metaverse-lsl":
case "application/vnd.ll.lslbyte":
case "application/x-metaverse-lso":
return InventoryType.LSL;
case "application/vnd.ll.trashfolder":
case "application/vnd.ll.snapshotfolder":
case "application/vnd.ll.lostandfoundfolder":
return InventoryType.Folder;
case "application/vnd.ll.animation":
case "application/x-metaverse-animation":
return InventoryType.Animation;
case "application/vnd.ll.gesture":
case "application/x-metaverse-gesture":
return InventoryType.Gesture;
case "application/x-metaverse-simstate":
return InventoryType.Snapshot;
case "application/octet-stream":
default:
return InventoryType.Unknown;
}
}
public static string ContentTypeToExtension(string contentType)
{
switch (contentType)
{
case "image/x-j2c":
case "image/jp2":
return "texture";
case "application/ogg":
return "ogg";
case "application/vnd.ll.callingcard":
case "application/x-metaverse-callingcard":
return "callingcard";
case "application/vnd.ll.landmark":
case "application/x-metaverse-landmark":
return "landmark";
case "application/vnd.ll.clothing":
case "application/x-metaverse-clothing":
return "clothing";
case "application/vnd.ll.primitive":
case "application/x-metaverse-primitive":
return "primitive";
case "application/vnd.ll.notecard":
case "application/x-metaverse-notecard":
return "notecard";
case "application/vnd.ll.folder":
return "folder";
case "application/vnd.ll.rootfolder":
return "rootfolder";
case "application/vnd.ll.lsltext":
case "application/x-metaverse-lsl":
return "lsltext";
case "application/vnd.ll.lslbyte":
case "application/x-metaverse-lso":
return "lslbyte";
case "image/tga":
return "tga";
case "application/vnd.ll.bodypart":
case "application/x-metaverse-bodypart":
return "bodypart";
case "application/vnd.ll.trashfolder":
return "trashfolder";
case "application/vnd.ll.snapshotfolder":
return "snapshotfolder";
case "application/vnd.ll.lostandfoundfolder":
return "lostandfoundfolder";
case "audio/x-wav":
return "wav";
case "image/jpeg":
return "jpg";
case "application/vnd.ll.animation":
case "application/x-metaverse-animation":
return "animatn";
case "application/vnd.ll.gesture":
case "application/x-metaverse-gesture":
return "gesture";
case "application/x-metaverse-simstate":
return "simstate";
case "application/octet-stream":
default:
return "binary";
}
}
public static string ExtensionToContentType(string extension)
{
switch (extension)
{
case "texture":
return "image/x-j2c";
case "ogg":
return "application/ogg";
case "callingcard":
return "application/vnd.ll.callingcard";
case "landmark":
return "application/vnd.ll.landmark";
case "clothing":
return "application/vnd.ll.clothing";
case "primitive":
return "application/vnd.ll.primitive";
case "notecard":
return "application/vnd.ll.notecard";
case "folder":
return "application/vnd.ll.folder";
case "rootfolder":
return "application/vnd.ll.rootfolder";
case "lsltext":
return "application/vnd.ll.lsltext";
case "lslbyte":
return "application/vnd.ll.lslbyte";
case "tga":
return "image/tga";
case "bodypart":
return "application/vnd.ll.bodypart";
case "trashfolder":
return "application/vnd.ll.trashfolder";
case "snapshotfolder":
return "application/vnd.ll.snapshotfolder";
case "lostandfoundfolder":
return "application/vnd.ll.lostandfoundfolder";
case "wav":
return "audio/x-wav";
case "jpg":
return "image/jpeg";
case "animatn":
return "application/vnd.ll.animation";
case "gesture":
return "application/vnd.ll.gesture";
case "binary":
default:
return "application/octet-stream";
}
}
#endregion SL / file extension / content-type conversions
public static UUID IdentityToUUID(Uri identity)
{
return new UUID((OpenMetaverse.Utils.MD5(System.Text.Encoding.UTF8.GetBytes(identity.ToString()))), 0);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,628 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
// World Server
////////////////////////////////////////////////////////////////////////////////
&region_info =
{
name: string,
id: uuid,
handle: binary,
online: boolean,
ip: binary,
port: integer,
map_texture_id: uuid,
owner: uri,
region_flags: integer,
agent_count: integer,
capabilities: { $: uri },
water_height: real,
default_position: [ real, real, real ],
default_look_at: [ real, real, real ]
}
%%create_region
-> region_info
<-
{
success: boolean,
message: string
}
%%delete_region
->
{
id: uuid
}
<-
{
success: boolean,
message: string
}
%%region_update
->
{
region: region_info
}
<-
{
success: boolean,
message: string
}
%%fetch_region
&fetch_region_query = { id: uuid }
&fetch_region_query = { x: integer, y: integer, nearest: boolean }
&fetch_region_query = { name: string }
-> fetch_region_query
<- region_info
%%fetch_default_region
<- region_info
%%region_search
->
{
query: string
}
<-
{
regions: [ region_info, ... ]
}
%%get_region_count
<-
{
count: integer
}
////////////////////////////////////////////////////////////////////////////////
// Identity
////////////////////////////////////////////////////////////////////////////////
// This message should be ignored if it originates from anywhere other than the
// identity server for the given identity
&identity_attribute = string
&identity_attribute = integer
&identity_attribute = date
&identity_attribute = uuid
&identity_attribute = uri
&identity_attribute = [ real, real, real ]
%%request_capabilities
->
{
identity: uri,
capabilities: [ uri, ... ]
}
<-
{
capabilities: { $: uri }
}
%%authenticate_ll
->
{
first: string,
last: string,
md5_pass: string,
services: { $: [ string, ... ] }
}
<-
{
success: boolean,
message: string,
identity: uri,
attributes: { $: identity_attribute },
services: { $: { $: uri } }
}
%%authenticate_openid
->
{
identity: uri,
# FIXME: Need whatever piece of data OpenID uses to confirm auth
services: { $: [ string, ... ] }
}
<-
{
success: boolean,
message: string,
identity: uri,
attributes: { $: identity_attribute },
services: { $: { $: uri } }
}
////////////////////////////////////////////////////////////////////////////////
// Assets
////////////////////////////////////////////////////////////////////////////////
&primitive =
{
attachment_position: [ real, real, real ],
attachment_rotation: [ real, real, real, real ],
before_attachment_rotation: [ real, real, real, real ],
name: string,
perms_base: integer,
perms_owner: integer,
perms_group: integer,
perms_everyone: integer,
perms_next_owner: integer,
creator_identity: string,
owner_identity: string,
last_owner_identity: string,
group_identity: string,
last_attachment_point: integer,
link_number: integer,
local_id: integer,
position: [ real, real, real ],
rotation: [ real, real, real, real ],
velocity: [ real, real, real ],
angular_velocity: [ real, real, real ],
scale: [ real, real, real ],
sit_offset: [ real, real, real ],
sit_rotation: [ real, real, real, real ],
camera_eye_offset: [ real, real, real ],
camera_at_offset: [ real, real, real ],
state: integer,
material: integer,
sound_id: uuid,
sound_gain: real,
sound_radius: real,
sound_flags: integer,
text_color: [ real, real, real, real ],
selected: boolean,
selector_id: uuid,
use_physics: boolean,
phantom: boolean,
remote_script_access_pin: integer,
volume_detect: boolean,
die_at_edge: boolean,
return_at_edge: boolean,
temporary: boolean,
sandbox: boolean,
rez_time: date,
sale_price: integer,
sale_type: integer,
flexible:
{
softness: integer,
gravity: real,
drag: real,
wind: real,
tension: real,
force: [ real, real, real ]
},
light:
{
color: [ real, real, real, real ],
intensity: real,
radius: real,
cutoff: real,
falloff: real
},
sculpt:
{
sculpt_texture: uuid,
sculpt_type: integer
},
particles:
{
flags: integer,
pattern: integer,
max_age: real,
start_age: real,
inner_angle: real,
outer_angle: real,
burst_rate: real,
burst_radius: real,
burst_speed_min: real,
burst_speed_max: real,
burst_particle_count: integer,
angular_velocity: [ real, real, real ],
acceleration: [ real, real, real ],
texture_id: uuid,
target_id: uuid,
data_flags: integer,
particle_max_age: real,
particle_start_color: [ real, real, real, real ],
particle_end_color: [ real, real, real, real ],
particle_start_scale_x: real,
particle_start_scale_y: real,
particle_end_scale_x: real,
particle_end_scale_y: real
},
shape:
{
path_curve: integer,
path_begin: real,
path_end: real,
path_scale_x: real,
path_scale_y: real,
path_shear_x: real,
path_shear_y: real,
path_twist: real,
path_twist_begin: real,
path_radius_offset: real,
path_taper_x: real,
path_taper_y: real,
path_revolutions: real,
path_skew: real,
profile_curve: integer,
profile_begin: real,
profile_end: real,
profile_hollow: real
}
faces:
[
{
face_index: integer,
image_id: uuid,
color: [ real, real, real, real ],
scale_s: real,
scale_t: real,
offset_s: real,
offset_t: real,
imagerot: real,
bump: integer,
fullbright: boolean,
media_flags: integer
},
...
],
inventory:
{
serial: integer,
items:
[
{
id: uuid,
parent_id: uuid,
name: string,
owner_identity: string,
creator_identity: string,
group_identity: string,
asset_id: uuid,
content_type: string,
description: string,
group_owned: boolean,
perms_base: binary,
perms_everyone: binary,
perms_group: binary,
perms_next: binary,
perms_owner: binary,
sale_price: integer,
sale_type: integer,
flags: integer,
creation_date: integer,
permission_granter: uuid,
granted_permissions: integer
},
...
]
}
}
%%get_asset_metadata
&metadata =
{
id: uuid,
name: string,
description: string,
creation_date: date,
content_type: string,
sha256: binary,
temporary: boolean,
methods: { $: uri }
}
&metadata =
{
id: uuid,
name: string,
description: string,
creation_date: date,
content_type: string,
sha256: binary,
temporary: boolean,
methods: { $: uri }
components: integer,
layer_ends: [ integer ]
}
<- metadata
%%create_asset
&create =
{
metadata: metadata,
base64_data: string
}
&create =
{
metadata: metadata,
base64_data: string
}
-> create
<-
{
asset_uri: uri,
asset_id: uuid
}
%%delete_asset
->
{
id: uuid
}
<-
{
success: boolean,
message: string
}
////////////////////////////////////////////////////////////////////////////////
// Inventory
////////////////////////////////////////////////////////////////////////////////
&inventory_object =
{
id: uuid,
parent_id: uuid,
name: string,
owner_id: uuid,
asset_id: uuid,
content_type: string,
creator_id: uuid,
group_id: uuid,
description: string,
group_owned: boolean,
perms_base: binary,
perms_everyone: binary,
perms_group: binary,
perms_next: binary,
perms_owner: binary,
sale_price: integer,
sale_type: integer,
flags: integer,
creation_date: integer
}
&inventory_object =
{
id: uuid,
parent_id: uuid,
name: string,
owner_id: uuid,
preferred_content_type: string,
version: integer,
children: [ inventory_object, ... ]
}
%%create_inventory
->
{
identity: uri,
name: string
}
<-
{
root_folder_id: uuid
}
%%create_object
->
{
identity: uri,
object: inventory_object
}
<-
{
success: boolean,
message: string,
object: inventory_object
}
%%fetch_object
->
{
identity: uri,
object_id: uuid
}
<-
{
success: boolean,
message: string,
object: inventory_object
}
%%purge_folder
->
{
identity: uri,
folder_id: uuid
}
<-
{
success: boolean,
message: string
}
%%get_inventory_skeleton
->
{
identity: uri
}
<-
{
folders:
[
{
name: string,
parent_id: uuid,
version: integer,
preferred_content_type: string,
folder_id: uuid
},
...
]
}
%%get_active_gestures
->
{
identity: uri
}
<-
{
gestures:
[
{
item_id: uuid,
asset_id: uuid
},
...
]
}
////////////////////////////////////////////////////////////////////////////////
// Simulators
////////////////////////////////////////////////////////////////////////////////
%%enable_client
->
{
identity: uri,
agent_id: uuid,
session_id: uuid,
secure_session_id: uuid,
circuit_code: integer,
region_handle: binary,
child_agent: boolean,
ip: binary,
client_version: string,
attributes: { },
services: { $: { $: uri } },
callback_uri: uri
}
<-
{
success: boolean,
message: string,
seed_capability: uri,
}
%%enable_client_complete
->
{
agent_id: uuid
}
%%close_agent_connection
->
{
agent_id: uuid
}
%%neighbor_update
->
{
neighbors: [ region_info, ... ]
}
%%child_agent_update
->
{
agent_id: uuid,
session_id: uuid,
position: [ real, real, real ],
velocity: [ real, real, real ],
region_handle: binary,
cam_position: [ real, real, real ],
cam_at_axis: [ real, real, real ],
cam_left_axis: [ real, real, real ],
cam_up_axis: [ real, real, real ]
}
%%pass_object
->
{
id: uuid
}
<-
{
success: boolean,
message: string
}
%%fetch_terrain
->
{
blocks:
[
{
x: integer,
y: integer
}
]
}
<-
{
blocks:
[
{
x: integer,
y: integer,
data: binary
}
]
}